(5)配置web.xml
来源:互联网 发布:程序员三宝github 编辑:程序博客网 时间:2024/06/05 11:22
web.xml加载顺序:
- 不同配置之间的加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。
加载顺序:context-param -> listener -> filter -> servlet - 同种配置加顺序按mapping节点配置的先后顺序:
eg:配置多个拦截器filter时, filter-mapping配置节出现的顺序来依次调用 doFilter() 方法的。servlet类似.
web.xml配置例子
<?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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <!-- 配置工程名 --> <display-name>yves</display-name> <!-- 全局配置 : 也就是配置在上下文中servletContext,也就整个工程application,在Servlet中用ServletContext()的对象获取initParameter --> <context-param><!-- 配置文件上传的路径 --> <description>Location to store uploaded file</description> <param-name>file-upload</param-name> <param-value> D:\git\yves\WebRoot\files\uploadFile\ </param-value> </context-param> <context-param> <!-- 测试servletContextTestServlet获得ServletContext --> <param-name>servletContextTestParameter</param-name> <param-value>Test success!</param-value> </context-param> <context-param> <!-- 测试JSP object9中config.getInitParameter和servletContext.getInitParameter --> <param-name>initPrarameter</param-name> <param-value>initPrarameter value!</param-value> </context-param> <!-- 配置过滤器: 配置多个filter时先配置先dofilter,顺序是根据filter-mapping的配置顺序 --> <filter> <filter-name>FilterAll</filter-name> <filter-class>cn.com.yves.filter.FilterAll</filter-class> <init-param><!-- 配置该filter的初始化参数 --> <param-name>filterParameter</param-name> <param-value>this filter's value</param-value> </init-param> </filter> <filter-mapping> <filter-name>FilterAll</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher><!-- 配置哪些请求要进过滤器;不配置dispatcher标签默认是request请求进过滤. --> <dispatcher>FORWARD</dispatcher><!-- 这个例子里面配了两个dispatcher,也就是这两种请求会进过滤器:浏览器的的请求和通过request的forward转发的请求会进过滤器 --> </filter-mapping> <filter> <filter-name>FilterAll2</filter-name> <filter-class>cn.com.yves.filter.FilterAll2</filter-class> <init-param><!-- 配置该filter的初始化参数 --> <param-name>requestEncoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param><!-- 配置该filter的初始化参数 --> <param-name>responseEncoding</param-name> <param-value>text/html;charset=UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>FilterAll2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 配置标签库: (如果项目中使用到标签库就要配置,也可以配置所有的tld,taglib-location为tld文件所在的本地位置): --> <jsp-config> <taglib> <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri> <taglib-location>/WEB-INF/tlds/fmt.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/fmt-rt</taglib-uri> <taglib-location>/WEB-INF/tlds/fmt-rt.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/core</taglib-uri> <taglib-location>/WEB-INF/tlds/c.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/core-rt</taglib-uri> <taglib-location>/WEB-INF/tlds/c-rt.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/sql</taglib-uri> <taglib-location>/WEB-INF/tlds/sql.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/sql-rt</taglib-uri> <taglib-location>/WEB-INF/tlds/sql-rt.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/x</taglib-uri> <taglib-location>/WEB-INF/tlds/x.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/x-rt</taglib-uri> <taglib-location>/WEB-INF/tlds/x-rt.tld</taglib-location> </taglib> </jsp-config> <!-- 配置Servlet: 在spring mvc 中可以只配置一个springmvc的Servlet,其他的交给spring mvc 来处理 --> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>LoginServlet</servlet-name> <servlet-class>cn.com.yves.servlet.LoginServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>ReadXML</servlet-name> <servlet-class>cn.com.yves.servlet.ReadXML</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>ReadJson</servlet-name> <servlet-class>cn.com.yves.servlet.ReadJson</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>ShowUserServlet</servlet-name> <servlet-class>cn.com.yves.servlet.ShowUserServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>FormServlet</servlet-name> <servlet-class>cn.com.yves.servlet.FormServlet</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>Forward</servlet-name> <servlet-class>cn.com.yves.servlet.Forward</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>ForWard2</servlet-name> <servlet-class>cn.com.yves.servlet.ForWard2</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UploadingFile</servlet-name> <servlet-class>cn.com.yves.servlet.UploadingFile</servlet-class> </servlet> <servlet><!-- 文件下载的Servlet --> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>DownloadFile</servlet-name> <servlet-class>cn.com.yves.servlet.DownloadFile</servlet-class> <init-param><!-- 当Servlet加载的时候init-param用来初始化参数 --> <param-name>contentType</param-name> <param-value>application/x-msdownload</param-value> </init-param> <init-param> <param-name>downPath</param-name> <param-value>D:\git\yves\WebRoot\files\DownloadFile\</param-value> </init-param> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>PageRedirect</servlet-name> <servlet-class>cn.com.yves.servlet.PageRedirect</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>HttpServletResponseMethodTest</servlet-name> <servlet-class>cn.com.yves.servlet.HttpServletResponseMethodTest</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>HttpServletRequestMethodTest</servlet-name> <servlet-class>cn.com.yves.servlet.HttpServletRequestMethodTest</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>SessionTrack</servlet-name> <servlet-class>cn.com.yves.servlet.SessionTrack</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>SessionTrack2</servlet-name> <servlet-class>cn.com.yves.servlet.SessionTrack2</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>CookieConfig</servlet-name> <servlet-class>cn.com.yves.servlet.CookieConfig</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>AutoRefresh</servlet-name> <servlet-class>cn.com.yves.servlet.AutoRefresh</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserDelete</servlet-name> <servlet-class>cn.com.yves.servlet.user.UserDelete</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserAdd</servlet-name> <servlet-class>cn.com.yves.servlet.user.UserAdd</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserQuery</servlet-name> <servlet-class>cn.com.yves.servlet.user.UserQuery</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserUpdate</servlet-name> <servlet-class>cn.com.yves.servlet.user.UserUpdate</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserLogin</servlet-name> <servlet-class>cn.com.yves.servlet.user.UserLogin</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserExit</servlet-name> <servlet-class>cn.com.yves.servlet.user.UserExit</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserList</servlet-name> <servlet-class>cn.com.yves.servlet.user.UserList</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>ServletContextTest</servlet-name> <servlet-class>cn.com.yves.servlet.ServletContextTest</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserLoginValidate</servlet-name> <servlet-class>cn.com.yves.servlet.user2.UserLoginValidate</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserAdd2</servlet-name> <servlet-class>cn.com.yves.servlet.user2.UserAdd2</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserUpdate2</servlet-name> <servlet-class>cn.com.yves.servlet.user2.UserUpdate2</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserList2</servlet-name> <servlet-class>cn.com.yves.servlet.user2.UserList2</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserDelete2</servlet-name> <servlet-class>cn.com.yves.servlet.user2.UserDelete2</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserExit2</servlet-name> <servlet-class>cn.com.yves.servlet.user2.UserExit2</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserQuery2</servlet-name> <servlet-class>cn.com.yves.servlet.user2.UserQuery2</servlet-class> </servlet> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserControl</servlet-name> <servlet-class>cn.com.yves.servlet.user4.UserControl</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/loginServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>ReadXML</servlet-name> <url-pattern>/readXML</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>ReadJson</servlet-name> <url-pattern>/readJson</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>ShowUserServlet</servlet-name> <url-pattern>/showUserServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>FormServlet</servlet-name> <url-pattern>/formServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Forward</servlet-name> <url-pattern>/forward</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>ForWard2</servlet-name> <url-pattern>/forWard2</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UploadingFile</servlet-name> <url-pattern>/uploadingFile</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>DownloadFile</servlet-name> <url-pattern>/downloadFile</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>PageRedirect</servlet-name> <url-pattern>/pageRedirect</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>HttpServletResponseMethodTest</servlet-name> <url-pattern>/httpServletResponseMethodTest</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>HttpServletRequestMethodTest</servlet-name> <url-pattern>/httpServletRequestMethodTest</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>SessionTrack</servlet-name> <url-pattern>/sessionTrack</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>SessionTrack2</servlet-name> <url-pattern>/sessionTrack2</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>CookieConfig</servlet-name> <url-pattern>/cookieConfig</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>AutoRefresh</servlet-name> <url-pattern>/autoRefresh</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UserDelete</servlet-name> <url-pattern>/userDelete</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UserAdd</servlet-name> <url-pattern>/userAdd</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UserQuery</servlet-name> <url-pattern>/userQuery</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UserUpdate</servlet-name> <url-pattern>/userUpdate</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UserLogin</servlet-name> <url-pattern>/userLogin</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UserExit</servlet-name> <url-pattern>/userExit</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UserList</servlet-name> <url-pattern>/userList</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>ServletContextTest</servlet-name> <url-pattern>/servletContextTest</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UserLoginValidate</servlet-name> <url-pattern>/userLoginValidate</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UserAdd2</servlet-name> <url-pattern>/userAdd2</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UserUpdate2</servlet-name> <url-pattern>/userUpdate2</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UserList2</servlet-name> <url-pattern>/userList2</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UserDelete2</servlet-name> <url-pattern>/userDelete2</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UserExit2</servlet-name> <url-pattern>/userExit2</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UserQuery2</servlet-name> <url-pattern>/userQuery2</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UserControl</servlet-name> <url-pattern>/userControl</url-pattern> </servlet-mapping> <!-- 配置监听器: HttpSessionBindingListener该类不需要在web.xml中配置 --> <listener><!-- 配置监听类,然后虚拟机通过反射的方式 回调该类的方法 --> <listener-class>cn.com.yves.listen.session.SessionListen</listener-class> </listener> <listener> <listener-class>cn.com.yves.listen.session.SessionAttributeListen</listener-class> </listener> <listener> <listener-class>cn.com.yves.listen.session.SessionBindingListener</listener-class> </listener> <listener> <listener-class>cn.com.yves.listen.session.SessionActivationListener</listener-class> </listener> <!-- 配置session失效时间: 单位是分钟 --> <session-config> <session-timeout>30</session-timeout> </session-config> <!-- 配置欢迎页面 --> <welcome-file-list> <!-- 从list里面一个一个找,找到就跳过下面的welcome-file ,不一定是页面,业可以是action;list里面的绝对路径和相对路径都是从webRoot起 --> <welcome-file>/welcome.jsp</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 配置errorPage 注意: 斜杠'/' 一定要,不要回报错 --> <error-page><!-- 只要访问服务器时候出现属于Throwable的异常就会显示error.jsp --> <exception-type>java.lang.Throwable</exception-type> <location>/pages/errorPage/error.jsp</location> </error-page> <error-page> <error-code>404</error-code><!-- 只要访问服务器不存在的请求,状态也就为404:就会显示404.jsp --> <location>/pages/errorPage/404.jsp</location> </error-page> <error-page> <error-code>500</error-code><!-- 只要访问服务器返回的状态码为500 就会显示500.jsp --> <location>/pages/errorPage/500.jsp</location> </error-page> <!-- 配置mime-mapping : 浏览器会根据配置的类型自动调用相应的程序打开 ,比如用word打开doc文件 --> <mime-mapping> <extension>doc</extension> <mime-type>application/vnd.ms-word</mime-type> </mime-mapping> <mime-mapping> <extension>gif</extension> <mime-type>image/gif</mime-type> </mime-mapping> <mime-mapping> <extension>htm</extension> <mime-type>text/html</mime-type> </mime-mapping> <mime-mapping> <extension>html</extension> <mime-type>text/html</mime-type> </mime-mapping> <mime-mapping> <extension>jnlp</extension> <mime-type>application/x-java-jnlp-file</mime-type> </mime-mapping> <mime-mapping> <extension>jpeg</extension> <mime-type>image/jpeg</mime-type> </mime-mapping> <mime-mapping> <extension>jpg</extension> <mime-type>image/jpeg</mime-type> </mime-mapping> <mime-mapping> <extension>js</extension> <mime-type>application/x-javascript</mime-type> </mime-mapping> <mime-mapping> <extension>pdf</extension> <mime-type>application/pdf</mime-type> </mime-mapping> <mime-mapping> <extension>png</extension> <mime-type>image/png</mime-type> </mime-mapping> <mime-mapping> <extension>rar</extension> <mime-type>application/x-rar-compressed</mime-type> </mime-mapping> <mime-mapping> <extension>txt</extension> <mime-type>text/plain</mime-type> </mime-mapping> <mime-mapping> <extension>xls</extension> <mime-type>application/vnd.ms-excel</mime-type> </mime-mapping> <mime-mapping> <extension>xml</extension> <mime-type>text/xml</mime-type> </mime-mapping> <mime-mapping> <extension>xul</extension> <mime-type>application/vnd.mozilla.xul-xml</mime-type> </mime-mapping> <mime-mapping> <extension>zhtml</extension> <mime-type>text/html</mime-type> </mime-mapping> <mime-mapping> <extension>zip</extension> <mime-type>application/x-zip</mime-type> </mime-mapping> <mime-mapping> <extension>zul</extension> <mime-type>text/html</mime-type> </mime-mapping></web-app>
1 0
- (5)配置web.xml
- log4j.xml web.xml配置
- 5 Spring 入门 web.xml配置详解
- web工程web.xml配置
- Web.XML 配置详解
- Web.XML 配置详解
- Web.Xml的配置
- web.xml配置说明
- web.xml配置详解
- web.xml配置详解
- Struts2 web.xml配置
- Tomcat web.xml配置
- tomcat web.xml配置
- web.xml配置说明
- web.xml详细配置
- web.xml配置讲解
- web.xml配置详解
- SSH配置:web.xml
- Apache Curator“菜谱”下的高级特性:分布式锁与Leader选举
- 第十六周项目一验证算法(2)快速排序
- 写入文件的三种方式
- Javascript的面对对象的理解 【下】(prototype的使用)
- ZCMU—1133
- (5)配置web.xml
- 四种高效数据库设计思想——提高查询效率
- spring AOP
- java课程实验设计——数据库连接 问题
- Android中四种进程的重要顺序
- 图的深度优先和广度优先遍历及其实现
- TSL1401线性CCD工作方式---待改进
- java的动态代理机制详解
- 随想录(网站api的设计)