web.xml详解

每一个站的WEB-INF下都有一个web.xml文件,它提供了我们站台的配置设定

<!-- 这是一般在写XML时所作的声明,定义了XML的版本,编码格式,web-app中参数指明schema的来源 -->
<?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_3_0.xsd" id="WebApp_ID" version="3.0">
  <!--工程起始页配置  工程启动时,如果没有指定具体启动哪个jsp界面,则系统会首先启动input.jsp界面,如果找不到此界面,则依次向下找界面,知道启动成功。-->
  <welcome-file-list>
    <welcome-file>input.jsp</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <!--servlet配置  -->
  <servlet>
    <servlet-name>ModifyItemServlet</servlet-name>  //servlet名称
    <servlet-class>com.bjpowernode.drp.basedata.web.ModifyItemServlet</servlet-class>  //要访问的servlet的java类的位置(哪个包下的什么文件)
    <init-param>
       <param-name>debug</param-name>//参数名称(注:只是举个例子),此参数只有在这个servlet被访问时才能使用。访问其他界面或servlet时,这个参数是不能被使用的。
       <param-value>0</param-value>//参数初始值
    </init-param>
    <load-on-startup>1</load-on-startup>//servlet的启动优先级.该元素在web应用启动的时候就指定了servlet被夹在的顺序。他的值必须是一个整数。如果它的值为一个负整数或者这个元素不存在,则容器会在该servlet被调用的时候才加载。而如果这个值是正整数或0,则容器在配置即tomcat启动的时候,就初始化这个servlet了。值小的会先被加载,如果值相等,则容器自动选择先加载谁。
  </servlet>
  <servlet-mapping>
    <servlet-name>ModifyItemServlet</servlet-name>  //servlet名称
    <url-pattern>/servlet/item/ModifyItemServlet</url-pattern>  //用户访问时用的url值
  </servlet-mapping>
 
  <!-- 错误页配置 -->
  <error-page>
    <exception-type>com.bjpowernode.drp.util.ApplicationException</exception-type>  //发生的某个(系统自带或自定义)java异常
    <location>/error.jsp</location> //发生此异常时,转到的错误处理界面
  </error-page>
  <error-page>
    <error-code>500</error-code>  //发生的http错误代码
    <location>/http_error.jsp</location>  //发生此错误时,要转到的界面
  </error-page>
  <!--listener配置  -->
  <listener>
    <listener-class>com.bjpowernode.drp.util.listener.InitListener</listener-class>  //listener类所在哪个包哪个类中
  

  <!-- filter配置 -->
 <filter>
  	<filter-name>AuthFilter</filter-name>  //filter名称
  	<filter-class>com.bjpowernode.drp.util.filter.AuthFilter</filter-class>  //要调用的filter类的位置(哪个包的哪个java类)
  </filter>
  <filter-mapping>
  	<filter-name>AuthFilter</filter-name>  //filter名称
  	<url-pattern>*.jsp</url-pattern>    //在什么情况下运行filter。此处为在加载任何jsp界面时,运行此filter
  </filter-mapping>
  <!-- 此处为用filter实现缓存的配置 --> 
  <filter>
  	<filter-name>WebCacheFilter</filter-name>
  	<filter-class>com.bjpowernode.drp.util.filter.WebCacheFilter</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>WebCacheFilter</filter-name>
  	<url-pattern>*.gif</url-pattern>  //当gif格式的图片被加载时,运行此filter文件,采用缓存。
  </filter-mapping>
  <filter-mapping>
  	<filter-name>WebCacheFilter</filter-name>
  	<url-pattern>*.jpg</url-pattern>
  </filter-mapping>  
  
<!—定义利用JNDI取得站台可利用的资源  -->  
<resource-ref>
	<description>Oracle Datasource example</description>  //资源说明
	<res-ref-name>jdbc/drp</res-ref-name>  //资源名称
	<res-type>javax.sql.DataSource</res-type>  //资源种类
	<res-auth>Container</res-auth> //资源经由Application或Container来许可
  </resource-ref>
  <!-- 此处定义的参数可在此工程的任意的jsp和servlet中使用 ,通过ServletContext的getInitParameter方法读取-->
  <context-param>
    <param-name>page-size</param-name>
    <param-value>2</param-value>
  </context-param>
  <!—用来定义这个web站台所有session的有效期限,单位为分钟 -->
  <session-config>
	<session-timeout>30</session-timeout>
  </session-config>
  
</web-app>

posted @ 2012-03-15 12:33  转航  阅读(307)  评论(0编辑  收藏  举报