MyBatis参照:MyBatis
web.xml的配置 是整个项目中最重要的配置文件
Servlet3.0中已经支持注解配置方式,在3.0以前每个Servlet都必须要在web.xml中配置Servlet及其映射关系
在Spring框架中就不用了,因为Spring是依赖注入(Dependency Injection)的也叫控制反转(Inversion Of Control)
但是也要配置一个重要的Servlet,即前端控制器(DispatcherServlet),配置方式与普通的Servlet相似
<!-- 配置前端控制器 -->
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!-- ContextConfigLocation配置springmvc加载的配置文件、适配器、处理映射器等 -->
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/classes/spring/springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
需要注意的是
在 servlet-mapping 中,url如果是 .action ,前端控制器就只会拦截以 .action 结尾的请求,并不会理会静态的文件,对静态页面的控制就要通过其它的手段
如果以 / 作为 url 的话就会拦截所有的请求,包括静态页面的请求,这样的话就可以拦截任何想要处理的请求,但会触发一个问题
如果拦截了所有的请求,如果不在拦截器中作出响应的处理,那么所有的静态JS,CSS以及页面中用到的图片就会访问不到造成页面无法正常显示,但可通过静态资源的配置来解决这个问题
配置Spring容器
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mybatis.xml</param-value>
</context-param>
为Spring配置一个监听器
org.springframework.web.util.IntrospectorCleanupListener