一般来说,我们配置url映射和转发是下面这样的:
但是这样会出现大量的重复代码,比如访问/WEB-INF/views/ 中的xxx.jsp文件,就需要在每一个方法中的返回值中添加 /WEB-INF/views/xxx.jsp,现在可以在spring.xml文件中配置默认视图解析器,通过设置固定的前缀和后缀来减少逻辑层转发的 jsp 映射代码。
spring.xml文件中配置第三方Bean:
<!--配置controller中方法的返回值的前后缀,简化逻辑视图名称
比如 return "/WEB-INF/views/ok.jsp
前缀为 /WEB-INF/views
后缀为 .jsp
因为我们在访问页面的时候变化的更多是/WEB-INF/views/xxx.jsp 中的 xxx
-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" name="viewResolver"><!--默认视图解析器-->
<!--前缀:return "/WEB-INF/views/ok.jsp" 中的/WEB-INF/views 前面的部分-->
<property name="prefix" value="/WEB-INF/views/"></property>
<!--配置后缀-->
<property name="suffix" value=".jsp"></property>
</bean>
此时逻辑层中转发映射的返回值就可以是:
因为配置了前后缀的原因,其实springmvc在转发的时候会加上前后缀;
此时访问res1页没有问题。
ok.jsp页面: