刚接触spring,照着书上敲了个简单的web mvc项目。大致意思是在浏览器输入地址localhost:8080/Ch3_1/hello.mvc后,后台根据请求名称hello调用相应的控制器,然后跳转到视图localhost:8080/Ch3_1/WEB-INF/pages/helloReader.jsp
在使用了spring框架的setViewName方法指定视图名称并返回后,奇怪但是并没有跳转到指定页面,而是跳转到了localhost:8080/Ch3_1/WEB-INF/pages/hello.jsp,由于实际没有这个页面,所以报了404错误。
代码如下:
控制器类:
@Controller
public class HelloWorldController {
@RequestMapping(value = "/hello")
public ModelAndView sayHello(){
ModelAndView mv = new ModelAndView();
mv.setViewName("helloReader"); //按理应该跳转到helloReader.jsp
mv.addObject("message","Hello Readder!");
return mv;
//return "helloReader";
}
}
springmvc-servlet.XML:
web.xml
springmvc
org.springframework.web.servlet.DispatcherServlet
1
springmvc
*.mvc
不知道是哪里出了问题?
相关环境如下:
找了半天原因原来是ModelAndVeiw 类的包引错了。
应该引入的是: org.springframework.web.servlet.ModelAndView;
而之前引入的是 org.springframework.web.portlet.ModelAndView
不过这个portlet是什么东东呢。。