xmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"
xsi:
schemaLocation="
version="2.4">
(注解:
XMLSchema定义(XMLSchemaDefinition,XSD)是一套W3C标准,用于基于XML的称为XMLSchema的类型系统。
用于定义的语言是一种称为XML模式定义语言(XMLSchemaDefinitionLanguage)的XML语法。
Web服务使用XML作为表示消息和数据的底层格式。
因此,XSD成为Web服务类型系统的自然选择。
XML文档必须有严格的形式规范,以适应各种具体的应用。
首先,XML文档必须符合XML语法限制,术语称为“well-formedXML”;其次,为了使XML表示的数据有一定含义,还需要根据应用为其定义语义上的限制,术语称为“validatingXML”。
“well-formedXML”是容易验证的,而“validatingXML”还需要另一个关联的文档来定义XML标记规范。
以前使用的是DTD文档,现在使用的是Schema。
)
其它的元素都放在之中。
是对站台的描述
定义站台的名称
是指定该站台是否可分布式处理
用来设定web站台的环境参数,它包含两个子元素:
用来指定参数的名称
用来设定参数值
比如:
my_param
hello
在此设定的参数,可以在servlet中用getServletContext().getInitParameter("my_param")来取得
是用来声明filter的相关设定,它包含以下子元素:
这当然就是指定filter的名字
这是用来定义filter的类的名称
用来定义参数,它有两个子元素:
用来指定参数的名称
用来设定参数值
比如:
setCharacterEncoding
com.myTest.setCharacterEncodingFilter
encoding
GB2312
与同时使用的是用来定义filter所对应的URL,它有两个子元素:
指定filter的名字
指定filter所对应的URL
比如:
setCharacterEncoding
/*
用来设定Listener接口,它的主要子元素为
定义Listener的类名称
比如:
com.myTest.ContextListener
用来声明一个servlet的数据,主要有以下子元素:
指定servlet的名称
指定servlet的类名称
指定web站台中的某个JSP网页的完整路径
用来定义参数,和前面的差不多
同样,与一起使用的是用来定义servlet所对应的URL,包含两个子元素:
指定servlet的名称
指定servlet所对应的URL
比如:
ShoppingServlet
com.myTest.ShoppingServlet
ShoppingServlet
/shop/ShoppingServlet
用来定义web站台中的session参数,包含一个子元素:
用来定义这个web站台所有session的有效期限,单位为 分钟
定义某一个扩展名和某一个MIMEType做对映,包含两个 子元素:
扩展名的名称
MIME格式
比如:
doc
application/vnd.ms-word
xls
application/vnd.ms-excel
用来定义首页的列单,包含一个子元素:
指定首页的文件名称
比如:
index.jsp
index.html
用来处理错误代码或异常的页面,有三个子元素:
指定错误代码
指定一个JAVA异常类型
指定在web站台内的相关资源路径
比如:
404
/error404.jsp
java.lang.Exception
/exception.jsp
用来设定JSP网页所用到的TagLibrary路径,有两个子元素:
定义TLD文件的URI,在JSP网页中用taglib指令便可取得该URI的 TLD文件
指定TLD文件相对于web站台的存放位置
比如:
myTaglib
/WEB-INF/tlds/MyTaglib.tld
定义利用JNDI取得站台可利用的资源,有五个子元素:
资源说明
资源名称
资源种类
资源经由Application或Container来许可
资源是否可以共享,有Shareable和Unshareable两个 值,默认为Shareable
比如,配置数据库连接池就可在此配置:
JNDIJDBCDataSourceofshop
jdbc/sample_db
javax.sql.DataSource
Container
包括和两个子元素。
其中元素在JSP1.2时就已经存在;而是JSP2.0新增的元素。
元素主要有八个子元素,它们分别为:
1.:
设定的说明;
2.:
设定名称;
3.:
设定值所影响的范围,如:
/CH2或/*.jsp;
4.:
若为true,表示不支持EL语法;
5.:
若为true,表示不支持<%scripting%>语法;
6.:
设定JSP网页的编码;
7.:
设置JSP网页的抬头,扩展名为.jspf;
8.:
设置JSP网页的结尾,扩展名为.jspf。
一个简单的元素完整配置:
Taglib
/WEB-INF/tlds/MyTaglib.tld
SpecialpropertygroupforJSPConfigurationJSPexample.
JSPConfiguration
/jsp/*
true
GB2312
true
/include/prelude.jspf
/include/coda.jspf
配置web.xml来限制对某些servlet的请求
有时我们只希望通过认证的用户才能请求某些servlet的话,就可以在web.xml中来进行相应的配置,来达到此目的。
这就要用到元素。
对于tomcat,中web.xml使用security-constraint元素需要在位于/conf/tomcat-users.xml的XML文件中创建用户名和密码。
比如下面的这个tomcat-users.xml文件:
xmlversion='1.0'encoding='utf-8'?
>
此XML片段包括一个tomcat-users根元素,它包含一个或多个role和user元素。
然后在Web应用程序的web.xml中创建security-constraint、login-config和security-role元素。
HelloServlet
/HelloServlet
GET
POST
Thisappliesonlytothe"tomcat"securityrole
admin
NONE
BASIC
admin
其中security-constraint元素包含一个或多个web-resource-collection元素,它是描述Web应用程序中的哪些web资源受到指定安全限制的保护。
http-method元素指定安全限制覆盖的HTTP方法。
上面的例子中,当我们对/HelloServlet的GET或POST请求时将触发配置的安全机制。
auth-constraint元素用于描述允许访问Web组件的安全角色。
此例中安全角色的例子有tomcat、manager、admin。
而只有当作为admin角色的用户才可以访问HelloServlet。
Web应用程序通过login-config元素来认证用户,并确认该用户是否为正确的角色。
longin-config包含的tra