Servlet 编程PPT

上传人:hy****d 文档编号:242880623 上传时间:2024-09-10 格式:PPT 页数:49 大小:194.50KB
返回 下载 相关 举报
Servlet 编程PPT_第1页
第1页 / 共49页
Servlet 编程PPT_第2页
第2页 / 共49页
Servlet 编程PPT_第3页
第3页 / 共49页
点击查看更多>>
资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第三章 Servlet 编程,1,本章主要内容,Servlet,基础,Servlet,编程基本技能,Servlet,编程高级技能,Servlet,Filter,编程,Servlet,Listener,编程,2,Servlet,基础,Servlet,编程基本技能,Servlet,编程高级技能,Servlet Filter,编程,Servlet,Listener,编程,3,Servlet 基础,Servlet定义:,一种独立于操作系统平台和网络传输协议的服务器端的Java应用程序,它用来扩展服务器的功能,可以生成动态的Web页面,注意:Servlet不是从命令行启动的,而是由包含Java虚拟机的Web服务器进行加载,4,Servlet 基础,Servlet 与 Applet 相比较 :,相似之处:,(1)它们不是独立的应用程序,没有main()方法。,(2)它们不是由用户调用,而是由另外一个应用程序(容器)调用。,(3)它们都有一个生存周期,包含init()和destroy()方法。,不同之处:,(1)Applet运行在客户端,具有丰富的图形界面。,(2)Servlet运行在服务器端,没有图形界面。,5,Servlet 最大的用途是通过动态响应客户机请求来扩展服务器功能!,Servlet 基础,6,Servlet 基础,Servlet工作原理 :,Servlet运行在Web服务器上的Web容器里。Web容器负责管理Servlet。它装入并初始化Servlet,管理Servlet的多个实例,并充当请求调度器,将客户端的请求传递到Servlet,并将Servlet的响应返回给客户端。Web容器在 Servlet 的使用期限结束时终结该 Servlet。服务器关闭时,Web容器会从内存中卸载和除去 Servlet,7,Servlet 基础,Servlet基本工作流程,(1)客户机将请求发送到服务器。,(2)服务器上的Web容器实例化(装入)Servlet,(3)Web容器将请求信息发送到 Servlet。,(4)Servlet 创建一个响应,并将其返回到Web容器。,(5)Web容器将响应发回客户机。,(6)服务器关闭或Servlet空闲时间超过一定限度时,调用destory()方法退出。,8,Servlet 基础,注意:Servlet也可以配置为Web应用程序启动时自动装载。,结论:,客户机与Servlet间没有直接的交互。无论客户机对Servlet的请求还是Servlet对客户端的响应,都是通过Web服务器来实现的,这就大大提高了Servlet组件的可移植性,9,Servlet 基础,多个请求的处理,:为每个请求创建一个新的线程来处理客户端的请求,多个线程可能尝试访问同一数据块,需要注意同步。可以实现SingleThreadModel,避免多线程的并发访问。,10,Servlet 编程接口,Servlet 基础,11,Servlet,基础,Servlet,编程基本技能,Servlet,编程高级技能,Servlet Filter,编程,Servlet,Listener,编程,12,编写响应HTTP请求的Servlet的步骤:,(1)创建一个扩展了 javax.servlet.http.HttpServlet接口的Servlet类。,(2)重写doGet()或doPost()方法实现对HTTP请求信息的动态响应。,Servlet 编程基本技能,13,程序31:FirstServlet.java,package com.servlet;,import java.io.IOException;,import java.io.PrintWriter;,import javax.servlet.ServletException;,import javax.servlet.http.HttpServlet;,import javax.servlet.http.HttpServletRequest;,import javax.servlet.http.HttpServletResponse;,public class FirstServlet extends HttpServlet ,protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException ,/TODO Method stub generated by Lomboz,response.setContentType(text/html);,PrintWriter out = response.getWriter();,out.println(,+ ,+ ,+ + First Servlet + ,+ ,+ ,+ ,+ +Hello World! + ,+ ,+ ,+ );,14,利用Eclipse快速修正错误,15,16,程序,32:Web.xml, -,MyServlet -,examples.MyServlet -, -,myparam -,12345 -, -, -, -,MyServlet -,/mine/* -, -,First,com.servlet.FirstServlet,First,/first,404,/error.jsp,17,处理客户端输入,Servlet 编程基本技能,在Web程序设计中,以表单方式向服务器提交数据是最常见的方法。表单数据的提交方法有两种:Post方法和Get方法,,当使用Post方法时,数据由标准的输入设备读入。,当使用Get方法时,数据即附加在请求地址的后面,在浏览器的地址栏中可以看到。,用户只要简单的调用HttpServletRequest的getParameter()方法,给出变量名称即可取得该变量的值。,需要注意的是,变量的名称是大小写敏感的。当请求的变量不存在时,将会返回一个空字符串,Eg: GetPostData.java (url/loing.html url/GetPostData),MultiChoiceServlet.java (url/multichoice url/multiChoice.html),18,发送非HTML文档,Servlet 编程基本技能,随着Internet应用的不断扩展,为了支持多媒体数据类型,HTTP协议中就使用了附加在文档之前的MIME数据类型信息来标识数据类型,MIME:Multipurpose Internet Mail Extensions,多用途因特网邮件扩展,Servlets 可以使用 MIME 类型来向浏览器传送非 HTML 文件,比如 Adobe PDF 和 Micorsoft Word。使用正确的 MIME 类型能够保证这些非 HTML 文件被正确的插件或外部程序处理显示。,解决方案:需要将 response 对象中header 的 content 类型设置成 相应的MIME标志,19,发送非HTML文档,Servlet 编程基本技能,例如:发送PDF文档,res.setContentType(“application/pdf”),Eg:PDFServlet.java (url/pdfshow),发送word文档:,res.setContentType(“application/msword”),发送Excel文档 res.setContentType(“application/vnd.ms-excel”),调用response的setHeader( ),设置应答头,可以避免在浏览器中直接打开文档,而要求用户下载保存文档。,res.setHeader(“Content-disposition”,”attachment;”);,20,response.setContentType() ;,* = application/octet-stream .001 = application/x-001 .301 = application/x-301 .323 = text/h323 .906 = application/x-906 .907 = drawing/907 .a11 = application/x-a11 .acp = audio/x-mei-aac .ai = application/postscript .aif = audio/aiff .aifc = audio/aiff .aiff = audio/aiff .anv = application/x-anv .asa = text/asa .asf = video/x-ms-asf .asp = text/asp .asx = video/x-ms-asf .au = audio/basic .avi = video/avi .awf = application/vnd.adobe.workflow .biz = text/xml .bmp = application/x-bmp .bot = application/x-bot .c4t = application/x-c4t .c90 = application/x-c90 .cal = application/x-cals .cat = application/vnd.ms-pki.seccat .cdf = application/x-netcdf .cdr = application/x-cdr .cel = application/x-cel .cer = application/x-x509-ca-cert .cg4 = application/x-g4 .cgm = application/x-cgm .cit = application/x-cit .class = java/* .cml = text/xml :客户端浏览器按XML格式进行解析文档 .cmp = application/x-cmp .cmx = application/x-cmx .cot = application/x-cot .crl = application/pkix-crl .crt = application/x-x509-ca-cert .csi = application/x-csi .css = text/css :客户端浏览器按CSS格式进行解析文档 .cut = application/x-cut .dbf = application/x-dbf .dbm = application/x-dbm .dbx = application/x-dbx .dcd = text/xml :客户端浏览器按XML格式进行解析文档 .dcx = application/x-dcx .der = application/x-x509-ca-cert .dgn = application/x-dgn .dib = application/x-dib .dll = application/x-msdownload .doc = application/msword .dot = application/msword .drw = application/x-drw .dtd = text/xml :客户端浏览器按XML格式进行解析文档 .dwf = Model/vnd.dwf .dwf = application/x-dwf .dwg = application/x-dwg .dxb = application/x-dxb .dxf = application/x-dxf .edn = application/vnd.adobe.edn .emf = application/x-emf .eml = message/rfc822 .ent = text/xml :客户端浏览器按XML格式进行解析文档 .epi = application/x-epi .eps = application/x-ps .eps = application/postscript .etd = application/x-ebx .exe = application/x-msdownload .fax = image/fax .fdf = application/vnd.fdf .fif = application/fractals .fo = text/xml :客户端浏览器按XML格式进行解析文档 .frm = application/x-frm .g4 = application/x-g4 .gbr = application/x-gbr .gcd = application/x-gcd .gif = image/gif .gl2 = application/x-gl2 .gp4 = application/x-gp4 .hgl = application/x-hgl .hmr = application/x-hmr .hpg = application/x-hpgl .hpl = application/x-hpl .hqx = application/mac-binhex40 .hrf = application/x-hrf .hta = application/hta .htc = text/x-component .htm = text/html :客户端浏览器按超文本格式进行解析文档 .html = text/html :客户端浏览器按超文本格式进行解析文档 .htt = text/webviewhtml .htx = text/html :客户端浏览器按超文本格式进行解析文档 .icb = application/x-icb .ico = image/x-icon .ico = application/x-ico .iff = application/x-iff .ig4 = application/x-g4 .igs = application/x-igs .iii = application/x-iphone .img = application/x-img .ins = application/x-internet-signup .isp = application/x-internet-signup .IVF = video/x-ivf .java = java/* .jfif = image/jpeg .jpe = image/jpeg .jpe = application/x-jpe .jpeg = image/jpeg .jpg = image/jpeg .jpg = application/x-jpg .js = application/x-javascript .jsp = text/html :客户端浏览器按超文本格式进行解析文档 .la1 = audio/x-liquid-file .lar = application/x-laplayer-reg .latex = application/x-latex .lavs = audio/x-liquid-secure .lbm = application/x-lbm .lmsff = audio/x-la-lms .ls = application/x-javascript .ltr = application/x-ltr .m1v = video/x-mpeg .m2v = video/x-mpeg .m3u = audio/mpegurl .m4e = video/mpeg4 .mac = application/x-mac .man = application/x-troff-man .math = text/xml .mdb = application/msaccess .mdb = application/x-mdb .mfp = application/x-shockwave-flash .mht = message/rfc822 .mhtml = message/rfc822 .mi = application/x-mi .mid = audio/mid .midi = audio/mid .mil = application/x-mil .mml = text/xml .mnd = audio/x-musicnet-download .mns = audio/x-musicnet-stream .mocha = application/x-javascript .movie = video/x-sgi-movie .mp1 = audio/mp1 .mp2 = audio/mp2 .mp2v = video/mpeg .mp3 = audio/mp3 .mp4 = video/mpeg4 .mpa = video/x-mpg .mpd = application/vnd.ms-project .mpe = video/x-mpeg .mpeg = video/mpg .mpg = video/mpg .mpga = audio/rn-mpeg .mpp = application/vnd.ms-project .mps = video/x-mpeg .mpt = application/vnd.ms-project .mpv = video/mpg .mpv2 = video/mpeg .mpw = application/vnd.ms-project .mpx = application/vnd.ms-project .mtx = text/xml .mxp = application/x-mmxp .net = image/pnetvue .nrf = application/x-nrf .nws = message/rfc822 .odc = text/x-ms-odc .out = application/x-out .p10 = application/pkcs10 .p12 = application/x-pkcs12 .p7b = application/x-pkcs7-certificates .p7c = application/pkcs7-mime .p7m = application/pkcs7-mime .p7r = application/x-pkcs7-certreqresp .p7s = application/pkcs7-signature .pc5 = application/x-pc5 .pci = application/x-pci .pcl = application/x-pcl .pcx = application/x-pcx .pdf = application/pdf :客户端浏览器按PDF格式进行解析文档 .pdf = application/pdf .pdx = application/vnd.adobe.pdx .pfx = application/x-pkcs12 .pgl = application/x-pgl .pic = application/x-pic .pko = application/vnd.ms-pki.pko .pl = application/x-perl .plg = text/html .pls = audio/scpls .plt = application/x-plt .png = image/png .png = application/x-png .pot = application/vnd.ms-powerpoint .ppa = application/vnd.ms-powerpoint .ppm = application/x-ppm .pps = application/vnd.ms-powerpoint .ppt = application/vnd.ms-powerpoint .ppt = application/x-ppt .pr = application/x-pr .prf = application/pics-rules .prn = application/x-prn .prt = application/x-prt .ps = application/x-ps .ps = application/postscript .ptn = application/x-ptn .pwz = application/vnd.ms-powerpoint .r3t = text/vnd.rn-realtext3d .ra = audio/vnd.rn-realaudio .ram = audio/x-pn-realaudio .ras = application/x-ras .rat = application/rat-file .rdf = text/xml .rec = application/vnd.rn-recording .red = application/x-red .rgb = application/x-rgb .rjs = application/vnd.rn-realsystem-rjs .rjt = application/vnd.rn-realsystem-rjt .rlc = application/x-rlc .rle = application/x-rle .rm = application/vnd.rn-realmedia .rmf = application/vnd.adobe.rmf .rmi = audio/mid .rmj = application/vnd.rn-realsystem-rmj .rmm = audio/x-pn-realaudio .rmp = application/vnd.rn-rn_music_package .rms = application/vnd.rn-realmedia-secure .rmvb = application/vnd.rn-realmedia-vbr .rmx = application/vnd.rn-realsystem-rmx .rnx = application/vnd.rn-realplayer .rp = image/vnd.rn-realpix .rpm = audio/x-pn-realaudio-plugin .rsml = application/vnd.rn-rsml .rt = text/vnd.rn-realtext .rtf = application/msword .rtf = application/x-rtf .rv = video/vnd.rn-realvideo .sam = application/x-sam .sat = application/x-sat .sdp = application/sdp .sdw = application/x-sdw .sit = application/x-stuffit .slb = application/x-slb .sld = application/x-sld .slk = drawing/x-slk .smi = application/smil .smil = application/smil .smk = application/x-smk .snd = audio/basic .sol = text/plain .sor = text/plain .spc = application/x-pkcs7-certificates .spl = application/futuresplash .spp = text/xml .ssm = application/streamingmedia .sst = application/vnd.ms-pki.certstore .stl = application/vnd.ms-pki.stl .stm = text/html .sty = application/x-sty .svg = text/xml .swf = application/x-shockwave-flash :客户端浏览器按 Flash 格式进行解析文档 .tdf = application/x-tdf .tg4 = application/x-tg4 .tga = application/x-tga .tif = image/tiff .tif = application/x-tif .tiff = image/tiff .tld = text/xml .top = drawing/x-top .torrent = application/x-bittorrent .tsd = text/xml .txt = text/plain :客户端浏览器按 纯文本 格式进行解析文档 .uin = application/x-icq .uls = text/iuls .vcf = text/x-vcard .vda = application/x-vda .vdx = application/vnd.visio .vml = text/xml .vpg = application/x-vpeg005 .vsd = application/vnd.visio .vsd = application/x-vsd .vss = application/vnd.visio .vst = application/vnd.visio .vst = application/x-vst .vsw = application/vnd.visio .vsx = application/vnd.visio .vtx = application/vnd.visio .vxml = text/xml .wav = audio/wav .wax = audio/x-ms-wax .wb1 = application/x-wb1 .wb2 = application/x-wb2 .wb3 = application/x-wb3 .wbmp = image/vnd. .wiz = application/msword .wk3 = application/x-wk3 .wk4 = application/x-wk4 .wkq = application/x-wkq .wks = application/x-wks .wm = video/x-ms-wm .wma = audio/x-ms-wma .wmd = application/x-ms-wmd .wmf = application/x-wmf .wml = text/vnd. .wmv = video/x-ms-wmv .wmx = video/x-ms-wmx .wmz = application/x-ms-wmz .wp6 = application/x-wp6 .wpd = application/x-wpd .wpg = application/x-wpg .wpl = application/vnd.ms-wpl .wq1 = application/x-wq1 .wr1 = application/x-wr1 .wri = application/x-wri .wrk = application/x-wrk .ws = application/x-ws .ws2 = application/x-ws .wsc = text/scriptlet .wsdl = text/xml .wvx = video/x-ms-wvx .xdp = application/vnd.adobe.xdp .xdr = text/xml .xfd = application/vnd.adobe.xfd .xfdf = application/vnd.adobe.xfdf .xhtml = text/html .xls = application/vnd.ms-excel .xls = application/x-xls .xlw = application/x-xlw .xml = text/xml .xpl = audio/scpls .xq = text/xml .xql = text/xml .xquery = text/xml .xsd = text/xml .xsl = text/xml .xslt = text/xml .xwd = application/x-xwd .x_b = application/x-x_b .x_t = application/x-x_t,21,Servlet 编程基本技能,Servlet配置参数由ServletConfig对象表示。在Servlet被实例化后,ServletConfig对象对任何客户端在任何时候访问都有效,但一个Servlet的ServletConfig对象不能被其他Servlet访问。,使用ServletConfig的getInitParameter(String)方法,获得初始化参数,在Servlet中要得到ServletConfig对象有两种方法:,在,init(),方法中获取(通过,init,的重载方法传递);,通过,getServletConfig,(),方法直接获取。,Eg:InitParamServlet,(,url/InitParamServlet,),Eg:ConfigParamServlet,用途:通过配置信息来初始化Servlet可以有效避免硬编码信息,提高Servlet的可移植性。,22,Servlet,基础,Servlet,编程基本技能,Servlet,编程高级技能,Servlet Filter,编程,Servlet,Listener,编程,23,Servlet 编程高级技能,HTTP特征:,HTTP协议是一种无状态的协议,客户端每次打开一个Web 页面,它就会与服务器建立一个新的连接,发送一个新的请求到服务器,服务器处理客户端的请求,返回响应到客户端,并关闭与客户端建立的连接。当客户端发起新的请求,那么它重新与服务器建立连接,因此服务器并不记录关于客户的任何信息。,24,Servlet 编程高级技能,常见会话跟踪技术有:,Cookie,、,URL,重写,隐藏表单域,25,Servlet 编程高级技能,Cookie是一小块可以嵌入到Http请求和响应中的数据。典型情况下,Web服务器将Cookie值嵌入到响应的首部,而浏览器则在其后的请求中都将携带同样的Cookie。,Cookie的信息中可以有一部分用来存储会话ID,该会话ID被服务器用来将某些HTTP请求绑定在会话中。,Cookie由浏览器保存窄客户端,通常为一个文本文件。,使用Cookie进行会话跟踪,26,Servlet 编程高级技能,request.getCookies( );,获得当前请求中的Cookie对象的一个数组,通过Cookie对象的getName( )方法获得Cookie的标识,通过Cookie对象的getValue( )获得Cookie相关信息,response.addCookie( )能将Cookie加入到response对象并返回客户端,以后客户端的对服务端的请求都将携带此Cookie,Eg:CookieServlet (url/Cookie),使用Cookie进行会话跟踪,27,Servlet 编程高级技能,在Cookie中添加与会话相关的信息,实现会话跟踪,Eg:CookieTraceServlet,使用Cookie进行会话跟踪,28,Servlet 编程高级技能,URL重写通过窄URL地址后面增加一个包含会话信息的字符串来记录会话信息。,URl地址与会话信息串之间用”?”分隔,如果有多个参数,用“&”分隔。,Eg:URLRewrite1 (url/url1),URLRewrite2 (url/url2),使用URL重写跟踪会话,29,Servlet 编程高级技能,HttpSession 接口允许 Servlet查看和管理关于会话的信息,确保信息持续跨越多个用户连接等。,HttpSession高级接口实际上是建立在 Cookie 和 URL重写这两种会话跟踪技术之上的,只不过由Servlet自动实现了关于会话跟踪的一切,不再需要程序员了解具体细节。,30,Servlet 编程高级技能,使用 HttpSession 接口进行程序开发的基本步骤是:,(1)获取会话对象HttpSession,(2)对会话对象进行读或写,(3)手工终止会话,或者什么也不做,让它自动终止。每个会话对象都有一定的生存周期,超过这个周期,容器将自动将会话对象中止。,31,Servlet 编程高级技能,HttpSession接口常用方法,isNew( ):检测当前客户会话是否为新的会话,getId( ):返回分配给session的唯一标识字符串,setAttribute( ):将数据以某个名称绑定到sessioin,getAttribute( ):从session中取得数据,setMaxInactiveInterval( ):session的有效期,秒为单位,removeAttribute( ):从session中删除数据,invalidate( ):终止当前会话,Eg:HitCounter (url/HitCounter),Eg:CatalogServlet (url/catalog) CartServlet (url/cart),使用HttpSession对象跟踪会话,32,Servlet 编程高级技能,上下文:服务器上的每个Web应用都会有一个背景环境对象。上下文对象提供了一个同一Web应用内的不同资源间共享信息的场所。Javax.Servlet.ServletContext接口提供正在运行的Servlet所处的Web应用程序的上下文对象的视图,可以通过getServletContext()方法得到该Servlet运行的上下文对象。,ServletContext,33,Servlet 编程高级技能,通过Servlet 上下文可以实现以下功能:,(1)访问Web应用程序资源,(2)在Servlet上下文属性中保存Web应用程序信息,(3)获取初始化参数信息,(4)提供日志支持。,Eg:AdminTemperatureServlet url/adminTemperature,ShowTempteratureServlet url/showTemperature,34,Web容器接收到客户端的请求,负责创建request对象和response对象,然后将二者以参数形式传递给与请求URL相关联的Servlet的service( )方法进行出来。,请求指派:对于负责的请求,在一个Servlet处理完毕后,将客户端的请求传递到另外一个Servlet来处理。,javax.servlet.Requestdispatcher接口,forward( )方法 将请求传递到其他资源,include( )方法 将其他资源对同一请求的响应包含进来,Eg:Main.java LoginSuccess url/LoginSuccess LoginFail url/LoginFail,Servlet 编程高级技能,35,Servlet,基础,Servlet,编程基本技能,Servlet,编程高级技能,Servlet Filter,编程,Servlet,Listener,编程,36,Java Servlet 2.3 规范新特性:Servlet Filter,Servlet Filter 编程,注意:Filter不是Servlet,它只是Servlet接收请求前的预处理器,不能产生response,但是能够在requet到达servlet之前预处理request,对servlet执行结束后得到的response做处理。,37,38,三个核心接口,javax.servle包中:,Filter,FilterChain,FilterConfig,一个Filter 必须实现javax.Servlet.Filter 接口,即实现下面的三个方法:,(1)doFilter(ServletRequest, ServletResponse, FilterChain)。用来实现过滤行为的方法。引入的 FilterChain 对象提供了后续Filter所要调用的信息。,(2)init(FilterConfig)。由容器调用的初始化方法,确保第一次调用doFilter()方法前调用此方法,一般用来获取Web.xml中配置的初始化参数,(3)destroy()。,Servlet Filter 编程,39,核心接口,FilterChain 接口,FilterConfig 接口,public String getFilterName( ),public ServletContext getServletContext( ),public String getInitParameter(String),40,Servlet Filter 编程,Filter有两种映射模式 :,(1)对URL模式的映射,即默认映射模式,eg:/* 表示应用中的任意请求,/test/* /test/访问路径下的任意URL,(2)对Servlet的映射,通过Servlet的逻辑名称与特定Servlet关联,Eg:TimeTrackFilter,41,程序325: Web.xml(片段),.,TimeTrackFilter,com.servlet.TimeTrackFilter,TimeTrackFilter,/Main,.,42,web.xml 片段,Filter映射设置,TimeTrackFilter,com.servlet.TimeTrackFilter,TimeTrackFilter,/Main,TimeTrackFilter,PDFServlet,FORWARD,43,Servlet,基础,Servlet,编程基本技能,Servlet,编程高级技能,Servlet Filter,编程,Servlet,Listener,编程,44,Servlet Listener,Listener是Servlet2.4规范以后增加的新特性,用于主动监听web容器事件。,事件:指Web应用下上文的创建销毁、会话对象的创建销毁以及会话属性信息的变化等,通过事件监听,Listener对象可以在事情发生前、发生后进行一些必要的处理。,Listener实现了Servlet的事件驱动,使得Servlet不仅可以被动的处理客户端发出的请求,而且可以主动对Web容器的变化进行响应,大大提高了web应用的能力。,45,Listener接口,Event类,ServletContextListener,ServletContextEvent,ServletContextAttributeListener,ServletContextAttributeEvent,HttpSessionListener,HttpSessionEvent,HttpSessionActivationListener,HttpSessionAttributeListener,HttpSessionBindingEvent,HttpSessionBindingListener,ServletRequestListener,ServletRequestEvent,ServletRequestAttributeListener,ServletRequestAttributeEvent,Servlet规范中支持的Listener接口和Event类,46,所有关于Listener的配置信息都存储在Web应用的部署描述文件Web.xml中,Web容器通过此文件中的信息来决定当某个特定事件发生时,将自动创建对应的Listener对象的实例并调用相应的接口方法进行处理。,Eg:,Counter,CounterListener (ServletContextListener),SessionListener (HttpSessionListener),Counter,47,程序327:Web.xml(部分),CounterPath,count.txt,ServletContextListener,com.servlet.CounterListener,48,Servlet异常处理,通过配置,让容器处理,通过出错代码,标记对出错的处理,通过异常类型,匹配对出错的处理,定为出错处理位置,在程序中处理,49,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!