配置
-
在
web.xml
配置前端控制器 -
如果不配置 contextConfigLocation 则会去/WEB-INF/路径下查找 servlet 的 “name” -servlet.xml
<!-- 前端控制器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!-- 如果不配置核心配置文件,就会默认去找/WEB-INF/springMvc-servlet.xml -->
<!-- 修改配置文件所在路径 -->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<!-- 配置tomcat启动就加载优先级,如果不配,则是在第一次访问的时间进行加载 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
- 拦截表达式
表达式 | 说明 |
---|---|
*.action | 拦截已.action结尾的URL |
/ | 截所有,不包括.jsp文件结尾 |
/* | 拦截所有 包括.jsp文件结尾 |
SpringMvcs核心配置文件
- 如果没有配置映射器和适配器, 默认每个请求都回去
DispatcherServlet.properties
这个文件找对应的处理器和适配器来执行,这样会大大的降低系统的访问速度,
所以我们设置好对应的映射器和适配器,这样就不会去找默认的配置,这样可以提高系统的访问效率- 注: 但是我们也不会这样进行配置, 因为这样配置太固定,如果springMVC进行版本更新,则需要更新配置文件,可以通过配置一个标签来解决这个问题
注解驱动
-
它的作用的去找最新版本的处理器和适配器,
-
和注解和驱动没毛的关系,配了这个就不需要配下面的映射器和适配器了
<mvc:annotation-driven />
-
注解映射器
- 对类中标记@ResquestMapping的方法进行映射,根据ResquestMapping定义的url匹配ResquestMapping标记的方法,
匹配成功返回HandlerMethod对象给前端控制器,HandlerMethod对象中封装url对应的方法Method。
- 对类中标记@ResquestMapping的方法进行映射,根据ResquestMapping定义的url匹配ResquestMapping标记的方法,
<!--新版本注解映射器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<!--老版本注解映射器 -->
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
- 注解适配器:注解式处理器适配器,对标记@ResquestMapping的方法进行适配。
<!--新版本注解适配器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
<!--老版本注解适配器 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
试图解析器
-
配置视图解析:
- 纯属是为了开发方便
InternalResourceViewResolver:支持JSP视图解析
- 纯属是为了开发方便
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- viewClass:JstlView表示JSP模板页面需要使用JSTL标签库,所以classpath中必须包含jstl的相关jar 包。此属性可以不设置,默认为JstlView。-->
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<!-- prefix:查找视图页面的前缀-->
<property name="prefix" value="/" />
<!-- suffix :查找视图页面的后缀-->
<property name="suffix" value=".jsp" />
</bean>