<?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">
<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>

本文链接地址:一个很详细的web.xml讲解    转载请保留,谢谢!

web.xml讲解的更多相关文章

  1. 一个很详细的web.xml讲解(转)

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "- ...

  2. 一个很详细的web.xml讲解

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "- ...

  3. Spring Security 从配置入门 学习讲解。万恶之源------------web.xml

    这段时间,工作闲了下来,接触了Spring Security,对于我一个基础很差的人来说,无疑是个挑战啊. 经过一段时间的摸索,终于有了点眉目,在这里,要特别感谢http://blog.csdn.ne ...

  4. web.xml关于spring的讲解

    <context-param>的作用: web.xml的配置中<context-param>配置作用 . 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件w ...

  5. web.xml配置中的log4jRefreshInterval讲解

    采用spring框架的项目如何使用log4j在spring中使用log4j,有些方便的地方, 1.动态的改变记录级别和策略,即修改log4j.properties,不需要重启web应用,这需要在web ...

  6. Struts.xml讲解

    解决在断网环境下,配置文件无提示的问题我们可以看到Struts.xml在断网的情况下,前面有一个叹号,这时,我们按alt+/ 没有提示,这是因为” http://struts.apache.org/d ...

  7. 项目总结SpringMVC+hibernate框架 web.xml 分析(2)

    紧接 项目总结SpringMVC+hibernate框架 原理(MVC) applicationContext.xml 文件(3) 这一步讲解项目模块化的配置,项目中每个模块配置一个文件,命名规则为 ...

  8. web.xml文件中的7个错误的安全配置

    web.xml文件中的7个错误的安全配置 关于Java的web.xml文件中配置认证和授权有大 量 的 文章.本文不再去重新讲解如何配置角色.保护web资源和设置不同类型的认证,让我们来看看web.x ...

  9. Struts2第二篇【开发步骤、执行流程、struts.xml讲解、defalut-struts讲解】

    前言 我们现在学习的是Struts2,其实Struts1和Struts2在技术上是没有很大的关联的.Struts2其实基于Web Work框架的,只不过它的推广没有Struts1好,因此就拿着Stru ...

随机推荐

  1. 在现有代码中通过async/await实现并行

    在现有代码中通过async/await实现并行 一项新技术或者一个新特性,只有你用它解决实际问题后,才能真正体会到它的魅力,真正理解它.也期待大家能够多分享解一些解决实际问题的内容. 在我们遭遇“黑色 ...

  2. jQuery Tags Input 插件显示选择记录

    利用jQuery Tags Input 插件显示选择记录 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采 ...

  3. c# 控制职能运行单一实例,再次运行显示已经运行的实例

    有这么个需求,软件只能运行一个实例,软件运行后可以让其隐藏运行 再次运行这个软件的时候就让正在运行的实例显示出来 ================================= 当软件隐藏后没办法 ...

  4. hive UDAF开发入门和运行过程详解(转)

    介绍 hive的用户自定义聚合函数(UDAF)是一个很好的功能,集成了先进的数据处理.hive有两种UDAF:简单和通用.顾名思义,简单的UDAF,写的相当简单的,但因为使用Java反射导致性能损失, ...

  5. NoSQL发展简史、粗略分类及选择

    这里对近来看的部分NoSQL资料做一个汇总记录,主要包括简史.粗略分类及数据库选择的考虑事项.NoSQL常见的解释是“non-relational”,有时也称作Not Only SQL.     1. ...

  6. start running 开始跑步减肥

    begin 两个月前,逛超市的时候站在体重秤上称了称,一直以为自己体重很正常(BMI<25,虽然也不轻~~~),结果直接迈过超重,奔着肥胖跑去了(BMI>30,BMI计算器 http:// ...

  7. TOGAF架构能力框架之架构能力建设和架构治理

    TOGAF架构能力框架之架构能力建设和架构治理 为了确保架构功能在企业中能够被成功地运用,企业需要通过建立适当的组织结构.流程.角色.责任和技能来实现其自身的企业架构能力,而这也正是TOGAF的架构能 ...

  8. ios学习笔记之UIViewControl生命周期

    提到UIViewcontrol,每个人都不会陌生吧!平时实际开发中,每天的实际开发应该都少不了它.学过android的各位亲,也对生命周期这四个字并不陌生,无论是activity,还是service, ...

  9. WPF中StackPanel的使用方法

    StackPanel 1.StackPanel:释义为是最简单的控制面板,它把其中的UI元素按横向或纵向堆积排列. 2.常用属性:width:获取或设置元素的宽度.Orientation:用于控制面板 ...

  10. Hadoop Streaming框架学习2

    Hadoop Streaming框架学习(二) 1.常用Streaming命令介绍 使用下面的命令运行Streaming MapReduce程序: 1: $HADOOP_HOME/bin/hadoop ...