不同服务器的servlet之间使用url传输xml文件?,详解WEB应用的部署文件web.xml

本文使用的服务器是Tomcat服务器,Web应用发布描述文件web.xml是在Servlet规范中定义的。web.xml存放在WEB-INF/目录下

在分析web.xml文档之前我想先说一下web.xml中根元素各子元素的顺序问题,因为在web.xml中元素定义的先后顺序是不能颠倒的(除非

在web.xml文件中使用XML Schema,本文不做讨论

),否则Tomcat服务器可能抛出SAXParseException(xml解析异常)。

顺序如下:

web.xml中的开头几行是固定的,它定义了该文件的字符编码,XML版本以及引用的DTD文件(Document Type Definition,中文意思为“文档类定义”,一方面它帮助你编写合法的代码,另一方面它让浏览器或编辑器正确地显示代码。)。

在web.xml中顶层元素为,其他所有的子元素都必须定义在内

元素定义这个web应用的名字,Java Web 服务器的Web管理工具将用这个名字来标志Web应用。

元素用来声明Web应用的描述信息

元素用来配置外部引用的,在servlet中如果要获得该元素中配置的值,String param-value = getServletContext().getInitParameter("param-name")

SampleFilter

com.lpdev.SampleFilter

SampleFilter

*.jsp

以上是配置了一个servlet过滤器,对于servlet容器收到的客户请求以及发出的响应结果,servlet都能检查和修改其中的信息,以上代码指名当客户请求访问Web应用中的所有JSP文件时,将触发SampleFilter过滤器工作,具体的过滤事务在由中指定的类来完成

IncludeServlet

com.lpdev.IncludeServlet

copyright

/foot.jspf

1

配置Servlet,是servlet的名字,是实现这个Servlet的类,定义Servlet的初始化参数(参数名和参数值),一个Servlet可以有多个,在Servlet类中通过getInitParameter(String name)方法访问初始化参数

IncludeServlet

/IncludeServlet

配置Servlet映射,元素用来设定客户访问某个Servlet的URL,这里只需给出对于整个web应用的相对的URL路径,中的“/”表示开始于Web应用的根目录例如,如果你在你本地机器上使用Tomcat4.1.x,并且创建了名为“myapp”的应用程序,/IncludeServlet该Servlet的完整web地址就是http://localhost:8080/myapp/IncludeServlet

元素用来设定HttpSession的生命周期,该元素只有一个属性,时间单位是“秒”。

当用户访问web时,如果仅仅给出web应用的Root URL,没有指定具体文件名,容器调用该配置,该元素可以包含多个属性。

元素用来设置web引用的tag library,例示定义了一个“/mytaglib”标签库,它对应的tld文件为:/WEB_INF/mytaglib.tld

/mytaglib

/WEB-INF/mytaglib.tld

如果web应用由Servlet容器管理的某个JNDI Resource,必须在web.xml中声明对这个JNDI Resource的引用。

DB Connection //说明

jdbc/sampleDB //引用资源的JNDI名字

javax.sql.DataSource //引用资源的类名字

Container //管理引用资源的Manager

用来为Web应用定义安全约束

//声明受保护的web资源

ResourceServlet//标识受保护web资源

/ResourceServlet//指定受保护的URL路径

GET//指定受保护的方法

POST

//可以访问受保护资源的角色

this applies only to admin secrity role

admin

NONE

1. web-resource-collection

此元素确定应该保护的资源,所有security-constraint元素都必须包含至少一个web-resource-collection项.此元素由一个给出任意标识名称的web-resource-name元素、一个确定应该保护URL的url-pattern元素、一个指出此保护所适用的HTTP命令(GET、POST等,缺省为所有方法)的http-method元素和一个提供资料的可选description元素组成。

重要的是应该注意到,url-pattern仅适用于直接访问这些资源的客户机。特别是,它不适合于通过MVC体系结构利用RequestDispatcher来访问的页面,或者不适合于利用类似jsp:forward的手段来访问的页面。

2. auth-constraint

元素却指出哪些用户应该具有受保护资源的访问权。此元素应该包含一个或多个标识具有访问权限的用户类别role-name元素,以及包含(可选)一个描述角色的description元素。

3. user-data-constraint

这个可选的元素指出在访问相关资源时使用任何传输层保护。它必须包含一个transport-guarantee子元素(合法值为NONE、INTEGRAL或CONFIDENTIAL),并且可选地包含一个description元素。transport-guarantee为NONE值将对所用的通讯协议不加限制。INTEGRAL值表示数据必须以一种防止截取它的人阅读它的方式传送。虽然原理上(并且在未来的HTTP版本中),在INTEGRAL和CONFIDENTIAL之间可能会有差别,但在当前实践中,他们都只是简单地要求用SSL。

元素指定当Web客户访问受保护资源时,系统弹出的登陆对话框的类型。例示配置了基于表单验证的登陆界面

FORM//BASIC(基本验证法),DIGEST(摘要验证),FORM(表单验证)

设定安全域的名称

/login.jsp

/error.jsp

指明这个Web应用引用的所有角色名字

描述

admin

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值