Webxml详解.docx
《Webxml详解.docx》由会员分享,可在线阅读,更多相关《Webxml详解.docx(15页珍藏版)》请在冰豆网上搜索。
Webxml详解
web.xml详解
xmlversion="1.0"encoding="GB2312"?
>
DOCTYPEweb-app
PUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.2//EN"
"
StrutsBlankApplication
--
配置ActionServlet不管应用中包含多少个子应用,都只需配置一个ActionServlet,因为ActionServlet支持多线程,目前的Structs框架只允许在应用中配置一个ActionServlet
-->
--
这是struts中的Controller(控制器),系统的指令由其(ActionServlet类)中转;它从struts-config.xml中读取配置信息,并在服务器后台自动启动一个线程。
如果没有特别的要求(如添加语言编转功能),程序员可以不管这部分,照用就可以了.
-->
action
org.apache.struts.action.ActionServlet
--init-param设置ActionServlet运行参数,对Servlet的运行环境进行初始化配置-->
--
以相对路径的方式指明Struts应用程序的配置文件位置;
如不设置,则默认值为/WEB-INF/struts-config.xml;
-->
config
/WEB-INF/struts-config.xml
--以相对路径的方式指明Struts子应用程序的配置文件位置;-->
config/lfj
/WEB-INF/lfj/struts-config.xml
--
设置Servlet的debug级别,控制日志记录的详细程度。
默认为0,记录相对最少的日志信息
-->
debug
2
--
设置Digester的debug级别Digester是Struts框架所使用的用来解析xml配置文件的一个框架,通过该设置,可以查看不同详细等级的解析日志。
默认为0,记录相对最少的日志信息。
-->
detail
2
--
这个标记指示Web应用服务器在启动时加载这个Servlet(实例化并调用实例的init()方法),
标记的内容必须使用一个整数指定Servlet加载的顺序。
如果这个整数是负值,或者这个值没有出现,那么容器任意选择Servlet加载。
如果这个整数大于等于零,那么容器必须按照部署的顺序加载他们。
容器必须保证,拥有小的load-on-startup值的Servlet必须首先被加载,
如果Servlet有相同的load-on-start-up值,那么,容器将自动选择这些Servlet的加载顺序。
-->
2
--StandardActionServletMapping-->
--指定Sevrlet所要映射的后缀名,这个后缀名可以任意指定。
-->
action
*.do
--TheUsualWelcomeFileList-->
--指定首先访问的页面-->
--
当客户访问Web应用时,如果仅仅给出Web应用的RootURL
没用指定具体的文件名,Web容器会自动调用Web应用的欢迎文件.
如果在Jboss中,RoorUrl应该就是jboss-web.xml中context-root节点所指定的目录。
-->
index.jsp
--welcome-file>index2.jsp
--指定错误处理页-->
404
/commom/404.jsp
505
/commom/505.jsp
--
为Web容器捕获的Java异常配置,
需要设置子元素,它用于指定Java异常类。
Web容器可能捕获如下异常:
RuntimeException或Error、ServletException或它的子类、IOException或它的子类
-->
java.io.IOException
/common/system_ioerror.jsp
--StrutsTagLibraryDescriptors-->
--配置标记库-->
--用于指定标签库的相对或者绝对URI地址,Web应用根据这一URI来访问标签库-->
/tags/struts-bean
--指定标签描述文件在文件资源系统中的物理位置-->
/WEB-INF/struts-bean.tld
/tags/struts-html
/WEB-INF/struts-html.tld
/tags/struts-logic
/WEB-INF/struts-logic.tld
/tags/struts-nested
/WEB-INF/struts-nested.tld
/tags/struts-tiles
/WEB-INF/struts-tiles.tld
web.xml元素详解
web.xml元素介绍
每一个站的WEB-INF下都有一个web.xml的设定文件,它提供了我们站台的配置设定.
web.xml定义:
.站台的名称和说明
.针对环境参数(Context)做初始化工作
.Servlet的名称和映射
.Session的设定
.Taglibrary的对映
.JSP网页设定
.MimeType处理
.错误处理
.利用JDNI取得站台资源
要了解web.xml的设定值,必须了解它的schema,从web.xml中知道它的schema是由SumMicrosystems公司定制的,如果你想更为详细的了解它,
可以到
xmlversion="1.0"encoding="ISO-8859-1"?
>
xmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"
xsi:
schemaLocation="
version="2.4">
这是一般在写XML时所做的声明,定义了XML的版本,编码格式,还有重要的指明schema的来源,为
/web-app_2_4.xsd.
,,
____________________________________________
站台描述
对站台做出描述.
站台名称
定义站台的名称.
icon元素包含small-icon和large-icon两个子元素.用来指定web站台中小图标和大图标的路径.
/路径/smallicon.gif
small-icon元素应指向web站台中某个小图标的路径,大小为16X16pixel,但是图象文件必须为GIF或JPEG格式,扩展名必须为:
.gif或
.jpg.
/路径/largeicon-jpg
large-icon元素应指向web站台中某个大图表路径,大小为32X32pixel,但是图象文件必须为GIF或JPEG的格式,扩展名必须为;gif
或jpg.
范例:
DevelopExample
JSP2.0TechBook'sExamples
/images/small.gif
/images/large.gir
______________________________________
distributable元素为空标签,它的存在与否可以指定站台是否可分布式处理.如果web.xml中出现这个元素,则代表站台在开发时已经
被设计为能在多个JSPContainer之间分散执行.
范例:
___________________________________
context-param元素用来设定web站台的环境参数(context),它包含两个子元素:
param-name和param-value.
参数名称
设定Context名称
值
设定Context名称的值
范例:
param_name
param_value
此所设定的参数,在JSP网页中可以使用下列方法来取得:
${initParam.param_name}
若在Servlet可以使用下列方法来获得:
Stringparam_name=getServletContext().getInitParamter("param_name");
_________________________________
filter元素用来声明filter的相关设定.filter元素除了下面介绍的的子元素之外,还包括介绍过的,
,,其用途一样.
Filter的名称
定义Filter的名称.
Filter的类名称
定义Filter的类名称.例如:
com.foo.hello
范例:
setCharacterEncoding
coreservlet.javaworld.CH11.SetCharacterEncodingFilter
encoding
GB2312
______________________________________
filter-mapping元素的两个主要子元素filter-name和url-pattern.用来定义Filter所对应的URL.
Filter的名称
定义Filter的名称.
URL
Filter所对应的RUL.例如:
/Filter/Hello
Servlet的名称
定义servlet的名称.
REQUEST|INCLUDE|FORWARD|ERROR
设定Filter对应的请求方式,有RQUEST,INCLUDE,FORWAR,ERROR四种,默认为REQUEST.
范例:
GZIPEncoding
/*
___________________________________________
listener元素用来定义Listener接口,它的主要子元素为
Listener的类名称
定义Listener的类名称.例如:
com.foo.hello
范例:
coreservlet.javaworld.CH11.ContenxtListener
_____________________________________________
servlet-mapping元素包含两个子元素servlet-name和url-pattern.用来定义servlet所对应URL.
Servlet的名称
定义Servlet的名称.
ServletURL
定义Servlet所对应的RUL.例如:
/Servlet/Hello
范例:
LoginChecker
/LoginChecker
__________________________________
session-config包含一个子元素session-timeout.定义web站台中的session参数.
分钟
定义这个web站台所有session的有效期限.单位为分钟.
范例:
20
___________________________________________________
mime-mapping包含两个子元素extension和mime-type.定义某一个扩展名和某一MIMEType做对映.
扩展名名称
扩展名称
MIME格式
MIME格式.
范例:
doc
application/vnd.ms-word
xls
application/vnd.ms-excel
ppt
application/vnd.ms-powerpoint
_____________________________________________
welcome-file-list包含一个子元素welcome-file.用来定义首页列单.
用来指定首页文件名称
welcome-file用来指定首页文件名称.我们可以用指定几个首页,而服务器会依照设定的顺序来找首页.
范例:
index.jsp
index.htm
_________________________
error-page元素包含三个子元素error-code,exception-type和location.将错误代码(ErrorCode)或异常(Exception)的种类对应
到web站台资源路径.
错误代码
HTTPErrorcode,例如:
404
Exception
一个完整名称的Java异常类型
/路径
在web站台内的相关资源路径
范例:
404
/error404.jsp
java.lang.Exception
/except.jsp
_______________________________________________
jsp-config元素主要用来设定JSP的相关配置,config>包括和两个子元素.其中元素
在JSP1.2时就已经存在了;而是JSP2.0新增的元素.
taglib元素包含两个子元素taglib-uri和taglib-location.用来设定JSP网页用到的TagLibrary路径.
URI
taglib-uri定义TLD文件的URI,JSP网页的taglib指令可以经由这个URI存取到T