web.xml配置详细说明教程
web.xml配置详解
一、1、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点。
2、紧接着,容器创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。
3、容器将<context-param>转换为键值对,并交给servletContext。
4、容器创建<listener>中的类实例,创建监听器。
二、<servlet>中<load-on-startup>元素指出这个servlet在web应用程序启动时将被加载(实例化时将调用它的init()方法)。
这个可选的元素必须给定一个整数来标记这个servlet被加载的顺序。
如果这个值是一个负数或者这个元素不存在,容器将自己选择在空闲的时候加载.如果它的值是一个正数或0,容器在展开(或配置,其实就是启动时加载web应用)。
这个web 应用程序时必须加载和初始化这个servlet容器必须保证这个servlet按照给定的整数标记从小到大的顺序加载它。
如果存在有相同的整数标记时,容器自己选择加载load-on-startup 元素值一样的servlet(也就是说加载的顺序不确定)。
三、在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰。
首先可以肯定的是,加载顺序与它们在web.xml 文件中的先后顺序无关。
即不会因为filter 写在listener 的前面而会先加载filter。
最终得出的结论是:listener -> filter -> servlet 同时还存在着这样一种配置节:context-param,它用于向ServletContext 提供键值对,即应用程序上下文信息。
web.xml详细配置
一、核心过滤器的配置正如上面看到的,当配置Struts2的FilterDispatcher类时,可以指定一系列的初始化参数,为该Filter配置初始化参数时,其中有3个初始化参数有特殊意义:—config:该参数的值是一个以英文逗号(,)隔开的字符串,每个字符串都是一个XML配置文件的位置。
Struts 2框架将自动加载该属性指定的系列配置文件。
—actionPackages:该参数的值也是一个以英文逗号(,)隔开的字符串,每个字符串都是一个包空间,Struts 2框架将扫描这些包空间下的Action类。
—configProviders:如果用户需要实现自己的ConfigurationProvider类,用户可以提供一个或多个实现了ConfigurationProvider接口的类,然后将这些类的类名设置成该属性的值,多个类名之间以英文逗号(,)隔开。
二、常量配置其中<param-name>子元素指定了常量name,而<param-value>子元素指定了常量value。
在web.xml文件中配置了该Filter,还需要配置该Filter拦截的URL。
通常,我们让该Filter拦截所有的用户请求,因此使用通配符来配置该Filter拦截的URL。
配置了Struts 2的核心FilterDispatcher后,基本完成了Struts 2在web.xml文件中的配置。
如果Web应用使用了Servlet 2.3以前的规范,因为Web应用不会自动加载Struts 2框架的标签文件,因此必须在web.xml文件中配置加载Struts 2标签库。
配置加载Struts 2标签库的配置片段如下:在上面配置片段中,指定了Struts 2标签库配置文件物理位置:/WEB-INF/struts- tags.tld,因此我们必须手动复制Struts 2的标签库定义文件,将该文件放置在Web应用的WEB-INF 路径下。
struts_web.xml配置
<welcome-file>welcome.jsp</welcome-file>
</welcome-file-list>
第四步:配置错误处理
<error-page>
<error-code>404</error-code>
<location>/commom/404.jsp</location>
</taglib>
<tag-uri>用于指定标签库的相对或者绝对URI地址,Web应用根据这一URI来访问标签库。
<taglib-location>指定标签描述文件在文件资源系统中的物理位置。
第三步:配置欢迎清单
当客户访问Web应用时,如果仅仅给出Web应用的Root URL,没用指定具体的文件名,Web容器会自动调用Web应用的欢迎文件。
<welcome-file-list>
<welcome-file>welcome.jsp</welcome-file>
</error-page>
<error-page>
<error-code>505</error-code>
<location>/commom/505.jsp</location>
</error-page>
也可以为Web容器捕获的Java异常配置<error-page>,需要设置<exception-type>子元素,它用于指定Java异常类。Web容器可能捕获如下异常:
webxml的基本参数和配置
webxml的基本参数和配置一.理论准备先说下我记得xml规则,必须有且只有一个根节点,大小写敏感,标签不嵌套,必须配对。
web.xml是不是必须的呢?不是的,只要你不用到里面的配置信息就好了,不过在大型web工程下使用该文件是很方便的,若是没有也会很复杂。
那么web.xml能做的所有事情都有那些?其实,web.xml的模式(Schema)文件中定义了多少种标签元素,web.xml中就可以出现它的模式文件所定义的标签元素,它就能拥有定义出来的那些功能。
web.xml的模式文件是由Sun公司定义的,每个web.xml文件的根元素<web-app>中,都必须标明这个web.xml 使用的是哪个模式文件。
来看个例子:<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance"xmlns="/xml/ns/javaee"xmlns:web="/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>db</display-name><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list></web-app>二.标签元素指定欢迎页面<welcome-file-list><welcome-file>index.jsp</welcome-file><welcome-file>index1.jsp</welcome-file></welcome-file-list>上面的例子指定了2个欢迎页面,显示时按顺序从第一个找起,如果第一个存在,就显示第一个,后面的不起作用。
web.xml配置说明
设置web应用程序描述符web.xml里的<session-timeout>元素。
正在装载数据……这个值以分钟为单位,并覆盖weblogic.xml中的timeoutsecs属性<session-config><session-timeout>24</session-timeout></session-config>此例表示session将在24分钟后过期当<session-timeout>设置为-2,表示将使用在weblogic.xml中设置的timeoutsecs这个属性值。
当<session-timeout>设置为-1,表示session将永不过期,而忽略在weblogic.xml中设置的timeoutsecs属性值。
该属性值可以通过console控制台来设置2 weblogic.xml设置weblogic特有部署描述符weblogic.xml的<session-descriptor>元素的timeoutsecs属性。
这个值以秒为单位<session-descriptor><session-param><param-name>timeoutsecs</param-name><param-value>2600</param-value></session-param></session-descriptor>默认值是2600秒3,jsp中控制session.setmaxinactiveinterval(7200);session是默认对象,可以直接引用,单位秒s4,servlet中控制httpsession session = request.getsession();session.setmaxinactiveinterval(7200);单位秒s配置tomcat的时候,我想禁掉目录列表的访问。
关于web.xml配置文件
关于web.xml以下是web.xml中常见元素的配置(1).Servlet的配置信息<servlet><servlet-name>LoginServlet</servlet-name><servlet-class>com.etc.servlet.LoginServlet</servlet-class><init-param><param-name>validate</param-name><param-value>true</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>LoginServlet</servlet-name><url-pattern>/login</url-pattern></servlet-mapping>Servlet的主要配置信息:①<servlet-name>:指定Servlet实例的名字,建议类名;②<servlet-class>:指定Servlet类的完整名字,包括包名和类名;③<init-param>:为Servlet指定初始化参数,使用ServletConfig接口中的getInitParameter方法获取;④<load-on-startup>:该选项为非负整数,表示应用加载时该Servlet被初始化,数字表示初始化的顺序⑤<url-pattern>:配置该Servlet的访问路径,必须以/开头,如果使用通配符(如*.do),就不需要/开头(2).Filter的配置信息<filter><filter-name>LoginFilter</filter-name><filter-class>com.etc.filter.LoginFilter</filter-class><init-param><param-name>startTime</param-name><param-value>4</param-value></init-param></filter><filter-mapping><filter-name>LoginFilter</filter-name><url-pattern>*.jsp</url-pattern><dispatcher>REQUEST</dispatcher><dispatcher>FORW ARD</dispatcher><dispatcher>INCLUDE</dispatcher><dispatcher>REQUEST</dispatcher></filter-mapping>Filter的主要配置信息:①<Filter-name>:指定Filter实例的名字,建议类名;②<Filter-class>:指定Filter类的完整名字,包括包名和类名;③<init-param>:为Filter指定初始化参数,使用FilterConfig接口中的getInitParameter方法获取;④<url-pattern>:配置该过滤器的url⑤<dispatcher>:配置该过滤器的分发方式,默认是REQUEST(3)上下文参数配置信息<context-param><param-name>path</param-name><param-value>/WEB-INF/tld</param-value></context-param>上下文参数被封装在ServletContext对象中,可以在整个应用中使用,通过getInitParameter方法获取;(4)会话超时时间配置信息<session-config><session-timeout>40</session-timeout></session-config>容器默认的会话超时时间是30分钟,可以通过<session-config>配置该应用的会话超时时间,单位为分钟.(5)欢迎页面列表配置信息<welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list>默认的欢迎页面是index,jsp或则index.html,可以通过<welcome-file-list>指定多个欢迎页面,容器将按照配置顺序查找.(6)错误页面配置信息<error-page><error-code>404</error-code><location>/error/404.html</location></error-page><error-page><exception-type>com.etc.exception.RegisterExcetpion</excep tion-type><location>/register.jsp</location></error-page>通过<error-page>可以指定应用中发生某种响应错误.如404错误跳转的页面.也可以配置某种异常,异常没有捕获时跳转的页面.(7)Listener配置信息<listener><listener-class>com.etc.listener.CounterListener</listener-clas s></listener>(8)JSP属性配置信息<jsp-config><jsp-property-group><url-pattern>/admin</url-pattern><el-ignored>false</el-ignored><scripting-invalid>false</scripting-invalid></jsp-property-group><jsp-property-group><url-pattern>/admin</url-pattern><page-encoding>gb2312</page-encoding></jsp-property-group></jsp-config>对应用中的某些特定url的JSP稳健配置属性,主要配置信息为:①<url-pattern>:配置该JSP特定的url②<el-ignored>:指定是否忽略EL语句,如果值为true则忽略,将EL解析成文本输出③<scripting-invalid>:指定脚本元素是否有效,如果为true,则无效,包含脚本元素的JSP将出现翻译错误④<page-encoding>:指定JSp的响应编码方式。
web.xml配置详解
web.xml配置详解web.xml文件我们都不陌生,每一个web应用中都会有一个web.xml文件。
在Tomcat 安装目录下的conf目录也有web.xml文件,而今天我们分析的web.xml正是Tomcat的web.xml。
我们知道,每一个web应用最终是被发布到Tomcat的webappes目录下,Tomcat是它们的运行环境。
可以理解为Tomcat的web.xml文件是每一个web应用的web.xml的父文件,Tomcat将每个应用的公共配置提取出来放在conf目录下的web.xml中,每个应用的个性配置放在自己的web.xml文件中。
如图1-1所示:图1-1web.xml关系图下面我们结合web.xml文件的内容,来分析它的配置的作用,web.xml文件主要内容如例1-1所示:例1-1conf/web.xml......<servlet><servlet-name>default</servlet-name><servlet-class>org.apache.catalina.servlets.DefaultServlet</serv let-class><init-param><param-name>debug</param-name><param-value>0</param-value></init-param><init-param><param-name>listings</param-name><param-value>false</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet><servlet-name>jsp</servlet-name><servlet-class>org.apache.jasper.servlet.JspServlet</servle t-class><init-param><param-name>fork</param-name><param-value>false</param-value></init-param><init-param><param-name>xpoweredBy</param-name><param-value>false</param-value></init-param><load-on-startup>3</load-on-startup></servlet><servlet-mapping><servlet-name>default</servlet-name><url-pattern>/</url-pattern></servlet-mapping><servlet-mapping><servlet-name>jsp</servlet-name><url-pattern>*.jsp</url-pattern><url-pattern>*.jspx</url-pattern></servlet-mapping><session-config><session-timeout>30</session-timeout></session-config><!--这里省略了大概4000多行的MIME类型的定义,只给出两种MIME类型的定义--><mime-mapping><extension>bmp</extension><mime-type>image/bmp</mime-type></mime-mapping><mime-mapping><extension>htm</extension><mime-type>text/html</mime-type></mime-mapping><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file></welcome-file-list>对以上内容进行分析,如下:(1)<servlet-name>default</servlet-name>对应一个类名为DefaultServlet的Servlet,我们看这个servlet对应的<servlet-mapping>中的映射路径是“/”,匹配所有路径。
web.xml配置详细说明教程
Web.xml常用元素<web-app><display-name></d isplay-name>定义了WEB应用的名字<description></description>声明WEB应用的描述信息<context-par am></context-param>context-param元素声明应用范围内的初始化参数。
<filter></filter>过滤器元素将一个名字与一个实现javax.servlet.Fi lter接口的类相关联。
<filte r-mapping></filter-m apping>一旦命名了一个过滤器,就要利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联。
<listener></li stener>servlet API的版本2.3增加了对事件监听程序的支持,事件监听程序在建立、修改和删除会话或serv let环境时得到通知。
Listen er元素指出事件监听程序类。
<ser vlet></servlet>在向se rvlet或JSP页面制定初始化参数或定制URL时,必须首先命名servlet或JSP页面。
Servlet元素就是用来完成此项任务的。
<servlet-ma pping></servlet-mapp ing>服务器一般为servlet提供一个缺省的URL:http://host/webAppPrefix/servle t/ServletName。
但是,常常会更改这个URL,以便servlet可以访问初始化参数或更容易地处理相对URL。
在更改缺省URL时,使用servlet-mappi ng元素。
web.xml配置详解
web.xml配置详解1、框架解决字符串编码问题:过滤器 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(我们写的Action)来处理。
DispatcherServlet(servlet-name、servlet-class、init-param、param-name(contextConfigLocation)、param-value)在DispatcherServlet的初始化过程中,框架会在web应⽤的 WEB-INF⽂件夹下寻找名为[servlet-name]-servlet.xml 的配置⽂件,⽣成⽂件中定义的bean<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_3_0.xsd"><!-- 在Spring框架中是如何解决从页⾯传来的字符串的编码问题的呢?下⾯我们来看看Spring框架给我们提供过滤器CharacterEncodingFilter这个过滤器就是针对于每次浏览器请求进⾏过滤的,然后再其之上添加了⽗类没有的功能即处理字符编码。
web.xml配置汇总(servlet2.3)
Web.xml配置详解(版本:2.3)部署描述符实际上是一个XML文件,包含了很多描述servlet/JSP应用的各个方面的元素,如servlet注册、servlet映射以及监听器注册。
部署描述符从下面的XML头开始:<?xml version="1.0" encoding="ISO-8859-1"?>这个头指定了XML的版本号以及所使用的编码。
头的下面是DOCTYPE声明:<!DOCTYPE web-appPUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""/dtd/web-app_2_3.dtd">这段代码指定文件类型定义(DTD),可以通过它检查XML文档的有效性。
下面显示的<!DOCTYPE>元素有几个特性,这些特性告诉我们关于DTD的信息:→web-app定义该文档(部署描述符,不是DTD文件)的根元素→PUBLIC意味着DTD文件可以被公开使用→"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"意味着DTD由Sun Microsystems, Inc.维护。
该信息也表示它描述的文档类型是DTD Web Application 2.3,而且DTD是用英文书写的。
→URL"/dtd/web-app_2_3.dtd"表示D文件的位置。
注意:在部署描述符中, <!--…-->用于注释。
部署描述符的根元素是web-app。
DTD文件规定,web-app元素的子元素的语法如下:<!ELEMENT web-app (icon?, display-name?, description?,distributable?, context-param*, filter*, filter-mapping*,listener*, servlet*, servlet-mapping*, session-config?,mime-mapping*, welcome-file-list?,error-page*, taglib*, resource-env-ref*, resource-ref*,security-constraint*, login-config?, security-role*,env-entry*,ejb-ref*, ejb-local-ref*)>正如我们所看到的,这个元素含有23个子元素,而且子元素都是可选的。
web.xml配置文件详细配置示例子-全参数
<exception-type>ng.Exception</exception-type>
<location>路径/exception.jsp</location>
</error-page>
<filter-mapping>
<!-- 定义Filter的名称,和上面定义的Filter名称要一致 -->
<filter-name>URIFilter</filter-name>
<!-- ilter所对应的RUL,这里是所有的URL -->
<url-pattern>/*</url-pattern>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
</mime-mapping>
web.xml文件详解
web.xml⽂件详解原⽂:⽬录: 1. web.xml各版本区别 2. web.xml配置详解 2.1 java web项⽬启动加载顺序 2.2 web.xml中定义的元素web.xml⽂件是Java Web项⽬中的⼀个配置⽂件,主要⽤于配置欢迎页、Filter、Listener、Servlet等,但并不是必须的,⼀个Java Web项⽬没有web.xml⽂件也是照样能跑起来的。
1. web.xml各版本区别⾸先来看⼀下Tomcat官⽹的Servlet和JSP规范规范与的Apache Tomcat版本之间的对应关系,如图:从中可以清晰的看到不同版本的web.xml⽂件要使⽤相应版本的Tomcat服务器。
下⾯是各版本的web.xml配置的头部声明:servlet2.3<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "/dtd/web-app_2_3.dtd"><web-app></web-app>servlet2.4<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="/xml/ns/j2ee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/j2ee/xml/ns/j2ee/web-app_2_4.xsd"version="2.4"></web-app>servlet2.5<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="/xml/ns/javaee" xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_2_5.xsd" version="2.5"></web-app>servlet3.0<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_0.xsd"version="3.0"></web-app>servlet3.1<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_1.xsd"version="3.1"></web-app>servlet4.0<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="/xml/ns/javaee" xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_4_0.xsd"version="4.0"></web-app>Tomcat在激活、加载、部署web应⽤时,会解析加载${CATALINA_HOME}/conf⽬录下所有web应⽤通⽤的web.xml,然后解析加载web应⽤⽬录中的WEB-INF/web.xml。
SpringMVC---web.xml配置详解
SpringMVC---web.xml配置详解web.xml中需要配置的内容1.配置监听器<listener>它有两个监听器:1).<!--配置⽂件加载监听器--><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>ContextLoaderListener它的作⽤是启动web容器,(加载配置⽂件)⾃动装配applicationContext.xml配置信息(详细配置见下⾯)。
2).<!--spring log4j⽇志监听器配置--><listener><listener-class>org.springframework.web.util.Log4jConfigListener</listener-class></listener><context-param><param-name>Log4jConfigListener</param-name><!-- spring刷新log4j⽂件的时间间隔 --><param-value>10000</param-value></context-param>2.部署applicationContext.xml⽂件如果不写任何参数配置,默认的是在/WEB-INF/applicationContext.xml如果想要⾃定义⽂件名,需要在web.xml中加⼊contextConfigLocation这个context参数<!-- 配置applicationContext.xml --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext*.xml</param-value></context-param>3.配置前端控制器DispatcherServlet:它是拦截请<!-- 配置DispatchServlet 的核⼼控制器 -->DispatchServlet是HTTP请求的中央调度处理器,它将web请求转发给controller层处理,它提供了敏捷的映射和异常处理机制。
web_xml配置说明
一、web.xm配置说明所有部署描述符文件的顶层(根)元素为web-app。
请注意,XML元素不像HTML,他们是大小写敏感的。
因此,web-App和WEB-APP都是不合法的,web-app必须用小写。
XM元素不仅是大小写敏感的,而且它们还对出现在其他元素中的次序敏感。
例如,XML头必须是文件中的第一项,DOCTYPE声明必须是第二项,而web- app 元素必须是第三项。
在web-app元素内,元素的次序也很重要。
服务器不一定强制要求这种次序,但它们允许(实际上有些服务器就是这样做的)完全拒绝执行含有次序不正确的元素的Web应用。
这表示使用非标准元素次序的web.xml文件是不可移植的。
icon icon元素指出IDE和GUI工具用来表示Web应用的一个和两个图像文件的位置。
display-name display-name元素提供GUI工具可能会用来标记这个特定的Web 应用的一个名称。
description description元素给出与此有关的说明性文本。
context-param context-param元素声明应用范围内的初始化参数。
filter 过滤器元素将一个名字与一个实现javax.servlet.Filter接口的类相关联。
filter-mapping 一旦命名了一个过滤器,就要利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联。
listener servlet API的版本2.3增加了对事件监听程序的支持,事件监听程序在建立、修改和删除会话或servlet环境时得到通知。
Listener元素指出事件监听程序类。
servlet 在向servlet或JSP页面制定初始化参数或定制URL时,必须首先命名servlet或JSP页面。
Servlet元素就是用来完成此项任务的。
servlet-mapping 服务器一般为servlet提供一个缺省的URL:http://host/webAppPrefix/servlet/ServletName。
web.xml常用配置详解
web.xml常⽤配置详解web.xml常⽤配置详解context-param指定 ServletContext(上下⽂) 配置⽂件路径,基本配置⼀般是Spring配置⽂件,或者是spring-security的配置⽂件。
注意springmvc的配置⽂件是在servlet那⾥加载,mybatis的配置⽂件是在spring的主配置⽂件⾥注册sqlSessionFactory的时候加载的。
<context-param><param-name>contextConfigLocation</param-name><!--<param-name>指定上下⽂名称,⼀般为:名称+ConfigLocation后缀,如:contextConfigLocation,不可随意定义,否则指定的配置⽂件⽆法加载成功,实际上它是org.springframework.web.servlet.FrameworkServlet中的⼀个成员变量 --><param-value>classpath:spring-security.xml</param-value><!--<param-value>指定上下⽂路径,如:classpath:applicationContext.xml--></context-param>listener<listener-class>基本配置包含ContextLoaderListener ,即spring监听器<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>servlet<servlet-name>Servlet名称,可以⾃定义,但是需要遵守规则:⽐如指定为Spring,那么最好在classpath路径中配置Spring-servlet.xml,否则需要在⼦元素<init-param>特别指出<servlet-class>因为要配置MVC,所以指定为:org.springframework.web.servlet.DispatcherServlet<init-param>[定义容器启动时初始化的配置⽂件,作⽤主要是指定⾃定义配置⽂件的路径,貌似可以指定多个]<param-name>[contextConfigLocation]<param-value>[可以⾃定义,如:classpath:spring-servlet.xml,如果不定义,那么默认为:classpath:${servlet-name}-servlet.xml]<load-on-startup>[定义为1,表⽰启动等级]<!-- 配置 spring mvc 的核⼼控制器 --><servlet><servlet-name>springmvcDispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 配置初始化参数,⽤于读取 springmvc 的配置⽂件 --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:dispatcher.xml</param-value></init-param><!-- 配置 servlet 的对象的创建时间点:应⽤加载时创建。
web.xml配置文件超详细说明!!!
web.xml配置⽂件超详细说明!!!⼀、web.xml是什么?⾸先 web.xml 是java web 项⽬的⼀个重要的配置⽂件,但是web.xml⽂件并不是Java web⼯程必须的。
web.xml⽂件是⽤来配置:欢迎页、servlet、filter等的。
当你的web⼯程没⽤到这些时,你可以不⽤web.xml⽂件来配置你的web⼯程。
所在位置项⽬名/web/WEB-INFO/web.xml,如下图所⽰web.xml能做的事情:其实,web.xml的模式(Schema)⽂件中定义了多少种标签元素,web.xml中就可以出现它的模式⽂件所定义的标签元素,它就能拥有定义出来的那些功能。
web.xml的模式⽂件是由Sun公司定义的,每个web.xml⽂件的根元素<web-app>中,都必须标明这个web.xml使⽤的是哪个模式⽂件。
如:web.xml 配置⽂件具体的内容⼆、Web.xml详解:1.web.xml加载过程(步骤)⾸先简单讲⼀下,web.xml的加载过程。
当启动⼀个WEB项⽬时,容器包括(JBoss、Tomcat等)⾸先会读取项⽬web.xml配置⽂件⾥的配置,当这⼀步骤没有出错并且完成之后,项⽬才能正常地被启动起来。
1. 启动WEB项⽬的时候,容器⾸先会去它的配置⽂件web.xml读取两个节点: <listener></listener>和<context-param></context-param>。
2. 紧接着,容器创建⼀个ServletContext(application),这个WEB项⽬所有部分都将共享这个上下⽂。
3. 容器以<context-param></context-param>的name作为键,value作为值,将其转化为键值对,存⼊ServletContext。
4. 容器创建<listener></listener>中的类实例,根据配置的class类路径<listener-class>来创建监听,在监听中会有contextInitialized(ServletContextEvent args)初始化⽅法,启动Web应⽤时,系统调⽤Listener的该⽅法,在这个⽅法中获得:[html]1. <span style="font-family:Times New Roman;">ServletContextapplication=ServletContextEvent.getServletContext();</span>context-param的值就是application.getInitParameter("context-param的键");得到这个context-param的值之后,你就可以做⼀些操作了。
java学习-web.xml配置详解
java学习-web.xml配置详解2009-09-03 15:03<context-param><context-param>元素含有一对参数名和参数值,用作应用的servlet 上下文初始化参数。
参数名在整个Web应用中必须是惟一的。
context-param 元素用来设定web站台的环境参数(context),它包含两个子元素:param-name和param-value.<param-name>参数名称</param-name>设定Context名称<param-value>值</param-value>设定Context名称的值</context-param>范例:<context-param><param-name>param_name</param-name><param-value>param_value</param-value></context-param>此所设定的参数,在JSP网页中可以使用下列方法来取得: ${initParam.param_name}若在Servlet可以使用下列方法来获得:Stringparam_name=getServletContext().getInitParamter("param_name");<filter>filter元素用于指定Web容器中的过滤器。
在请求和响应对象被servlet处理之前或之后,可以使用过滤器对这两个对象进行操作。
利用下一节介绍的filter-mapping元素,过滤器被映射到一个servlet或一个URL模式。
这个过滤器的filter元素和filter-mapping元素必须具有相同的名称。
filter元素用来声明filter的相关设定.filter元素除了下面介绍的的子元素之外,还包括<servlet>介绍过的<icon>,<display-name>,<description>,<init-param>,其用途一样.init-param元素与context-param 元素具有相同的元素描述符。
java web工程web.xml配置详解
java web工程web.xml配置详解在java工程中,web.xml用来初始化工程配置信息,比如说welcome页面,filter,listener,servlet,servlet-mapping,启动加载级别等等。
每一个xml文件都有定义他书写规范的schema文件,web.xml所对应的xml Schema文件中定义了多少种标签元素,web.xml中就可以出现它所定义的标签元素,也就具备哪些特定的功能。
web.xml的模式文件是由Sun 公司定义的,每个web.xml文件的根元素为<web-app>中,必须标明这个web.xml使用的是哪个模式文件。
web.xml的根元素定义如下所示:Java代码下面就来介绍一下web.xml中常用的标签及其功能1.<description>,<display-name>,<icon><description>项目描述</discription> 对项目做出描述.<display-name>项目名称</display-name> 定义项目的名称.<icon> icon元素包含small-icon和large-icon两个子元素.用来指定web站台中小图标和大图标的路径.<small-icon>/路径/smallicon.gif</small-icon>small-icon元素应指向web站台中某个小图标的路径,大小为16 X 16 pixel,但是图象文件必须为GIF或JPEG格式,扩展名必须为:.gif或 .jpg.<large-icon>/路径/largeicon-jpg</large-icon> large-icon元素应指向web站台中某个大图表路径,大小为32 X 32 pixel,但是图象文件必须为GIF或JPEG的格式,扩展名必须为; gif 或jpg.Java代码2.<context-param><context-param>元素含有一对参数名和参数值,用作应用的servlet上下文初始化参数。
ssh web.xml的配置详解
<?xml version="1.0"encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance"xmlns="/xml/ns/javaee"xmlns:web="/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_2_5.xsd"id="WebApp_ID" version="2.5"><!-- 配置文件加载--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><! -- 中间配置log4j --><! -- 配置Spring的用于初始化容器对象的监听器--><listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>当Web应用启动时,将执行以下操作:①由Tomcat创建一个ServletContext,并自动载入<context-param>中的属性;②ContextLoaderListener检测到ServletContext的创建,运行Spring的相关程序;③Spring根据<context-param>中contextConfigLocation的指向,加载对应applicationContext.xml;④Spring根据applicationContext.xml的内容创建一个BeanFactory实例,并放入ServletContext 中。
web.xml配置文件详解
web应用发布描述文件(即web.xml文件)是在Servlet规范中定义的。
他是web应用的配置文件。
web.xml和tomcat容器完全独立。
<web-app></web-app>为顶层元素,其他所有子元素都必须定义在它的里面,而且要按元素定义的先后顺序不能颠倒。
下面介绍下它的子元素:1.<display-name> 该web站点的名称2.<description> 该web站点的说明3.<context-param> 用来设定该web站点的环境参数(context「配置应用上下文参数」),并初始化它①<param-name> 参数名称②<param-value> 参数值4.<filter> 设定该web站点的过滤器①<filter-name> 过滤器的名称②<filter-class> 指定过滤器的实现类,负责具体的过滤事务5.<filter-mapping> 设定该web站点的过滤器的映射①<filter-name> 过滤器的名称②<url-pattern> 指定过滤器负责过滤的URL6.<servlet> 设定该web站点的Servlet的名称和映射①<servlet-name> Servlet的名称②<servlet-class> 指定Servlet的实现类③<init-param> 定义servlet的初始化参数(包括参数名和参数值)(1)<param-name> 指定参数的参数名(2)<param-value> 指定参数的参数值④<load-on-startup> 指定当web应用启动时,装载servlet的次序。
当值为0或正数时,servlet容器先加载小的;如果值为负数或者没有设定,那么servlet容器将在web 客户首次访问这个servlet时加载它。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Web.xml常用元素<web-app><display-name></display-name>定义了WEB应用的名字<description></description>声明WEB应用的描述信息<context-param></context-param> context-param元素声明应用范围内的初始化参数。
<filter></filter>过滤器元素将一个名字与一个实现javax.servlet.Filter接口的类相关联。
<filter-mapping></filter-mapping>一旦命名了一个过滤器,就要利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联。
<listener></listener>servlet API的版本2.3增加了对事件监听程序的支持,事件监听程序在建立、修改和删除会话或servlet环境时得到通知。
Listener元素指出事件监听程序类。
<servlet></servlet>在向servlet或JSP页面制定初始化参数或定制URL时,必须首先命名servlet或JSP页面。
Servlet元素就是用来完成此项任务的。
<servlet-mapping></servlet-mapping>服务器一般为servlet提供一个缺省的URL:http://host/webAppPrefix/servlet/ServletName。
但是,常常会更改这个URL,以便servlet可以访问初始化参数或更容易地处理相对URL。
在更改缺省URL时,使用servlet-mapping元素。
<session-config></session-config>如果某个会话在一定时间内未被访问,服务器可以抛弃它以节省内存。
可通过使用HttpSession的setMaxInactiveInterval方法明确设置单个会话对象的超时值,或者可利用session-config元素制定缺省超时值。
<mime-mapping></mime-mapping>如果Web应用具有想到特殊的文件,希望能保证给他们分配特定的MIME类型,则mime-mapping元素提供这种保证。
<welcome-file-list></welcome-file-list>指示服务器在收到引用一个目录名而不是文件名的URL时,使用哪个文件。
<error-page></error-page>在返回特定HTTP状态代码时,或者特定类型的异常被抛出时,能够制定将要显示的页面。
<taglib></taglib>对标记库描述符文件(Tag Libraryu Descriptor file)指定别名。
此功能使你能够更改TLD文件的位置,而不用编辑使用这些文件的JSP页面。
<resource-env-ref></resource-env-ref>声明与资源相关的一个管理对象。
<resource-ref></resource-ref> 声明一个资源工厂使用的外部资源。
<security-constraint></security-constraint>制定应该保护的URL。
它与login-config元素联合使用<login-config></login-config>指定服务器应该怎样给试图访问受保护页面的用户授权。
它与sercurity-constraint元素联合使用。
<security-role></security-role>给出安全角色的一个列表,这些角色将出现在servlet元素内的security-role-ref元素的role-name子元素中。
分别地声明角色可使高级IDE处理安全信息更为容易。
<env-entry></env-entry>声明Web应用的环境项。
<ejb-ref></ejb-ref>声明一个EJB的主目录的引用。
< ejb-local-ref></ ejb-local-ref>声明一个EJB的本地主目录的应用。
</web-app>相应元素配置1、Web应用图标:指出IDE和GUI工具用来表示Web应用的大图标和小图标<icon><small-icon>/images/app_small.gif</small-icon><large-icon>/images/app_large.gif</large-icon></icon>2、Web 应用名称:提供GUI工具可能会用来标记这个特定的Web应用的一个名称<display-name>Tomcat Example</display-name>3、Web 应用描述:给出于此相关的说明性文本<disciption>Tomcat Example servlets and JSP pages.</disciption>4、上下文参数:声明应用范围内的初始化参数。
<context-param><param-name>ContextParameter</para-name><param-value>test</param-value><description>It is a test parameter.</description></context-param>在servlet里面可以通过getServletContext().getInitParameter("context/param")得到5、过滤器配置:将一个名字与一个实现javaxs.servlet.Filter接口的类相关联。
<filter><filter-name>setCharacterEncoding</filter-name><filter-class>com.myTest.setCharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>GB2312</param-value></init-param></filter><filter-mapping><filter-name>setCharacterEncoding</filter-name><url-pattern>/*</url-pattern></filter-mapping>6、监听器配置<listener><listerner-class>listener.SessionListener</listener-class></listener>7、Servlet配置基本配置<servlet><servlet-name>snoop</servlet-name><servlet-class>SnoopServlet</servlet-class></servlet><servlet-mapping><servlet-name>snoop</servlet-name><url-pattern>/snoop</url-pattern></servlet-mapping>高级配置<servlet><servlet-name>snoop</servlet-name><servlet-class>SnoopServlet</servlet-class><init-param><param-name>foo</param-name><param-value>bar</param-value></init-param><run-as><description>Security role for anonymous access</description><role-name>tomcat</role-name></run-as></servlet><servlet-mapping><servlet-name>snoop</servlet-name><url-pattern>/snoop</url-pattern></servlet-mapping>元素说明<servlet></servlet> 用来声明一个servlet的数据,主要有以下子元素:<servlet-name></servlet-name> 指定servlet的名称<servlet-class></servlet-class> 指定servlet的类名称<jsp-file></jsp-file> 指定web站台中的某个JSP网页的完整路径<init-param></init-param> 用来定义参数,可有多个init-param。
在servlet类中通过getInitParamenter(String name)方法访问初始化参数<load-on-startup></load-on-startup>指定当Web应用启动时,装载Servlet的次序。