常见配置
1.前端控制器(DispatcherServlet):拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据某某规则分发到目标Controller来处理。
DispatcherServlet(servlet-name、servlet-class、init-param、param-name(contextConfigLocation)、param-value)
在DispatcherServlet的初始化过程中,框架会在web应用的 WEB-INF文件夹下寻找名为[servlet-name]-servlet.xml 的配置文件,生成文件中定义的bean。
2.部署applicationContext的xml文件:contextConfigLocation(context-param下的param-name)。
3.监听器listener-class(ContextLoaderListener)
ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。
4.过滤器filter-name(CharacterEncodingFilter):Spring 框架解决字符串编码问题
具体的配置
1)配置filter过滤器
配置节点详解:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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_2_5.xsd">
<!-- 解决Spring框架中从页面传来的字符串的中文乱码问题Spring框架给我们提供过滤器CharacterEncodingFilter 这个过滤器就是针对于每次浏览器请求进行过滤的,然后再其之上添加了父类没有的功能即处理字符编码。 其中encoding用来设置编码格式,forceEncoding用来设置是否理会 request.getCharacterEncoding()方法,设置为true则强制覆盖之前的编码格式,根据需要设置。-->
<filter>
<filter-name>characterEncodingFilter</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> //true:无论request是否指定了字符集,都使用encoding;false:如果request已指定一个字符集,则不使用encoding
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter> : 指定一个过滤器
<filter-name> : 为过滤器指定一个名字,该元素不能为空
<filter-class> : 指定过滤器的完整的限定类名
<init-param> : 为过滤器指定初始化参数
<param-name> : 指定参数的名字
<param-value> : 指定参数的值
<filter-mapping> : 用于设置一个Filter所负责拦截的资源
<filter-name> : 用于设置filter的注册名称,该值必须是在<filter>元素中声明过的过滤器名称
<url-pattern> : 设置filter所拦截的请求路径(过滤器关联的url样式)
2)Servlet配置
配置节点详解:
<servlet>
<servlet-name>DispatcherServlet</servlet-name> // 指定一个servlet名称
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> //指定servlet的类全路径
<init-param>
<param-name>contextConfigLocation</param-name> //初始化参数名
<param-value>classpath:spring/dispatcher-servlet.xml</param-value> //初始化参数值
</init-param>
<load-on-startup>1</load-on-startup> //指定当web容器启动时,加载servlet的顺序
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name> //servlet名称
<url-pattern>/</url-pattern> //映射路径
</servlet-mapping>
1)使用SpringMVC配置DispatcherServlet是第一步,DispatcherServlet是一个Servlet,,所以可以配置多个DispatcherServlet
2)DispatcherServlet是前置控制器,配置在web.xml文件中。拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据某某规则分发到目标Controller(我们写的Action)来处理。
3) <servlet> : 在DispatcherServlet的初始化过程中,框架会在web应用的 WEB-INF文件夹下寻找名为[servlet-name]-servlet.xml 的配置文件,生成文件中定义的bean。
4) <servlet-name> : servlet名称
5) <servlet-class> : servlet类全路径
6) <param-name> : 初始化参数名
7) <param-value> : 初始化参数值
8) <load-on-startup> : 指定当Web应用启动时,加载Servlet的顺序
9) <url-pattern> : 映射路
3)指定欢迎页面配置
<welcome-file-list>
<welcome-file>hello.jsp</welcome-file> //指定欢迎页面
</welcome-file-list>
4)监听器配置
<listener>
<listerner-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
5)会话超时配置
<session-config>
<session-timeout>100</session-timeout>
</session-config>
6)配置错误页面
1)通过错误码来配置error-page
<!--配置了当系统发生404错误时,跳转到错误处理页面NotFound.jsp-->
<error-page>
<error-code>404</error-code>
<location>/NotFound.jsp</location>
</error-page>
2)通过异常的类型来配置error-page
<!--配置了当系统发生java.lang.NullException(即空指针异常)时,跳转到错误处理页面error.jsp-->
<error-page>
<exception-type>java.lang.NullException</exception-type>
<location>/error.jsp</location>
</error-page>
最后配置一个简单的web.xml即可实现SpringMVC框架
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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_2_5.xsd">
<welcome-file-list>
<welcome-file>hello.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
有需要补充的还需各位阅读的大牛们给点建议!
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!另外您也可以选择【关注我】,可以很方便找到我!
本文版权归作者和博客园共有,来源网址:https://www.cnblogs.com/欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利!