web.xml详解

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE web-app PUBLIC "-    //Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "[http://java.sun.com/dtd/web-app_2_3.dtd]  (http://java.sun.com/dtd/web-app_2_3.dtd)">
<web-app>
<display-name>Sample Application</display-name> 
<description>This is a sample application</description> <filter>     <!–过滤器名,可以随便取,当web应用中有多个过滤器时不允许重名.–>
<filter-name>SampleFilter</filter-name>
 <!–具体的过滤器的类的完整的包名+类名。注意:不能写错了。否则容器不能正确的实例化过滤器–> 
<filter-class>mypack.SampleFilter</filter-class> 
<init-param> 
<!– 参数名 –> 
<param-name>initParam1</param-name>
 <!– 参数值 –>
 <param-value>2</param-value>
 </init-param>
 </filter> <!– Define the SampleFilter Mapping –> <filter-mapping>
 <!–过滤器名,注意要和上面的<filter-name>里的名字一样。–> 
<filter-name>SampleFilter</filter-name>
 <!– 指定过滤器负责过滤的URL。这里指定了*.jsp表示在访问任何一个jsp页面时都会先使用mypack.SampleFilter过滤器进行过滤。如果写成login.jsp.则只有在访问login.jsp时才会调用该过滤器进行过滤。–> 
<url-pattern>*.jsp</url-pattern>
 </filter-mapping>
 <servlet>
 <!– Servlet名字,可以随便取,有多个Servlet时不允许重名–>
 <servlet-name>SampleServlet</servlet-name>
 <!–指定实现这个Servlet的类。完整的包名+类名–> 
<servlet-class>mypack.SampleServlet</servlet-class> 
<!–定义Servlet的初始化参数(包括参数名和参数值)一个<servlet>元素里可以有多个<init-param>元素。在Servlet类中通过ServletConfig类的来访问这些参数。 –> 
<init-param>
 <!– 参数名 –> 
<param-name>initParam1</param-name> 
<!– 参数值 –> 
<param-value>2</param-value> 
</init-param>
 <!–指定当前Web应用启动时装载Servlet的次序。当这个数>=0时,容器会按数值从小到大依次加载。如果数值<0或没有指定,容器将载Web客户首次访问这个Servlet时加载。–>
 <load-on-startup>1</load-on-startup>
 </servlet>
 <!– Define the SampleServlet Mapping –> 
<servlet-mapping> 
<!–必须和<servlet>里的<servlet-name>内容一样–> 
<servlet-name>SampleServlet</servlet-name>
 <!–指定访问这个Servlet的URL。这里给出的是对于整个Web应用的相对URL路径。–>
 <url-pattern>/sample</url-pattern> 
</servlet-mapping> 
<session-config>
 <!–设 定HttpSession的生命周期。这里以分钟计算。下面的设定指明Session在最长不活动时间为10分钟。过了这个时间,Servlet容器将它 作为无效处理。注意这里和程序里指定的计数单位不同,程序里是以秒为单位。<session-config>只有<session- timeout>这个元素–>
 <session-timeout>10</session-timeout> 
</session-config> 
<!— 配置会话侦听器,class表示一个HttpSessionListener或 HttpSessionActivationListener 或 HttpSessionAttributeListener或 HttpSessionBindingListener的实现类。该节点允许多个 –>
 <listener>
 <listener-class>com.cn.SessionListenerImpl</listener-class> 
</listener> 
<!– 在 用户访问Web应用时,如果仅给出Web应用的根访问URL,没有指定具体的文件名,容器会调用<weblcome-file- list> 元素里指定的文件清单。<welcome-file-list>里允许有多个<welcome-file>元 素,每个元素代表一个文件。容器会先找第一文文件件是否存在,如果存在这把这个文件返回个客户,不再进行其他文件的查找。如果不存在则找第二个文件,依次 类推。如果所有文件都不存在,则跑出404错误–> 
<welcome-file-list>
 <welcome-file>login.jsp</welcome-file> 
<welcome-file>index.htm</welcome-file> 
</welcome-file-list>
 <!– 设置Web应用引用的自定义标签库。下面的代码定义了一个/mytaglib标签库,它对应的TLD文件为/WEB-INF/mytaglib.tld –>
 <taglib>
 <taglib-uri>/mytaglib</taglib-uri>
 <taglib-location>/WEB-INF/mytaglib.tld</taglib-location>
 </taglib> 
<!– 如果Web应用访问了由Servlet容器管理的某个JNDI Resource必须在这里声明对JNDI Resource的引用 –> 
<resource-ref>
 <!– 对应用资源的说明 –>
 <description>DB Connection</description>
 <!– 指定所引用资源的JNDI名字 –> 
<res-ref-name>jdbc/sampleDb</res-ref-name> 
<!– 指定所引用资源的类名字 –> 
<res-type>javax.sql.DataSource</res-type>
 <!– 指定管理所引用资源的Manager, 它有两个可选值:Container和Application.Container表示由容器来创建和管理Resource,Application表示由Web应用来管理和创建Resource –> 
<res-auth>Container</res-auth> 
</resource-ref> 
<security-constraint> 
<web-resource-collection>
 <!– 这个名字是必须的,由工具使用,别的地方不使用 –> 
<web-resource-name>my application</web-resource-name>
 <!– 指定要受约束的资源,至少有一个。可以有多个. –> 
<uri-pattern>/*</uri-pattern>
 <!– 描 述了度可与URL模式指定的资源哪些方法是受约束的,如果没有    <http-method>元素,表示任何角色的人都无法访问任何http的方 法  。这里放置了GET方法,表示只有GET方法是受约束的。其他任何角色的人可以访问POST和其他的方法。但不能访问GET方法。–>
 <http-method>GET</http-method>
 </web-resource-collection>
 <!– 如果没有<auth-constraint>表示所有角色都能访问GET方法,如果是<auth-constraint/>表示任何角色都不能访问GET方法 –> 
<auth-constraint>
 <!– 可选的。表示哪些角色能够在指定的资源上调用受约束的方法。这里表示只有拥有Admin和Member角色的人能够访问GET方法
 <security-role>>里的<role-name>值一样 –> 
<role-name>Admin</role-name> 
<role-name>Member</role-name>
 </auth-constraint>
 </security-constraint> 
<!– 将指定的角色映射到web.xml里 –> <security-role>
 <description>The role that is required to log into the my Application 
</description>
 <!– 以下的角色和tomcat-users.xml里的<tomcat-users>里的    <role rolename=""/>里的rolename属性值对应 –> 
<role-name>Guest</role-name> 
<role-name>Admin</role-name> 
<role-name>Member</role-name>
 </security-role>
 <!– 如果要想进行认证,必须有<login-config>–>
 <login-config>
 <!– 认证方式。有4种:BASIC:基本。 DIGEST:摘要。CLIENT-CERT:客户证书(能提供最高强度的认证)。FORM:表单 –> 
<auth-method>FORM</auth-method>
 <realm-name>
 Tomcat Servet Configuraton Form-Based Authentication Area
 </realm-name>
 <form-login-config>
 <form-login-page>/login.jsp</form-login-page>
 <form-error-page>/error.jsp</form-error-page>
 </form-login-config> 
</login-config> 
</web-app>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容