博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个很详细的web.xml讲解
阅读量:5324 次
发布时间:2019-06-14

本文共 3964 字,大约阅读时间需要 13 分钟。

Sample Application
This is a sample application
SampleFilter
mypack.SampleFilter
initParam1
2
里的名字一样。–>
SampleFilter
*.jsp
SampleServlet
mypack.SampleServlet
元素里可以有多个
元素。在Servlet类中通过ServletConfig类的来访问这些参数。 –>
initParam1
2
=0时,容器会按数值从小到大依次加载。如果数值<0或没有指定,容器将载Web客户首次访问这个Servlet时加载。–>
1
里的
内容一样–>
SampleServlet
/sample
只有
这个元素–>
10
com.cn.SessionListenerImpl
元素里指定的文件清单。
里允许有多个
元 素,每个元素代表一个文件。容器会先找第一文文件件是否存在,如果存在这把这个文件返回个客户,不再进行其他文件的查找。如果不存在则找第二个文件,依次 类推。如果所有文件都不存在,则跑出404错误–>
login.jsp
index.htm
/mytaglib
/WEB-INF/mytaglib.tld
DB Connection
jdbc/sampleDb
javax.sql.DataSource
Container
my application
/*
元素,表示任何角色的人都无法访问任何http的方 法 。这里放置了GET方法,表示只有GET方法是受约束的。其他任何角色的人可以访问POST和其他的方法。但不能访问GET方法。–>
GET
表示所有角色都能访问GET方法,如果是
表示任何角色都不能访问GET方法 –>
>里的
值一样 –>
Admin
Member
The role that is required to log into the my Application
里的
里的rolename属性值对应 –>
Guest
Admin
Member
–>
FORM
Tomcat Servet Configuraton Form-Based Authentication Area
/login.jsp
/error.jsp

 

  •  格式定义:
[html] 
 
  1. <context-param>  
  2. <param-name>contextConfigLocation</param-name>  
  3. <param-value>contextConfigLocationValue></param-value>  
  4. </context-param>  

作用:该元素用来声明应用范围(整个WEB项目)内的上下文初始化参数。

param-name 设定上下文的参数名称。必须是唯一名称

param-value 设定的参数名称的值

  • 初始化过程:
    1. 在启动Web项目时,容器(比如Tomcat)会读web.xml配置文件中的两个节点<listener>和<contex-param>。
    2. 接着容器会创建一个ServletContext(上下文),应用范围内即整个WEB项目都能使用这个上下文。
    3. 接着容器会将读取到<context-param>转化为键值对,并交给ServletContext。
    4. 容器创建<listener></listener>中的类实例,即创建监听(备注:listener定义的类可以是自定义的类但必须需要继承ServletContextListener)。
    5. 在监听的类中会有一个contextInitialized(ServletContextEvent event)初始化方法,在这个方法中可以通过event.getServletContext().getInitParameter("contextConfigLocation") 来得到context-param 设定的值。在这个类中还必须有一个contextDestroyed(ServletContextEvent event) 销毁方法.用于关闭应用前释放资源,比如说数据库连接的关闭。
    6. 得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早。

由上面的初始化过程可知容器对于web.xml的加载过程是context-param >> listener  >> fileter  >> servlet

  •  如何使用
    1. 页面中

      ${initParam.contextConfigLocation}

    2. Servlet中
      String paramValue=getServletContext().getInitParameter("contextConfigLocation")

转载于:https://www.cnblogs.com/abc8023/p/4932268.html

你可能感兴趣的文章
微软职位内部推荐-SOFTWARE ENGINEER II
查看>>
centos系统python2.7更新到3.5
查看>>
C#类与结构体究竟谁快——各种函数调用模式速度评测
查看>>
我到底要选择一种什么样的生活方式,度过这一辈子呢:人生自由与职业发展方向(下)...
查看>>
poj 题目分类
查看>>
windows 安装yaml支持和pytest支持等
查看>>
读书笔记:季羡林关于如何做研究学问的心得
查看>>
面向对象的优点
查看>>
套接口和I/O通信
查看>>
阿里巴巴面试之利用两个int值实现读写锁
查看>>
浅谈性能测试
查看>>
Winform 菜单和工具栏控件
查看>>
CDH版本大数据集群下搭建的Hue详细启动步骤(图文详解)
查看>>
巧用Win+R
查看>>
浅析原生js模仿addclass和removeclass
查看>>
Python中的greenlet包实现并发编程的入门教程
查看>>
java中遍历属性字段及值(常见方法)
查看>>
深入理解jQuery框架-框架结构
查看>>
YUI3自动加载树实现
查看>>
python知识思维导图
查看>>