<mvc:view-controller path=""/>标签的作用

  对应WEB-INF目录下面的JSP页面,我们知道是不能直接使用URL访问到。需要通过转发的方式,而我们一般都是在控制器中做转发映射,对应一些我们不需要其他操作的JSP页面,我们可以使用<mvc:view-controller path=""/>来配置,这样就可以不用再控制器中再去做转发映射

 

没有使用<mvc:view-controller path=""/>

  看看success.jsp页面的目录结果

  一般我们需要配置一个spring配置文件中配置一个视图解析器

1 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
2     <property name="prefix" value="/WEB-INF/"/>
3     <property name="suffix" value=".jsp"></property>
4 </bean>

  然后在配置一个控制器

1 @Controller
2 public class UserController {
3 
4     @RequestMapping("/toSuccess")
5     public String update(){
6         return "success";
7     }
8     
9 }

  这里使用http://localhost:8080/springmvc-1/toSuccess 可以正确得到页面

 

 

使用<mvc:view-controller path=""/>

  在springmvc配置文件中配置

1 <mvc:view-controller path="/login/success"/>

  path是JSP页面相对WEB-INF的路径

  下面我们使用http://localhost:8080/springmvc-1/login/success来访问,同样可以得到正确页面

  

  下面我们再次访问之前的那个url:http://localhost:8080/springmvc-1/toSuccess。结果出现404错误

 

  

  也就是说我们配置了<mvc:view-controller path="/login/success"/>后原来通过控制器来映射的url无法访问到页面了。

 

  其实还用一种办法。我们实际开发中通常要在spring配置文件中添加一句代码

1 <mvc:annotation-driven></mvc:annotation-driven>

  添加后我们在才访问http://localhost:8080/springmvc-1/toSuccess

  页面就正常。

  对应<mvc:annotation-driven>标签我们后面再讲解

 posted on 2016-07-03 13:18  Just_Do  阅读(17031)  评论(0编辑  收藏  举报