SpringMVC之URL处理器、视图解析器
1 URL处理器
1.1 BeanNameUrlHandlerMapping
BeanNameUrlHandlerMapping:它将收到的HTTP请求映射到bean的名称(这些bean需要在web应用上下文中定义)
<!-- 声明bean的name,因为使用了BeanNameUrlHandlerMapping,所以不是定义id,用户调用的URL将通过bean的name匹配 -->
<bean name="/first.action" class="cn.itcast.action.FirstAction" />
<!--
声明 BeanNameUrlHandlerMapping,使用名称映射
-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
1.2 SimpleUrlHandlerMapping
SimpleUrlHandlerMapping:它将收到的HTTP请求映射到bean的ID(这些bean需要在web应用上下文中定义)
<!-- 配置URL与ACTION对象ID进行映射 ,<prop key="second.action">second</prop>,其中key匹配url信息,value为action的ID
-->
<bean id="first" class="cn.itcast.action.FirstAction" />
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="first.action">first</prop>
</props>
</property>
</bean>
2 视图解析器
2.1 UrlBasedViewResolver
<!-- 支持servlet与jsp视图解析1,可进行进一步处理,此步可省略, -->
<!-- viewClass不同的配置,可以解析不同的资源-->
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<!--
<property name="prefix" value="/jsp/"/>
<property name="suffix" value=".jsp"/>
-->
</bean>
2.2 InternalResourceViewResolver
作为UrlBasedViewResolver的子类, 它支持页面jstl处理.
<!-- 支持servlet与jsp视图解析,可进行进一步处理,此步可省略, -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 可以加前缀或后缀 -->
<property name="prefix" value="/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
2.3 forward:前缀
return new ModelAndView("/jsp/first.jsp",map);
return new ModelAndView("forward:/jsp/first.jsp",map);
//控制器采用注解,方法在返回字符串时,可以使用:
return "forward:/jsp/first.jsp";
2.4 Redirect:前缀
return new ModelAndView("redirect:/jsp/first.jsp",map);
//控制器采用注解,方法在返回字符串时,可以使用
return "redirect:/jsp/first.jsp";