servletjsp培训课件.ppt

上传人:sccc 文档编号:6218997 上传时间:2023-10-06 格式:PPT 页数:118 大小:11.34MB
返回 下载 相关 举报
servletjsp培训课件.ppt_第1页
第1页 / 共118页
servletjsp培训课件.ppt_第2页
第2页 / 共118页
servletjsp培训课件.ppt_第3页
第3页 / 共118页
servletjsp培训课件.ppt_第4页
第4页 / 共118页
servletjsp培训课件.ppt_第5页
第5页 / 共118页
点击查看更多>>
资源描述

《servletjsp培训课件.ppt》由会员分享,可在线阅读,更多相关《servletjsp培训课件.ppt(118页珍藏版)》请在三一办公上搜索。

1、,知识体系,Servlet概念、生命周期、运行机制Servlet API的常用接口和类SessionELJSTL定制标签标签文件过滤器监听器,为什么需要Servlet2-1,使用JSP技术如何编写服务器动态网页?,请求,响应,JSP 页面,运行,执行,Java代码,HTML代码,生成,JSP 使用 Java 生成动态内容,为什么需要Servlet2-2,在JSP技术出现之前如何编写服务器动态网页?,请求,响应,Java代码,HTML代码,生成,运行,Servlet程序,什么是Servlet 2-1,Servlet 是一个 Java程序,是在服务器上运行以处理客户端请求并做出响应的程序,请求,响

2、应,Servlet 运行于服务器端,什么是Servlet 2-2,初识Servlet,import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class HelloServletTest extends HttpServlet public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException response.setContentType(text/

3、html;charset=GBK);PrintWriter out=response.getWriter();out.println();out.println(Servlet);out.println();out.println(你好,欢迎来到Servlet世界);out.println();out.println();out.close();,继承HttpServlet类,Servlet输出HTML标签和内容,导入所需的包,处理请求的方法,将数据发送给客户端,Servlet的生命周期2-1,Servlet的生命周期,HTTP请求,容器,1,2,解析请求,3,4,5,响应,6,创建Servl

4、et实例,调用init()方法,Servlet,调用service()方法,调用destroy()方法,输出响应信息,7,8,Servlet的生命周期2-2,生命周期的各个阶段,实例化,Servlet 容器创建 Servlet 的实例,初始化,该容器调用 init()方法,请求处理,如果请求 Servlet,则容器调用 service()方法,销毁实例之前调用 destroy()方法,服务终止,生命周期相关方法,public class HelloServlet extends HttpServlet public void init()throws ServletException Syst

5、em.out.println(初始化时,init()方法被调用);protected void service(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException System.out.println(处理请求时,service()方法被调用);public void destroy()super.destroy();System.out.println(释放系统资源时,destroy()方法被调用);,Servlet相关接口3-1,ServeltConfig接口在Servlet

6、初始化过程中获取配置信息一个Servlet只有一个ServletConfig对象ServeltConfig接口的常用方法,例子:ServletConfigDemo,Servlet相关接口3-2,ServeltContext接口获取Servlet上下文,为容器中所有Servlet所共享JSP隐含对象application就是ServletContext的实例ServeltContext接口的常用方法,Servlet相关接口3-3,GenericServlet抽象类提供了Servlet与ServletConfig接口的默认实现方法GenericServlet的常用方法,例子:GenericServ

7、leDemo,HttpServlet类2-1,HttpServlet继承于GenericServlet处理HTTP协议的请求和响应HttpServlet的方法,HttpServlet类是抽象类,编写Servlet一定要继承HttpServlet类,HttpServlet类2-2,使用doXxx()接收用户请求doGet():用户使用get方式提交请求时调用doPost():用户使用post方式提交请求是调用,import java.io.IOException;import javax.servlet.*;import javax.servlet.http.*;public class Hel

8、loServlet extends HttpServlet public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException/doGet方法体内容 public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException/doPost方法体内容,使用Get方法提交,触发doGet()方法,使用Po

9、st方法提交,触发doPost()方法,由service()方法根据表单提交方法自动调用doXxx()方法,Servlet的部署,在Tomcat中如何部署,tomcat,webapps,store,WEB-INF,index.html,test.jsp,lib,classes,*.jar,HelloServlet.class,web.xml,显示页面,第三方jar文件,.java编译后的.class文件,程序配置文件,必须的,tomcat主目录,文档根目录,Servlet的配置,在web.xml文件中配置Servlet,HttpServletTest cn.jbit.servlet.HttpS

10、ervletTest HttpServletTest/HttpServletTest,两个名称必须相同,为了方便使用Servlet,取个别名,完整的包名+类名,访问Servlet的URL,web.xml部署描述文件是Web应用的核心文件,控制整个应用的行为方式和方法,在Servlet运行时起到“总调度”的角色,运行Servlet,启动Tomcat服务器在浏览器中输入,http:/localhost:8080/store/HttpServletTest,获取Servlet初始化参数2-1,Servlet初始化参数配置,HelloServlet org.jbit.servlet.HelloServ

11、let initParam Hello Servlet HelloServlet/HelloServlet,获取Servlet初始化参数2-2,获取初始化参数,public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException System.out.println(处理请求时,doGet()方法被调用。);String initParam=getInitParameter(initParam);System.out.println(initPa

12、ram);,根据参数名称进行读取,获取Servlet上下文参数2-1,配置Servlet上下文,contextParam Hello Servlet,初始化参数的名字,初始化参数的值,获取Servlet上下文参数2-2,读取Servlet上下文,public class HelloServlet extends HttpServlet/省略其他代码public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException System.out.prin

13、tln(处理请求时,doGet()方法被调用。);String initParam=getInitParameter(initParam);String contextParam=this.getServletContext().getInitParameter(contextParam);System.out.println(Servlet初始化参数+initParam);System.out.println(系统初始化参数+contextParam);,根据参数名称进行读取,使用Servlet处理GET/POST请求3-1,处理登录表单数据,public void doPost(HttpS

14、ervletRequest request,HttpServletResponse response)throws ServletException,IOException request.setCharacterEncoding(GBK);response.setContentType(text/html;charset=GBK);String pass=request.getParameter(password);String user=request.getParameter(loginName);RequestDispatcher dispatcher=null;if(user.equ

15、als(“admin),将输入转换为中文,设置输出为中文,如果不符合要求,则重定向到登录页面,如果符合要求,则转发到ok.jsp页面,并在ok.jsp页面中显示用户名,使用Servlet处理GET/POST请求3-2,HttpServletRequest类常用方法HttpServletResponse类常用方法,使用Servlet处理GET/POST请求3-3,RequestDispatcher类作用:实现请求转发使用步骤获取RequestDispatcher类实现转发,RequestDispatcher dispatcher=request.getRequestDispatcher(url)

16、;/参数url是欲转发的页面或者Servlet的URL地址,dispatcher.forward(request,response);,Session,网址重写,网址重写是一种Session追踪技术,需要将一个或多个token作为一个查询字符串添加到一个URL中格式:键=值注:URL和token之间要用一个问号(?)隔开,两个token之间用一个&符号隔开例子:Top10Servlet,隐藏域,隐藏域来保持状态与采用网址重写技术类似。它是将值放在HTML表单的隐藏域中。当用户提交表单时,隐藏域中的值也传送到服务器。只有当页面包含表单,或者可以在页面中添加表单时,才适合用隐藏域.例子:Custo

17、merServlet,Cookie,Cookie是自动的在Web服务器和浏览器之间来回传递的一些小块信息。可根据需要设置cookie的有效期限。Cookie的使用主要是javax.servlet.htpp.Cookie类和HttpServletRequest类,HttpServletResponse类创建cookie:Cookie cookie=new Cookie(name,value)发送cookie到浏览器:httpServletResponse.addCookie(cookie);Cookie的maxAge属性是设置cookie的有效期限例子:PreFerenceServlet,Htt

18、pSession 1,HttpSession 2,JSP,什么是JSP,JSP(Java Server Pages)是指:在HTML中嵌入Java脚本代码由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码然后将生成的整个页面信息返回给客户端,3,执行,2,翻译,编译,1,请求,响应,Web容器处理JSP文件请求需要经过3个阶段:翻译阶段编译阶段执行阶段,应用服务器,客户端,JSP文件,.java,.class,JSP 执行过程 2-1,执行,第二次请求,响应,第一次请求之后,Web容器可以重用已经编译好的字节码文件,应用服务器,客户端,.class,注意:如果对JSP文件进行了修改,

19、Web容器会重新对JSP文件进行翻译和编译,JSP 执行过程 2-2,JSP 页面的元素包括:,静态内容,指 令,表达式,小脚本,HTML静态文本,以“”结束。比如:,声 明,注释,JSP 页面组成,page指令,page指令通过设置内部的多个属性来定义整个页面的属性语法:page指令常用属性,Include指令,Include指令可以将另一个文件的内容放到当前的JSP页面格式:,Copyright.jspf2012 BrainySoftware,Including a fileThis is the included context:,最后形成的jsp页面Including a fileTh

20、is is the included context:2012 BrainySoftware,小脚本与表达式,计算求和两个数的求和结果为:,指令,小脚本,表达式,小脚本格式:B表达式:java代码不需要分号结束在JSP页面中计算两个数的和,将结果输出显示,什么是声明,声明就是在JSP页面中定义Java的变量和方法语法:,你好,今天是,方法声明后可在页面中多处调用,格式:声明可以放在jsp页面的任何位置,并且同一个页面可以有多个声明,JSP中的注释,合理、详细的注释有利于代码后期的维护和阅读在JSP文件的编写过程中,共有三种注释方法:HTML的注释:JSP注释:在JSP脚本中注释:,缺点:不安全

21、,加大网络传输负担,什么是JSP内置对象,JSP内置对象是 Web 容器创建的一组对象JSP内置对象的名称是JSP 的保留字JSP内置对象是可以直接在JSP页面使用的对象,无需使用“new”获取实例,没有出现new关键字,但却可以使用request对象,JSP内置对象,九个内置对象,这些对象可以直接使用而无需声明,内置对象,输入输出对象,动作,useBean这个动作将创建一个与某个java对象相关的脚本变量。是将表现逻辑与业务逻辑分隔的容易的方法之一useBean运行之后,将会在浏览中输出当前的日期和时间,动作,setProperty和getPropertysetProperty是在一个jav

22、a对象中保存一个属性,getProperty是获取一个java对象的属性 例子:getSetPropertyTest.jspForwordforword动作是将当前页面跳转到另一个不同的资源,错误处理,利用page指令的isErrorPage属性,该属性必须为trueErrorAn error has occurred.Error message:,错误处理,防止未捕捉异常的其他页面使用page指令的errorPage属性,将路径引向属性值指定的错误处理页面Deliberately throw an exception,EL,什么是EL表达式,什么是EL EL即Expression Langu

23、age(表达式语言)EL的功能替代JSP页面中的复杂代码EL的语法$EL exprission$bean.name 或$beanname,$bean.name实质是调用bean的getName()方法,EL的特点,自动转换类型 EL得到某个数据时可以自动转换类型 对于类型的限制更加宽松使用简单 相比较在JSP中嵌入Java代码,EL应用更简单,EL的语法,EL语法 以“$”作为开始,以“”作为结束直接使用变量名获取值$username 变量属性范围名称,EL中的运算符,EL运算符运算符”运算符”.”作用获取对象属性获取一个不是有的java变量名称时,只能使用 运算符,如:获取accept-la

24、nguagea标头获取对象集合中的数据在Session中保存了一个(list)集合users,$user.name,$user“name”,相等,$sessionScope.user1,得到集合中第二位的对象,EL表达式的简单应用,输出姓名显示,姓名:$names.one姓名:$namestwo,使用EL表达式输出姓名,EL隐式对象,隐式对象,JSP隐式对象,paramValues,param,applicationScope,requestScope,sessionScope,pageScope,作用域访问对象,参数访问对象,pageContext,EL隐式对象,EL隐式对象介绍,运算符,运

25、算符,运算符示例,4 3$4 le 3 4=4$4=4Empty 运算符 empty info$empty info 三目操作:$num1num2?大于:小于br/,禁用EL,JSP页面中禁用整个网站禁用,修改web.xml文件*.jsptrue,JSTL,什么是JSTL,使用JSTL实现JSP页面中逻辑处理什么是JSTLJSTL(JavaServerPages Standard Tag Library)JSP标准标签库JSTL通常会与EL表达式合作实现JSP页面的编码,JSTL 的优点,提供一组标准标签,可用于编写各种 动态 JSP 页面,JSTL的环境搭建,使用JSTL的步骤创建Web工程

26、,选择JSTL1.1在JSP页面添加taglib指令使用JSTL标签,JSTL标准标签库介绍,JSTL标准标签库内的标签,JSTL标准标签库,通用标签,通用标签的使用set:设置指定范围内的变量值out:计算表达式并将结果输出显示remove:删除指定范围内的变量,out 标签在页面上显示信息或变量值,remove 标签用于删除作用域内的变量,插入使用核心标签的指令,set 标签用于给变量设置值和作用范围,scope=page|request|session|application,设置变量之前的值是:msg=设置新值以后:msg=移除变量msg以后:msg=,通用标签的应用,使用set属性进

27、行赋值,使用out属性输出显示,使用remove属性移除,条件标签,条件标签的使用if:if标签用于判断条件是否成,与Java中的If语句做用用相同语法,判断条件表达式返回true/false,变量名用于保存 返回的true/false,指定var变 量的作用域,条件标签,判断登录,登录表单已经登录!,使用条件标签判断是否已登录,条件标签,Choose,when,otherwise标签 choose,when标签和java中的switch和case相似 otherwise标签在其他测试条件运算结构都不为true后执行,并且必须放在最后一个when标签后面 You are a full memb

28、er You are a student member please register,迭代标签,循环体代码,迭代标签-forEach实现对集合中对象的遍历语法,var指定集合内数据的变量名称,items指定要遍历的集合对象,forEach是for循环语句的变体,实现 集合对象(可以是list、数组等)的处理,begin指定从集合的第几位开始,end指定迭代到集合的第几位结束,varStatus存放var引用的成员的相关信息,如索引,迭代标签,style=background-color:rgb(219,241,212);$product.name$product.area$product.p

29、rice,通过迭代标签显示商品列表,循环遍历集合,判断奇偶行,输出商品信息,迭代标签,迭代标签forTokens语法 body content,要迭代的字符串,一组分界符,迭代的变量名,保存迭代状态的变量名,指定从集合的第几位开始,指定迭代到集合的第几位结束,从几何第一个step项开始,逐个进行。必须:Step=1,格式化动作指令,formatNumber:格式化数字 formatDate:格式化日期 timeZone:用来指定时区 body content setTimeZone:将指定的时区保存在某个变量中 parseNumber:将数字,货币或百分比的字符串表示法解析成指定语言环境的数字

30、 parseDate:为指定区域解析日期和时间的字符串表达式,自定义标签,自定义标签,自定义标签是一种非常优秀的表现层组件技术,通过使用自定义标签可以在简单的标签中封装复杂的功能自定义标签在功能逻辑上与JavaBean 类似,都封装Java 代码自定义标签是可重用的组件代码,允许开发人员为复杂的操作提供简单的形式遵循 格式的语法,类似于HTML标签的形式,自定义标签示例,将若干个自定义标签进行包装,可以形成标签库标签库组成:标签处理程序、标签库描述文件TLD,标签库,实现方式,实现方式,自定义标签的实现方式,标签处理程序,标签文件,自定义标签,自定义标签实现步骤,创建标签处理程序(Tag Ha

31、ndler Class)创建标签库描述文件(Tag Library Descriptor File),以.tld结尾在JSP文件中使用taglib指令引入标签库调用自定义标签,标签处理程序,是一个Java程序实现Tag、IterationTag 或 BodyTag 接口或者继承TagSupport或BodyTagSupport类实现或重写doStartTag、doEndTag等方法注:位于javax.servlet.jsp.tagext包中,tagext包:接口,Tag:定义了标签处理程序和JSP页面间的通讯协议IterationTag:继承了Tag,增加了一个控制重复处理标签的主体内容的方法

32、BodyTag:继承了IterationTag,由需要对标签的主体内容进行访问并能够对其进行操纵的标签处理程序使用,tagext包:Tag常量,Tag常量SKIP_BODY:表示之间的内容被忽略EVAL_BODY_INCLUDE:表示标签之间的内容被正常处理SKIP_PAGE:表示立刻停止执行网页,网页上未处理的静态内容和JSP程序均被忽略,任何已有的输出内容立刻返回到客户的浏览器上EVAL_PAGE:表示按照正常的流程继续执行后续JSP网页,tagext包:其它常量,IterationTag常量EVAL_BODY_AGAIN:表示重复处理之间的内容BodyTag常量EVAL_BODY_BUF

33、FERED:Web容器会创建专门用于保存标签体内容的缓冲区,即BodyContent对象,tagext包:TagSupport,TagSupport:实现了Tag、IterationTag接口,支持简单标签和带主体迭代的标签,方法:int doStartTag()throws JspException默认的标签开始的处理方法,返回SKIP_BODYint doEndTag()throws JspException默认的标签结束的处理方法,返回EVAL_PAGEint doAfterBody()throws JspException默认在标签主体处理完后调用的方法,返回SKIP_BODY,tag

34、ext包:BodyTagSupport,BodyTagSupport:实现BodyTag接口,继承了TagSupport类,支持对标签的主体内容进行再次操作,即可以对标签内的内容进行二次加工,方法:int doStartTag()throws JspException默认的标签开始的处理方法,返回EVAL_BODY_BUFFEREDint doEndTag()throws JspException默认的标签结束的处理方法,返回EVAL_PAGEvoid setBodyContent(BodyContent)在doInitBody()方法前调用,设置bodyContent属性,传入主体内容voi

35、d doInitBody()throws JspException用于处理页面主体,对主体内容进行再次操作int doAfterBody()throws JspException默认在标签主体处理完后调用的方法,返回SKIP_BODY,如需重复处理主体内容,则返回EVAL_BODY_AGAIN,基本的标签生命周期,标签处理程序简单示例,public class CaseTag extends TagSupport public int doEndTag()throws JspException JspWriter out=super.pageContext.getOut();try out.p

36、rint(*End of Tag*);catch(IOException e)return super.doEndTag();public int doStartTag()throws JspException JspWriter out=super.pageContext.getOut();try out.print(*Start of Tag*);catch(IOException e)return Tag.EVAL_BODY_INCLUDE;,标签库描述文件介绍,TLD是Tag Library Definition的缩写,即标签库定义,文件后缀为.tldTLD文件也称为标签库定义文件TL

37、D文件为XML格式,存放在WEB-INF目录下,会自动加载该文件每个TLD文件对应一个标签库,一个标签库可包含多个标签注:可参考tomcat的目录webappsexamplesWEB-INFjsp2中的tld文件,主要元素,:根元素:该标签库的默认短名:指定标签库的uri,通过此uri来标识标签库:每个tag定义一个标签,可包含多个:标签访问名称,根据此名称访问标签:标签处理程序:可选,设置标签主体内容,可取值:empty空标签,无主体;jsp可以使用jsp脚本;scriptless可以是静态元素表达式语言,但不允许出现jsp脚本;tagdependent纯文本,mytaglib 1.0 ut

38、il http:/hello com.itany.HelloTag empty,定义TLD文件,此方式不需要配置web.xml文件,在JSP中使用,使用taglib指令引用 或在页面中使用自定义标签,标签文件,标签文件的实现过程,定义标签文件:以.tag为后缀,保存在WEB-INF/tags 目录下使用标签文件:在JSP页面中用 为标签文件定义一个前缀,按标签处理程序的用法使用,标签文件中的标记和属性,前导指令:body-content:标签体的特性,取值范围:empty、tagdependent、scriptless(默认)description:标签的描述display-name:标签名e

39、xample:使用示例import:导入要使用的包、类isElIgnored:是否忽略EL,默认falsepageEncoding:字符编码注:tag指令如同JSP网页的page指令,用来设置标签文件,标签文件中的标记和属性,前导指令:dscription:属性的描述fragment:是否为代码片断,默认falsename:属性名,必要的required:是否必须,默认falsetype:属性类型,默认Stringrtexprvalue:是否可用动态表达式,默认true前导指令:prefix:标签库标签使用时的前缀tagdir 或 uri:标签库路径,标签文件中的标记和属性,前导指令:file

40、:包含文件的路径名称前导指令:name-given:为返回值提供一个名称variable-class:返回变量的类型,默认Stringscope:变量作用域,取值范围:AT_BEGIN、AT_END、NESTED(默认)注:标签文件可以使用隐藏属性:request、response、jsContext、session、application、out、config也可以使用脚本元素、EL表达式、JSTL等,标签文件中的标记和属性,标准动作:用来执行标签体var:用来标识标签体的变量,String类型varReader:同上,java.io.Reader类型scope:变量的作用域,如:page、

41、request、session、application标准动作:用来执行标签中JspFragment类型的属性var、varReader、scope:同上fragment:在标签调用的过程中标识片段,必须有注:和是JSP2.0新增的动作元素,主要用在Tag File中,联系我们|公司介绍|隐私政策|服务条款|人才招聘|广告招商|帮助中心Copyright$now.year+1900 Shop Shot,标签文件的简单实现,标签文件,指定非主体标签,使用标准动作创建JavaBean,标签文件的使用,JSP 实现,使用taglib指令的tagdir属性指定tag文件的路径,prefix属性指定自定

42、义标签的前缀,使用自定义标签,过滤器,过滤器简介,过滤器是向 Web 应用程序的请求和响应处理添加功能的Web服务组件过滤器的作用:统一的认证处理详细的日志对用户数据的安全性处理改变图象文件格式对响应数据进行编码对响应做压缩处理对XML输出做XSLT转换,过滤器工作原理,过滤器的工作原理:,Web 资源,用户发送请求,过滤器将处理过的用户的请求发送至 Web 资源,资源将响应发送至过滤器,过滤器将处理过的Web 资源的响应发送给用户,用户,过滤器,过滤器生命周期,过滤器生命周期的各个阶段:,实例化,初始化,过滤,销毁,过滤器创建步骤,定义一个实现了Filter接口的类实现doFilter方法在

43、web.xml文件中进行配置,Filter 接口,javax.servlet.Filter接口定义了过滤器的生命周期其实现类对象按照生命周期,对用户的请求和资源的响应进行过滤Filter 接口包含以下方法:public void init(FilterConfig filterConfig)throws ServletExceptionpublic void doFilter(ServletRequest req,ServletResponse resp,FilterChain chain)throws java.io.IOException,ServletExceptionpublic vo

44、id destroy(),FilterConfig 接口,在初始化过程中,容器使用 FilterConfig 将信息传递给过滤器,主要是初始化参数 FilterConfig 接口包含以下方法:public String getFilterName()public ServletContext getServletContext()public String getInitParameter(Stringname)public java.util.Enumeration getInitParameterNames(),FilterChain接口,FilterChain 接口用于调用过滤器链中的一

45、系列过滤器方法:public void doFilter(ServletRequest req,ServletResponse resp)throws IOException,ServletException,用户,过滤器1,过滤器2,过滤器3,Web 资源,过滤器链,配置过滤器,过滤器定义用于将过滤器名称与部署描述符web.xml中的特定类关联可在中使用如下标记添加参数,FilterName ClassName,指定过滤器的名称,指定类的全名称,映射过滤器,使用 元素可将过滤器映射至 Web资源,如Servlet、JSP页面等另有子标签和可以设置对某些servlet或某些请求才使用过滤器,M

46、yFilter/servletname/*,指定过滤器的名称,指定 Servlet 的名称,过滤器简单示例,public void doFilter(ServletRequest request,ServletResponse response,FilterChain filterChain)HttpServletRequest myReq=(HttpServletRequest)request;HttpServletResponse myRes=(HttpServletResponse)response;/对请求进行处理filterChain.doFilter(request,respons

47、e);/对响应进行处理,监听器,监听器简介,监听器用于在服务器端监听一些特定事件的发生,以便用户对发生的事件做出一些处理可以在不修改已有代码的情况下,增加web应用程序生命周期中的事件的跟踪,监听器类型,ServletContextListenerServletContextAttributeListenerHttpSessionListenerHttpSessionAttributeListenerHttpSessionActivationListenerHttpSessionBindingListenerServletRequestListenerServletRequestAttribu

48、teListener,ServletContext监听器,ServletContextListener:用于监听WEB 应用启动和销毁的事件:contextDestroyed(ServletContextEvent sce)contextInitialized(ServletContextEvent sce)ServletContextAttributeListener:用于监听WEB应用程序的属性改变事件,包括:增加属性、删除属性、修改属性,即ServletContext的setAttribute、removeAttribute方法被调用时attributeAdded(ServletCont

49、extAttributeEvent scae)attributeRemoved(ServletContextAttributeEvent scae)attributeReplaced(ServletContextAttributeEvent scae),Session监听器2-1,HttpSessionListener:监听HttpSession的操作,当一个会话创建或销毁时激发相应事件:sessionCreated(HttpSessionEvent se)sessionDestroyed(HttpSessionEvent se)HttpSessionAttributeListener:用于监

50、听HttpSession的属性改变事件:attributeAdded(HttpSessionBindingEvent hsbe)attributeRemoved(HttpSessionBindingEvent hsbe)attributeReplaced(HttpSessionBindingEvent hsbe),Session监听器2-2,另有2个较少用到的Session监听器HttpSessionBindingListener:与HttpSessionAttributeListener相比,当修改HttpSession的属性时不会监听:void valueBound(HttpSession

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号