<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>标签我们后面再讲解