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>