【精选】webxml配置详细说明教程

合集下载

web.xml详细配置

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 路径下。

web.xml详解

web.xml详解

web.xml详解我们都知web项⽬的运⾏,通常会⾸先加载web.xml⽂件,但却对web.xml⽂件知之甚少,今天就来揭开它的⾯纱,⼀睹它的真容!⼀.web.xml是什么?web.xml是web项⽬的配置⽂件,⼀般的web⼯程都会⽤到web.xml来配置,主要⽤来配置Listener,Filter,Servlet等。

但需要注意的是:web.xml并不是必须的,⼀个web⼯程可以没有web.xml⽂件⼆.web项⽬加载web.xml过程Tomcat启动web项⽬时,web容器就会的加载⾸先加载web.xml⽂件,加载过程如下:1.web项⽬加载web.xml,读取context-param和listener这两个结点,2.创建⼀个ServletContext(Servlet上下⽂),整个项⽬会共享这个ServletContext3.容器将<context-param>转换为键值对,并交给ServletContext4.容器创建<listener>中的类实例,创建监听器三.web.xml元素详解⾸先是表明xml的使⽤版本。

<?xml version="1.0" encoding="UTF-8"?>web-app是web.xml的根元素,包含着web.xml所有⼦元素。

xmlns以及xmlns:xsi后⾯引进的连接是表明web.xml引进的模式⽂件,便能拥有该模式的相关功能。

<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>指明项⽬名称<display-name>web-SSMTest</display-name>web项⽬加载web.xml⾸先读取这两个结点,加载spring容器及创建spring监听器;ApplicationContext.xml 是spring 全局配置⽂件,⽤来控制spring 特性的ContextLoaderListener的作⽤就是启动Web容器时,⾃动装配ApplicationContext的配置信息。

webxml的基本参数和配置

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.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配置详解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>中的映射路径是“/”,匹配所有路径。

Servlet2.4中web.xml配置及说明

Servlet2.4中web.xml配置及说明

Servlet2.4中web.xml配置及说明&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;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"&gt;&lt;!-- icon元素指出IDE和GUI工具用来表示Web应用的一个和两个图像文件的位置--&gt;&lt;icon&gt;&lt;small-icon&gt;/images/small.gif&lt;/small-icon&gt;&lt;!-- 16*16 --&gt;&lt;large-icon&gt;/images/large.jpg&lt;/large-icon&gt;&lt;!-- 32*32 --&gt;&lt;/icon&gt;&lt;!-- display-name元素提供GUI工具可能会用来标记这个特定的Web应用的一个名称--&gt;&lt;display-name&gt;The applicaitonname&lt;/display-name&gt;&lt;!-- description元素给出与此有关的说明性文本--&gt; &lt;description&gt;A longer description of the application&lt;/description&gt;&lt;!-- 用于告知Web容器: 应用设计为在分布式Web容器中运行. --&gt;&lt;distributable /&gt;&lt;!-- context-param元素声明应用范围内的所有组件(servlet和JSP页面)都可用的上下文参数--&gt;&lt;context-param&gt;&lt;!-- 参数名称--&gt;&lt;param-name&gt;Support&lt;/param-name&gt;&lt;!-- 参数值--&gt;&lt;param-value&gt;xihaikun@&lt;/param-value&g t;&lt;/context-param&gt;&lt;!-- 注册一个过滤器组件--&gt;&lt;filter&gt;&lt;!-- 描述--&gt;&lt;description&gt;&lt;/description&gt;&lt;!-- 名称--&gt;&lt;display-name&gt;&lt;/display-name&gt;&lt;icon&gt;&lt;/icon&gt;&lt;!-- 过滤器名称--&gt;&lt;filter-name&gt;filtername&lt;/filter-name&gt;&lt;!-- 具体类--&gt;&lt;filter-class&gt;com.ebuilds.Filter&lt;/filter-class&gt; &lt;!-- 初始化参数--&gt;&lt;init-param&gt;&lt;param-name&gt;&lt;/param-name&gt;&lt;param-value&gt;&lt;/param-value&gt;&lt;/init-param&gt;&lt;/filter&gt;&lt;!-- 将过滤器映像至一个URI模式, 或者映像至一个Servlet. --&gt;&lt;filter-mapping&gt;&lt;filter-name&gt;filtername&lt;/filter-name&gt;&lt;url-pattern&gt;&lt;/url-pattern&gt;&lt;/filter-mapping&gt;&lt;filter-mapping&gt;&lt;filter-name&gt;filtername&lt;/filter-name&gt;&lt;servlet-name&gt;servletName&lt;/servlet-name&gt; &lt;/filter-mapping&gt;&lt;!-- 注册一个监听器--&gt;&lt;listener&gt;&lt;listener-class&gt;com.ebuilds.ajax.TaskListener&lt;/list ener-class&gt;&lt;/listener&gt;&lt;!-- 定义了Servlet或JSP页面的细节. 最常见的情况是, 此元素仅把一个Servlet或JSP页面与一个短名相关联, 并指定初始化参数: --&gt;&lt;servlet&gt;&lt;!-- servlet-name元素用来定义servlet的名称,该名称在整个应用中必须是惟一的--&gt;&lt;servlet-name&gt;TimeServlet&lt;/servlet-name&gt;&lt;!-- 用来指定servlet的完全限定的名称--&gt;&lt;servlet-class&gt;com.ebuilds.ajax.TimeServlet&lt;/servl et-class&gt;&lt;!-- 元素用来指定应用中JSP文件的完整路径。

web.xml配置详细说明教程

Web.xml常用元素<web-ap‎p><display-name></‎d isplay-name>定义了WEB应‎用的名字<description><‎/description>声明WEB应‎用的描述信息<context-pa‎r am></context-param>‎context-param元素声明应用‎范围内的初始化参数。

<filter>‎</filter>过滤器元素将一个名字‎与一个实现javax.servlet.F‎i lter接口的类相关联。

<filt‎e r-mapping></filter-‎m apping>一旦命名了一个过滤器,‎就要利用filter-mapping元素‎把它与一个或多个servlet或JSP页‎面相关联。

<listener></l‎i stener>servlet API的‎版本2.3增加了对事件监听程序的支持,事‎件监听程序在建立、修改和删除会话或ser‎v let环境时得到通知。

‎Liste‎n er元素指出事件监听程序类。

<se‎r vlet></servlet>在向s‎e rvlet或JSP页面制定初始化参数或‎定制URL时,必须首先命名servlet‎或JSP页面。

Servlet元素就是用来‎完成此项任务的。

<servlet-m‎a pping></servlet-map‎p ing>服务器一般为servlet提‎供一个缺省的URL:http://hos‎t/webAppPrefix/servl‎e t/ServletName。

‎但是,常常会更改这‎个URL,以便servlet可以访问初始‎化参数或更容易地处理相对URL。

在更改缺‎省URL时,使用servlet-mapp‎i 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配置

●●Web.xml是非必须的;对于tomcat来说,当你只指定一个web的根名,没有指定具体页面,去访问时一个web时,如果web.xml文件中配置了欢迎页,那么就返回指定的那个页面作为欢迎页,而在文中没有web.xml文件,或虽然有web.xml,但web.xml也没指定欢迎页的情况下,它默认先查找index.html文件,如果找到了,就把index.html作为欢迎页还回给浏览器。

如果没找到index.html,tomcat就去找index.jsp。

找到index.jsp就把它作为欢迎页面返回。

而如果index.html和index.jsp都没找到,又没有用web.xml文件指定欢迎页面,那此时tomcat就不知道该返回哪个文件了,它就显示The requested resource (/XXX) is not available的页面。

其中XXX表示web的根名。

但如果你指定了具体页面,是可以正常访问的。

●content-param --> listener --> filter --> servlet●1、启动WEB项目的时候,应用服务器会去读它的配置文件web.xml.读两个节点:<listener></listener> 和<context-param></context-param>2、紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.3、容器将<context-param></context-param>转化为键值对,并交给ServletContext.4、容器创建<listener></listener>中的类实例,即创建监听.5、在监听中会有contextInitialized(ServletContextEvent args)初始化方法,在这个方法中获得:ServletContext = ServletContextEvent.getServletContext();context-param的值= ServletContext.getInitParameter("context-param的键");6、得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早.换句话说,这个时候,你对<context-param>中的键值做的操作,将在你的WEB项目完全启动之前被执行. 如果想在项目启动之前就打开数据库,那么这里就可以在<context-param>中设置数据库的连接方式,在监听类中初始化数据库的连接,这个监听是自己写的一个类,除了初始化方法,它还有销毁方法.用于关闭应用前释放资源.比如说数据库连接的关闭.web.xml 的加载顺序是:context-param -> listener -> filter-> servlet ,而同个类型之间的实际程序调用的时候的顺序是根据对应的mapping 的顺序进行调用的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
<resource-env-ref></resource-env-ref>声明与资源相关的一个管理对象。
<resource-ref></resource-ref>声明一个资源工厂使用的外部资源。
<security-constraint></security-constraint>制定应该保护的URL。它与login-config元素联合使用
<mime-mapping></mime-mapping>如果Web应用具有想到特殊的文件,希望能保证给他们分配特定的MIME类型,则mime-mapping元素提供这种保证。
<welcome-file-list></welcome-file-list>指示服务器在收到引用一个目录名而不是文件名的URL时,使用哪个文件。
<servlet-mapping></servlet-mapping>用来定义servlet所对应的URL,包含两个子元素
<servlet-name></servlet-name>指定servlet的名称
<url-pattern></url-pattern>指定servlet所对应的URL
8、会话超时配置(单位为分钟)
的role-name子元素中。分别地声明角色可使高级IDE处理安全信息更为容易。
<env-entry></env-entry>声明Web应用的环境项。
<ejb-ref></ejb-ref>声明一个EJB的主目录的引用。
< ejb-local-ref></ ejb-local-ref>声明一个EJB的本地主目录的应用。
4、上下文参数:声明应用范围内的初始化参数。
<context-param>
<param-name>ContextParameter</para-name>
<param-value>test</param-value>
<description>It is a test parameter.</description>
<url-pattern>/snoop</url-pattern>
</servlet-mapping>
高级配置
<servlet>
<servlet-name>snoop</servlet-name>
<servlet-class>SnoopServlet</servlet-class>
<init-param>
<filter></filter>过滤器元素将一个名字与一个实现javax.servlet.Filter接口的类相关联。
<filter-mapping></filter-mapping>一旦命名了一个过滤器,就要利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联。
<listener></listener>servlet API的版本2.3增加了对事件监听程序的支持,事件监听程序在建立、修改和删除会话或servlet环境时得到通知。
</taglib>
如果MyEclipse一直在报错,应该把<taglib>放到<jsp-config>中
<jsp-config>
<taglib>
<taglib-uri>/tomcat/debug-taglib</taglib-uri>
<taglib-location>/WEB-INF/pager-taglib.tld</taglib-location>
</web-app>
相应元素配置
1、Web应用图标:指出IDE和GUI工具用来表示Web应用的大图标和小图标
<icon>
<small-icon>/images/app_small.gif</small-icon>
<large-icon>/images/app_large.gif</large-icon>
<session-config>
<session-timeout>120</session-timeout>
</session-config>
9、MIME类型配置
<mime-mapping>
<extension>htm</extension>
<mime-type>text/html</mime-type>
Listener元素指出事件监听程序类。
<servlet></servlet>在向servlet或JSP页面制定初始化参数或定制URL时,必须首先命名servlet或JSP页面。Servlet元素就是用来完成此项任务的。
<servlet-mapping></servlet-mapping>服务器一般为servlet提供一个缺省的URL:http://host/webAppPrefix/servlet/ServletName。
<filter-class>com.myTest.setCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GB2312</param-value>
</init-param>
Web.xml常用元素
<web-app>
<display-name></display-name>定义了WEB应用的名字
<description></description>声明WEB应用的描述信息
<context-param></context-param>context-param元素声明应用范围内的初始化参数。
</taglib>
</jsp-config>
13、资源管理对象配置
<resource-env-ref>
<resource-env-ref-name>jms/StockQueue</resource-env-ref-name>
</listener>
7、Servlet配置
基本配置
<servlet>
<servlet-name>snoop</servlet-name>
<servlet-class>SnoopServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>snoop</servlet-name>
</mime-mapping>
10、指定欢迎文件页配置
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
</context-param>
在servlet里面可以通过getServletContext().getInitParameter("context/param")得到
5、过滤器配置:将一个名字与一个实现javaxs.ser>
<filter-name>setCharacterEncoding</filter-name>
</filter>
<filter-mapping>
<filter-name>setCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
6、监听器配置
<listener>
<listerner-class>listener.SessionListener</listener-class>
<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)方法访问初始化参数
相关文档
最新文档