一、<mvc:view-controller path=""/>标签的作用
工程WEB-INF目录下面的JSP页面,我们知道是不能直接使用URL访问到。需要通过控制器转发映射的方式进行访问,对应一些我们不需要其他操作的JSP页面,我们可以使用<mvc:view-controller path=""/>来配置,这样就可以不用再控制器中再去做转发映射,从而减轻我们的部分开发工作量。
二、 没有使用<mvc:view-controller path=""/>
一般我们需要配置一个spring配置文件中配置一个视图解析器
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/"/> <property name="suffix" value=".jsp"></property> </bean>
然后在配置一个控制器
@Controller public class UserController { @RequestMapping("/toSuccess") public String update(){ return "success"; } }
使用http://localhost:8080/springmvc-1/toSuccess 可以正确得到页面
三、使用<mvc:view-controller path=""/>
在springmvc配置文件中配置:
<mvc:view-controller path="/login/success"/>
注:
path是JSP页面相对WEB-INF的路径。
我们使用http://localhost:8080/springmvc-1/login/success来访问,同样可以得到正确页面
也就是说当我们配置了<mvc:view-controller path="/login/success"/>后,原来通过控制器来转发映射的url就无法访问到页面了。通常我们在实际开发中会在配置文件中增加如下配置,解决这个问题。配置后就也可以通过控制器进行转发映射访问,这样就保证我们在开发过程中对出现的各种情况页面进行正常跳转。
原文来自 上海尚学堂java学员,转载请注明出处