前记:这是很早之前自学学习spingMvc时的笔记,内容比较基础,适合新手,内容基本是来自网略,如有雷同,敬请谅解!
配置前端控制器(dispatchServlet)
1.1 一般配置
在web.xml中配置
<!--DispatchServlet,他默认自动加载/WEB-INF/simpleSpringMVC-servlet.xml
(即<servlet-name>-servlet.xml)的Spring配置文件,启动web层的Spring容器。
-->
<!--需要提醒的是,一个web.xml可以配置多个DispatchServlet,
通过其<servlet-mapping>的配置,让每一个DispatchServlet处理不同的请求
-->
<servlet>
<servlet-name>springMVC<servlet-name> <servlet-class>org.springframework.web.servlet.DispatchServlet</servlet-class>
<!--一般会配置加载的配置文件路径 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spring/springmvc.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>simpleSpringMVC</servlet-name>
<!--<url-pattern>的配置一般有两种
1、配置成*.do或*.action,所有请求的url扩展名为.do或.action由springmvc解析,此种方法常用
2、配置成 /,所有请求全部由springmvc解析,此种方式可以实现 RESTful方式,需要特殊处理对静态文件的解析不能由springmvc解析
-->
<url-pattern>*.action</url-pattern>
</servlet-mapping>
1.2 <init-param>配置
<servlet>的<init-param>配置。
namespace:DispatchServlet对应的命名空间,默认是<servlet-name>-servlet,用以构造Spring配置文件的路径。现实指定该属性后,配置文件对应的路径为:WEB-INF/<namespace>.xml而非WEB-INF/<servlet-name>-servlet.xml。如果这里把namespase改成了simpleSpringMVC,则对应的Spring的配置文件为WEB-INF/simpleSpringMVC.xml。
contextConfigLocation:如果DispatchServlet上下文对应的spring配置文件有多个,则可使用该属性按照spring资源路径的方式指定。
publishContext:boolean类型属性,默认值为true。DispatchServlet根据该属性决定是否将WebApplicationContext发布到ServletContext的属性列表中,以便调用可以借道ServletContext找到WebApplicationContext实例,对应的属性名为DispatchServlet#getServletContextAttributeName()返回的值。
publishEvents:boolean类型属性。当DispatchServlet处理完一个请求后,是否需要向容器发布一个ServletRequestHandledEvent事件,默认为true。如果容器中没有任何事件监听器,可以将此属性设置为false,以便提高运行性能。