小结
通过入门程序,我们认识了 SpringMVC 的四大核心:
前端控制器(DispatcherServlet)、处理器映射器(HandlerMapping)、处理器适配器(HandlerAdapter)、视图解析器(ViewResolver)
一、前端控制器配置:
第一种:*.action,访问以.action结尾的由DispatcherServlet进行解析
第二种: /,所有访问地址都由DispatcherServlet进行解析,但是对于静态文件的解析,我们需要配置不让DispatcherServlet进行解析
使用此种方式可以实现 Restful 风格的URL
二、处理器映射器:
非注解(了解):可以规范代码开发,极少数公司使用,不便于敏捷性开发
注解的(掌握):对标记有 @Controller 的类中标识有 @RequestMapping 的方法进行映射。在 @RequestMapping 里面定义与方法名映射的URL。使用注解的映射器,不用在 xml 中配置 URL 和 Handler 的映射关系
三、处理器适配器:
非注解(了解):
注解的(掌握):注解的 处理器适配器 必须 和注解的 处理器映射器 配对使用。即不能使用 注解的适配器(映射器) 去和 非注解的 处理器映射器(适配器) 进行配对。
<mvc:annotation-driven></mvc:annotation-driven>可以代替下边的配置:
<!-- 注解的映射器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />
<!-- 注解的适配器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" />
四、视图解析器配置前缀和后缀:
<!-- 视图解析器 解析jsp页面,默认使用jstl标签,classpath下得有jstl的包 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 此项可以不配置,因为默认就是加载jstlView -->
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<!-- 配置jsp路径的前缀 -->
<property name="prefix" value="/WEB-INF/jsp/users" />
<!-- 配置jsp路径的后缀 -->
<property name="suffix" value=".jsp" />
</bean>
Handler中就不需要在 ModelAndView 中指定前缀和后缀