常用的web.xml的配置

1、Spring 框架解决字符串编码问题:过滤器 CharacterEncodingFilter(filter-name) 
2、在web.xml配置监听器ContextLoaderListener(listener-class) 
ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。 
3、部署applicationContext的xml文件:contextConfigLocation(context-param下的param-name) 
4、DispatcherServlet是前置控制器,配置在web.xml文件中。拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据某某规则分发到目标Controller来处理。 
DispatcherServlet(servlet-name、servlet-class、init-param、param-name(contextConfigLocation)、param-value) 
在DispatcherServlet的初始化过程中,框架会在web应用的 WEB-INF文件夹下寻找名为[servlet-name]-servlet.xml 的配置文件,生成文件中定义的bean

(1) 配置filter过滤器

 1 <?xml version="1.0" encoding="UTF-8"?>
2 <web-app version="2.5"
3 xmlns="http://java.sun.com/xml/ns/javaee"
4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
6 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
7
8 <!-- 解决Spring框架中从页面传来的字符串的中文乱码问题
9 Spring框架给我们提供过滤器CharacterEncodingFilter
10 这个过滤器就是针对于每次浏览器请求进行过滤的,然后再其之上添加了父类没有的功能即处理字符编码。
11 其中encoding用来设置编码格式,forceEncoding用来设置是否理会 request.getCharacterEncoding()方法,设置为true则强制覆盖之前的编码格式,根据需要设置。-->
12 <filter>
13 <filter-name>characterEncodingFilter</filter-name>
14 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
15 <init-param>
16 <param-name>encoding</param-name> // 用来指定一个具体的字符集
17 <param-value>UTF-8</param-value>
18 </init-param>
19 <init-param>
20 <param-name>forceEncoding</param-name> //true:无论request是否指定了字符集,都使用encoding;false:如果request已指定一个字符集,则不使用encoding
21 <param-value>true</param-value>
22 </init-param>
23 </filter>
24 <filter-mapping>
25 <filter-name>characterEncodingFilter</filter-name>
26 <url-pattern>/*</url-pattern>
27 </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配置

 1      <servlet>
2 <servlet-name>DispatcherServlet</servlet-name> // 指定一个servlet名称
3 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> //指定servlet的类全路径
4 <init-param>
5 <param-name>contextConfigLocation</param-name> //初始化参数名
6 <param-value>classpath:spring/dispatcher-servlet.xml</param-value> //初始化参数值
7 </init-param>
8 <load-on-startup>1</load-on-startup> //指定当web容器启动时,加载servlet的顺序
9 </servlet>
10 <servlet-mapping>
11 <servlet-name>DispatcherServlet</servlet-name> //servlet名称
12 <url-pattern>/</url-pattern> //映射路径
13 </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) 指定欢迎页面配置

1 <welcome-file-list>
2 <welcome-file>hello.jsp</welcome-file> //指定欢迎页面
3 </welcome-file-list>

(4) 监听器配置

1 <listener>
2 <listerner-class>org.springframework.web.context.ContextLoaderListener</listener-class>
3 </listener>

(5) 会话超时配置

<session-config>
<session-timeout>100</session-timeout>
</session-config>

(6) 配置错误页面

1) 通过错误码来配置error-page

1 <!--配置了当系统发生404错误时,跳转到错误处理页面NotFound.jsp-->
2 <error-page>
3 <error-code>404</error-code>
4 <location>/NotFound.jsp</location>
5 </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即可实现SpeingMVC框架

 1 <?xml version="1.0" encoding="UTF-8"?>
2 <web-app version="2.5"
3 xmlns="http://java.sun.com/xml/ns/javaee"
4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
6 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
7 <welcome-file-list>
8 <welcome-file>hello.jsp</welcome-file>
9 </welcome-file-list>
10 <servlet>
11 <servlet-name>SpringMVC</servlet-name>
12 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
13 <load-on-startup>1</load-on-startup>
14 </servlet>
15 <servlet-mapping>
16 <servlet-name>SpringMVC</servlet-name>
17 <url-pattern>/</url-pattern>
18 </servlet-mapping>
19 </web-app>

有需要补充的还需各位阅读的大牛们给点建议!
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!另外您也可以选择【关注我】,可以很方便找到我!
本文版权归作者和博客园共有,来源网址:https://www.cnblogs.com/欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利!

SpringMVC配置web.xml文件详解(列举常用的配置)的更多相关文章

  1. web.xml文件详解

      web.xml文件详解 Table of Contents 1 listener. filter.servlet 加载顺序 2 web.xml文件详解 3 相应元素配置 1 listener. f ...

  2. javaweb web.xml文件详解

    web.xml文件详解 前言:一般的web工程中都会用到web.xml,web.xml主要用来配置,可以方便的开发web工程.web.xml主要用来配置Filter.Listener.Servlet等 ...

  3. tomcat 加载顺序 web.xml文件详解

    一. 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Se ...

  4. [转] web.xml文件详解

    转自:http://www.cnblogs.com/hellojava/archive/2012/12/28/2835730.html 前言:一般的web工程中都会用到web.xml,web.xml主 ...

  5. web.xml 文件详解

    目录 1. web.xml各版本区别 2. web.xml配置详解 2.1 java web项目启动加载顺序 2.2 web.xml中定义的元素 web.xml文件是Java Web项目中的一个配置文 ...

  6. Maven pom.xml文件详解

    Maven pom.xml文件详解 一.简介 POM全称是Project Object Model,即项目对象模型. pom.xml是maven的项目描述文件,它类似与antx的project.xml ...

  7. 史上最全的maven的pom.xml文件详解(转载)

    此文出处:史上最全的maven的pom.xml文件详解——阿豪聊干货 <project xmlns="http://maven.apache.org/POM/4.0.0" x ...

  8. C#中web.config文件详解

    C#中web.config文件详解 一.认识Web.config文件 Web.config 文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NE ...

  9. AndroidManifest.xml文件详解

    本文为安全专家李洋的最新一篇专栏文章<AndroidManifest.xml文件详解>.AndroidManifest.xml是一个跟安全相关的配置文件,该配置文件是Android安全保障 ...

  10. [转]AndroidManifest.xml文件详解

    转自:http://www.cnblogs.com/greatverve/archive/2012/05/08/AndroidManifest-xml.html AndroidManifest.xml ...

随机推荐

  1. 2021-11-10:O(1) 时间插入、删除和获取随机元素。实现RandomizedSet 类:RandomizedSet() 初始化 RandomizedSet 对象。bool insert(in

    2021-11-10:O(1) 时间插入.删除和获取随机元素.实现RandomizedSet 类:RandomizedSet() 初始化 RandomizedSet 对象.bool insert(in ...

  2. flask目录结构

  3. 【论文笔记】Deeplab系列

    [深度学习]总目录 DeepLab系列是谷歌团队提出的一系列语义分割算法.DeepLab v1于2014年推出,随后2017到2018年又相继推出了DeepLab v2,DeepLab v3以及Dee ...

  4. 图扑虚拟现实 VR 智慧办公室可视化

    前言 "虚拟现实"是来自英文"Virtual Reality",简称 VR 技术,其是通过利用计算机仿真系统模拟外界环境,主要模拟对象有环境.技能.传感设备和感 ...

  5. 800名科学家Nature联名发文主张废除p值!

    每年,全球有数百万学生修读统计学课程.随着世界上的数据量越来越大,统计学已成为越来越受欢迎的话题.如果大多数学生都从这门课中记住一点,那可能就是"统计显著性"和"p 值& ...

  6. 【python基础】if语句-语法格式

    if语句-语法格式 简单理解if语句之后,我们的if语句语法格式有多种,选择使用哪种取决于要测试的条件数 1.if结构 最简单的if语句只有一个条件测试和一个代码块 其语法格式: 假设想要指导一个学员 ...

  7. Python-PyQt5的安装与简单使用

    一.安装 1.安装 PyQt5 和 PyQt5-tools pip install PyQt5 -i https://pypi.douban.com/simple pip install PyQt5- ...

  8. kotlin 函数格式大赏

    fun main() { // 一个有引用的lambda表达式 val f11: (Int, Int) -> Unit = {n1, n2 -> println("f11 is ...

  9. 【VS Code 与 Qt6】运用事件过滤器批量操作子级组件

    如果某个派生自 QObject 的类重写 eventFilter 方法,那它就成了事件过滤器(Event Filter).该方法的声明如下: virtual bool eventFilter(QObj ...

  10. C++面试八股文:什么是智能指针?

    某日二师兄参加XXX科技公司的C++工程师开发岗位第19面: 面试官:什么是智能指针? 二师兄:智能指针是C++11引入的类模板,用于管理资源,行为类似于指针,但不需要手动申请.释放资源,所以称为智能 ...