web.xml配置详细说明教程

合集下载

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详细配置

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配置

struts_web.xml配置
<welcome-file-list>
<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的基本参数和配置

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中常见元素的配置(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.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.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元素。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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的次序。

相关文档
最新文档