您的位置:首页 > 其它

web.xml的配置文件讲解

2016-07-18 22:42 477 查看
每一个规范的web应用在WEB-INF目录下都应该有一个web.xml配置文件,用来对web应用的属性进行配置。web.xml配置文件包含的内容很多,但是基本的配置应该包括如下几部分:

环境参数初始化

Servlet配置

过滤器配置

监听器配置

JNDI配置

Session配置

JSP网页相关配置

MIME TYPE配置

welcome文件清单

错误处理

根元素和头

因为该配置文件是一个xml文档,因此必须遵循xml的书写规范,例如大小写敏感,需要声明版本号和字符编码等,一个没有任何配置的原始的xml文件为:

 
 <?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

           http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

    version="2.4">

</web-app>
 

 环境参数初始化

根元素:<init-param>

子元素:<param-name>和<param-value>,分别对应参数的名称和参数取值,其中全局参数的设置必须在与文档有关的元素之后,而必须在filter、listener及servlet等元素之前;Servlet的初始参数在<servlet-class>之后;jsp中初始参数在<jsp-file>之后;filter初始参数在<filter-class>之后。应用范围内的初始化参数可以通过ServletContext的getInitParameter()方法获得。

 
  <!--全局范围内环境参数初始化-->

 <context-param>  

  <param-name>username</param-name>

  <param-value>Lily</param-value>  

 </context-param>
 

Servlet配置

该配置在Servlet简介一文中有相关介绍,在这儿就省略了,要增加的一点说明就是如果一个Servlet有多个映射,则需要写多个<servlet-mapping>模块,而不能在一个<servlet-mapping>中写多个<url-pattern>。

 
 <servlet>

  <description>add affice</description>

  <display-name>Affice_add</display-name>

  <servlet-name>Affice_add</servlet-name>

  <servlet-class>servlets.Affice_add</servlet-class>

  <init-param>

   <param-name>...</param-name>

   <param-value>...</param-value>

  </init-param>

 </servlet>

 <!--servlet映射名称及映射路径-->

 <servlet-mapping>

  <servlet-name>Affice_add</servlet-name>

  <url-pattern>/affice/affice_add</url-pattern>

 </servlet-mapping>
 

过滤器配置

过滤器可以截取和修改一个Servlet或JSP页面的请求或从一个Servlet或JSP页面发出的响应,用<filter>元素和<filter-mapping>元素完成设置,具体配置见本空间《Servlet过滤器配置》一文。

 
 <!--过滤器定义-->

 <filter>

    <filter-name>EncodingFilter</filter-name>

    <filter-class>filter.EncodingFilter</filter-class> 

    <init-param>

     <param-name>Encoding</param-name>

     <param-value>GB2312</param-value>

    </init-param>  

    </filter>

 <!--过滤器映射路径,可以与一个或多个Servlet或jsp页面相关联-->

    <filter-mapping>

     <filter-name>EncodingFilter</filter-name>

     <url-pattern>/*</url-pattern>

  </filter-mapping> 
 

 监听器配置

    注册一个监听程序用<listener>元素,在listener元素中,只有一个<listener-class>子元素,指明监听器对应的类。

 
 <!--监听器配置-->

 <listener>

  <listener-class>listener.OnlineListener</listener-class>

 </listener>
数据库连接池配置 

(可参考《tomcat数据库连接池配置》一文)

 
 <!--数据库连接池配置-->

 <resource-ref>

    <description>DataSource</description><!--描述-->

    <res-ref-name>jdbc/mysql/bookstore</res-ref-name><!--资源名称-->

    <res-type>javax.sql.DataSource</res-type><!--资源类型-->

    <res-auth>Container</res-auth><!--指出由Application或Container提供-->

 </resource-ref>
 

 Session配置

     如果某个会话在一定时间未被访问,则服务器可以扔掉以节约内存,该功能的实现可借助web.xml文件来实现,使用<session-config>及其子元素<session-timeout>,其中过期时间以分钟为单位

 
 <!--设置会话过期时间-->

 <session-config>

  <session-timeout>180</session-timeout>

 </session-config>
 JSP网页相关配置

      <jsp-config>元素主要用来设置JSP的相关配置,该元素包括<taglib>和<jsp-property-group>两个子元素,分别完成标签库和JSP相关属性的设置。

 
 <jsp-config>

  <!--自定义标签配置-->

  <taglib>

   <taglib-uri>/formtag</taglib-uri> <!-与tld中的uri一致-->

   <taglib-location>/WEB-INF/tlds/FormTag.tld</taglib-location><!-tld文件路径-->

  </taglib>

  <!--设置jsp-property-group-->

  <jsp-property-group>

   <display-name>bookstore4</display-name>

   <url-pattern>*.jsp</url-pattern> <!-设定影响范围-->

   <el-ignored>false</el-ignored> <!-是否支持EL语法-->

   <scripting-invalid>false</scripting-invalid>  <!-是否支持脚本--> 

   <page-encoding>gb2312</pageencoding> <!-设置编码-->

   <include-prelude>head.jspf</include-prelude> <!--设置jsp网页的抬头-->

   <include-coda>end.jspf</include-coda>  <!--设置jsp网页的结尾-->

   </jsp-property-group>

  </jsp-config>  
 

Welcome文件清单

     指出默认的欢迎界面,按照顺序依次查找,直到找到对应的页面为止。

 
 <!--welcome欢迎清单-->

 <welcome-file-list>

  <welcome-file>index.html</welcome-file>

  <welcome-file>index.htm</welcome-file>

  <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>
 

错误处理

      主要是当JSP页面或Servlet出现错误或者抛出异常时,显示指定的页面。

      根元素:<error-page>

      子元素:<error-code>设置HTTP错误代码;<exception-type>设置java异常类型,<error-location>元素用来设置发生错误或异常时要显示的页面。

 
 <!--错误处理-->

 <error-page>

  <error-code>404</error-code>

  <location>/notfound.jsp</location>

 </error-page>

 <error-page>

  <exception-type>exception.BookNotFound</exception-type>

  <location>/exception.jsp</location>

 </error-page>
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: