web.xml配置文件简单介绍
来源:互联网 发布:ps cs3 for mac版 编辑:程序博客网 时间:2024/05/21 07:04
Spring mvc 整合hibernate 开发
在此介绍一下web.xml文件配置
在启动Web项目时,容器(比如Tomcat)会读web.xml配置文件中的两个节点<listener>和<contex-param>。
接着容器会创建一个ServletContext(上下文),应用范围内即整个WEB项目都能使用这个上下文。
接着容器会将读取到<context-param>转化为键值对,并交给ServletContext。
容器创建<listener></listener>中的类实例,即创建监听(备注:listener定义的类可以是自定义的类但必须需要继承ServletContextListener)。
在监听的类中会有一个contextInitialized(ServletContextEvent event)初始化方法,在这个方法中可以通过event.getServletContext().getInitParameter("contextConfigLocation") 来得到context-param 设定的值。在这个类中还必须有一个contextDestroyed(ServletContextEvent event) 销毁方法.用于关闭应用前释放资源,比如说数据库连接的关闭。
得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早。
由上面的初始化过程可知容器对于web.xml的加载过程是context-param >> listener >> fileter >> servlet
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><display-name>template</display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-context.xml</param-value></context-param>
读取加载ApplicationContext
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener><listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener>
RequestContextListener implements ServletRequestListener
ServletRequestListener extends EventListener
ServletRequestListener监听HTTP请求事件,Web服务器接收的每次请求都会通知该监听器。
RequestContextListener实现ServletRequestListener监听器接口,该监听器监听
HTTP请求事件,web服务器接收的每一次请求都会通知该监听器.
spring容器启动和关闭操作由web容器的启动和关闭事件触发,但如果spring容器中的Bean需要request,session,globalsession
作用域的支持,spring容器本身就必须获得web容器的HTTP请求事件,以HTTP请求的事件"驱动"Bean作用域的控制逻辑.
ContextLoaderListener extends ContextLoader implements ServletContextListener
ServletContextListener extends EventListener
ServletContextListener只负责监听Web容器的启动和关闭的事件。
<servlet> <servlet-name>spring-mvc-web</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc-web.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring-mvc-web</servlet-name> <url-pattern>/</url-pattern> <!--映射的url的路径--> </servlet-mapping><load-on-startup>属性
标记容器是否在启动的时候就加载这个servlet
当值为0或者大于0时,表示容器在应用启动时就加载这个servlet;
当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载。
正数的值越小,启动该servlet的优先级越高。
缺省Servlet
1.如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet。
2.凡是在web.xml文件中找不到匹配的<servlet-mapping>元素的URL,它们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。
3.在<tomcat的安装目录>\conf\web.xml文件中,注册了一个名称为org.apache.catalina.servlets.DefaultServlet的Servlet,并将这个Servlet设置为了缺省Servlet。
当访问Tomcat服务器中的某个静态HTML文件和图片时,实际上是在访问这个缺省Servlet。
<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> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
encoding:字符集,即将过滤到的request的字符集设置为encoding指定的值,如UTF-8等,相当于:
l forceEncoding:字面意思是强制字符集,但你大可不必按字面意思理解,因为这个参数的值只不过是指定response的字符集是否也设置成encoding所指定的字符集,所以你可以选择设置为true或false,当值为true时,相当于
以上代码放置在web.xml中,相当于servlet中的:
- web.xml配置文件简单介绍
- spring-mvc-web.xml配置文件简单介绍
- web.xml配置文件介绍
- web.xml简单介绍
- servlet 的web.xml配置文件中的介绍
- web.xml简单介绍一下
- solr4.2 solrconfig.xml配置文件简单介绍
- Struts2的简单配置文件web.xml
- Java Web 开发配置文件web.xml,Tomcat介绍
- MyBatis中XML 映射配置文件的简单介绍
- WMAppManifest.xml配置文件介绍
- Webwork2 WEB.xml配置文件
- Tomcat 配置文件web.xml
- web.xml 配置文件详解
- web.xml 配置文件
- web.xml配置文件总结
- web.xml配置文件
- 配置文件web.xml小结
- PHP 文件处理
- 暑期培训7日游解题思路(day1~day3)
- 队列的入队、出队操作
- 第二章 第一节:数据库数据类型
- 企业剖析 | 计算的旋律—阿里云视觉语言的探索
- web.xml配置文件简单介绍
- 154. Find Minimum in Rotated Sorted Array II
- VS2012 warning C4819的解决办法
- spring boot 遇到的异常2
- windows配置scikit_learn过程
- Linux 安装Mono环境 运行ASP.NET(二)
- maven servlet-api 和 javax.servlet-api区别?
- LeetCode
- javascript基础知识归纳