1.表头
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
</web-app>
2.我们创建一个servletcontext。这个servletcontext会在web项目完全开启前开启,因此我们可以把连接数据库等操作放到这里。
web创建一个ServletContext后读取<context-param></context-param>做键值对,然后调用<listener>监听
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-mybatis.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
3.在这里我们配置dispatcherServlet,主要作用为通过HandlerMapping,将请求映射到处理器(返回一个HandlerExecutionChain,它包括一个处理器、多个HandlerInterceptor拦截器);通过HandlerAdapter支持多种类型的处理器(HandlerExecutionChain中的处理器);通过ViewResolver解析逻辑视图名到具体视图实现等功能。
需要注意的是<url-pattern>/</url-pattern>中我们需要使用的是/或者.do但是不能用/*,同时使用/的时候我们需要对静态资源将进行额外的配置。
url-pattern的匹配规则可见https://www.cnblogs.com/canger/p/6084846.html
<servlet>
<servlet-name>bookServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/mvc-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>bookServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
4.配置一个简单的编码过滤器
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>