主要有三类:
1.ServletContext:对servlet上下文(application对象)进行监听
2.Session:对session监听
3.Request:对request的监听
主要是:ServeltContext.Session的监听
在WEB端实现监听实质:实现一系列的监听接口(实现相应的接口,覆写各接口中相应的方法,在相应的事件触发的时候会执行自己的监听器中的覆写的方法,在各个方法中完成自己想要的操作,从而实现了监听)。
监听--就是在进行某种各个范围(application,session,request)中有相关值的设置、修改、替换的时候,这些操作都会触发事件,而Java中事件的代理机制,事件处理是利用listener机制,所以为了在事件触发的时候能够使自己能够采取相应的措施,就需要---->继承这样的listener,在listener中覆写相应的方法,覆写相应的事件处理方法,在对应的方法中处理对应的事件,也就是进行了监听
监听器有一些固定的监听事务和相关接口,http://blog.csdn.net/java_pengjin/article/details/6760175 这篇文章中有详细说明。
例如:
- <display-name>Develop Exampledisplay-name>
- <description>JSP 2.0 Tech Book's Examplesdescription>
- <icon>
- <small-icon>/images/small.gifsmall-icon>
- <large-icon>/images/large.girlarge-icon>
- icon>
Develop Example
JSP 2.0 Tech Book's Examples
/images/small.gif
/images/large.gir
2.
context-param 元素用来设定web应用的环境参数(context),它包含两个子元素: param-name和param-value.
例如:
- <context-param>
- <param-name>param_nameparam-name>
- <param-value>param_valueparam-value>
- context-param>
param_name
param_value
此所设定的参数,在JSP网页中可以使用下列方法来取得:${initParam.param_name}若在Servlet可以使用下列方法来获得:
String param_name=getServletContext().getInitParamter("param_name");
3.
filter元素用于指定Web容器中的过滤器。
在请求和响应对象被servlet处理之前或之后,可以使用过滤器对这两个对象进行操作。
利用下一节介绍 的filter-mapping元素,过滤器被映射到一个servlet或一个URL模式。
这个过滤器的filter元素和filter-mapping 元素必须具有相同的名称。
filter元素用来声明filter的相关设定.filter元素除了下面介绍的的子元素之外,还包括之前介绍过的init-param元素与context-param 元素具有相同的元素描述符。
- <filter>
- <filter-name>setCharacterEncodingfilter-name>
- <filter-class>coreservlet.javaworld.CH11.SetCharacterEncodingFilterfilter-class>
- <init-param>
- <param-name>encodingparam-name>
- <param-value>GB2312param-value>
- init-param>
- filter>
setCharacterEncoding
coreservlet.javaworld.CH11.SetCharacterEncodingFilter
encoding
GB2312
4.
filter-mapping元素用来声明Web应用中的过滤器映射。过滤器可被映射到一个servlet或一个URL模式。将过滤器映射到一个 servlet中会造成过滤器作用于servlet上。将过滤器映射到一个URL模式中则可以将过滤器应用于任何资源,只要该资源的URL与URL模式匹配。过滤是按照部署描述符的filter-mapping元素出现的顺序执行的。
filter-mapping 元素的两个主要子元素filter-name和url-pattern.用来定义Filter所对应的URL。还有servlet-name和dispatcher子元素,不是很常用。
例如:
- <filter-mapping>
- <filter-name>GZIPEncodingfilter-name>
- <url-pattern>/*url-pattern>
- filter-mapping>
GZIPEncoding
/*
完整的filter配置例子如下:
- <filter>
- <filter-name>struts2filter-name>
- <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterfilter-class>
- filter>
- <filter-mapping>
- <filter-name>struts2filter-name>
- <url-pattern>/*url-pattern>
- filter-mapping>
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*
5.
在web.xml中完成的一个最常见的任务是对servlet或JSP页面给出名称和定制的URL。用servlet元素分配名称,使用servlet-mapping元素将定制的URL与刚分配的名称相关联。
- <servlet>
- <servlet-name>Testservlet-name>
- <servlet-class>com.moreservlets.TestServletservlet-class>
- servlet>
Test
com.moreservlets.TestServlet
这表示位于WEB-INF/classes/com/moreservlets/TestServlet的servlet已经得到了注册名Test。
6.
- <servlet-mapping>
- <servlet-name>LoginCheckerservlet-name>
- <url-pattern>/LoginCheckerurl-pattern>
- servlet-mapping>
LoginChecker
/LoginChecker
完整的servlet配置如下所示:
- <servlet>
- <servlet-name>ServletNameservlet-name>
- <servlet-class>xxxpackage.xxxServletservlet-class>
- <init-param>
- <param-name>参数名称param-name>
- <param-value>参数值param-value>
- init-param>
- servlet>
- <servlet-mapping>
- <servlet-name>ServletNameservlet-name>
- <url-pattern>/aaa/xxxurl-pattern>
- servlet-mapping>
ServletName
xxxpackage.xxxServlet
参数名称
参数值
ServletName
/aaa/xxx
在地址栏中输入http://localhost:8080/web-App/aaa/xxx就可以访问了。
7.<listener>
例如:
- <listener>
- <listener-class><span style="font-family: FangSong_GB2312;font-size:18px; white-space: pre;">com.foo.hellospan>listener-class>
- listener>
com.foo.hello
8.<session-cofing>
- <session-config>
- <session-timeout>20session-timeout>
- session-config>
20
9.<mime-mapping>
- <mime-mapping>
- <extension>docextension>
- <mime-type>application/vnd.ms-wordmime-type>
- mime-mapping>
- <mime-mapping>
- <extension>xlsextension>
- <mime-type>application/vnd.ms-excelmime-type>
- mime-mapping>
- <mime-mapping>
- <extension>pptextesnion>
- <mime-type>application/vnd.ms-powerpointmime-type>
- mime-mapping>
doc
application/vnd.ms-word
xls
application/vnd.ms-excel
ppt
application/vnd.ms-powerpoint
10.<welcome-file-list>
welcome-file用来指定首页文件名称.我们可以用
- <welcome-file-list>
- <welcome-file>index.jspwelcome-file>
- <welcome-file>index.htmwelcome-file>
- welcome-file-list>
index.jsp
index.htm
11.
- <error-page>
- <error-code>404error-code>
- <location>/error404.jsplocation>
- error-page>
- <error-page>
- <exception-type>java.lang.Exceptionexception-type>
- <location>/except.jsplocation>
- error-page>
404
/error404.jsp
java.lang.Exception
/except.jsp
12.
taglib元素包含两个子元素taglib-uri和taglib-location.用来设定JSP网页用到的Tag Library路径.
jsp-property-group元素包含8个元素,分别为:
- <jsp-config>
- <taglib>
- <taglib-uri>Taglibtaglib-uri>
- <taglib-location>/WEB-INF/tlds/MyTaglib.tldtaglib-location>
- taglib>
- <jsp-property-group>
- <description>
- Special property group for JSP Configuration JSP example.
- description>
- <display-name>JSPConfigurationdisplay-name>
- <uri-pattern>/*uri-pattern>
- <el-ignored>trueel-ignored>
- <page-encoding>GB2312page-encoding>
- <scripting-inivalid>truescripting-inivalid>
- ............
- jsp-property-group>
- jsp-config>
Taglib
/WEB-INF/tlds/MyTaglib.tld
Special property group for JSP Configuration JSP example.
JSPConfiguration
/*
true
GB2312
true
............
12.<resource-ref>
- <resource-ref>
- <description>JNDI JDBC DataSource of JSPBookdescription>
- <res-ref-name>jdbc/sample_dbres-ref-name>
- <res-type>javax.sql.DataSoruceres-type>
- <res-auth>Containerres-auth>
- resource-ref>
JNDI JDBC DataSource of JSPBook
jdbc/sample_db
javax.sql.DataSoruce
Container