个简单的Servlet容器

个简单的Servlet容器

ID:36713423

大小:642.31 KB

页数:19页

时间:2019-05-10

个简单的Servlet容器_第1页
个简单的Servlet容器_第2页
个简单的Servlet容器_第3页
个简单的Servlet容器_第4页
个简单的Servlet容器_第5页
资源描述:

《个简单的Servlet容器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一个简单的Servlet容器贝毅君浙江大学软件学院Servlet一个简单的Servlet容器外观模式优化Servlet容器ServletServlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。public

2、voidinit(ServletConfigconfig)throwsServletException;publicvoidservice(ServletRequestrequest,ServletResponseresponse)throwsServletExcetion,IOException;publicvoiddestroy();publicvoidServletConfiggetServletConfig();publicStringgetServletInfo();上述5个是Servlet接口中声明的5个方法,其中init(),service()和d

3、estroy()方法和servlet生命周期相关。Servlet生命周期当实例化某个servlet类后,servlet会调用其init()方法将其初始化。Servlet容器只会调用该方法一次。Servlet接受任何请求之前,必须要经过争取的初始化。当servlet的一个客户端请求到达后,servlet容器会调用相应servlet的service()方法,并将servletRequest和servletResponse作为参数传入。在Servlet对象的整个生命周期里面,service()方法会被多次调用。在将Service实例从服务中移除前,servlet容器会

4、调用destroy()方法。一般当servlet容器关闭或servlet容器要释放内存时,才会将servlet实例移除。Servlet生命周期Servlet实例PrimitiveServletpublicclassPrimitiveServletimplementsServlet{publicvoidinit(ServletConfigconfig)throwsServletException{System.out.println(“init”);}publicvoidservice(ServletRequestrequest,ServletResponsere

5、sponse)throwsServletException,IOException{System.out.println(“fromservice”);PrintWriterout=response.getWriter();out.println(“Hello.Rosesarered.”);out.print(“Violetsareblue.”);}publicvoiddestroy(){System.out.println(“destroy”);}publicvoidStringgetServletInfo(){returnnull;}publicvoidSe

6、rvletConfiggetServletConfig(){returnnull;}}Servlet示例demoPrimitiveServlet在每个方法内部增加后台打印,利用打印的后台信息可以跟踪servlet的生命周期调用。本章实现的servlet容器仅仅用到了service()方法,验证生命周期的输出推荐使用完整的tomcat运行。一个简单的servlet容器改造HttpServer仅仅需要改造HttpServer中await()方法response.sendStaticResource();替换为下述代码:if(request.getUri().star

7、tsWith("/servlet/")){ServletProcessor1processor=newServletProcessor1();processor.process(request,response);}else{StaticResourceProcessorprocessor=newStaticResourceProcessor();processor.process(request,response);}Url类型为http://XXX/servlet/xxx为访问servlet,不带/servelt/路径访问静态资源因为servlet的serv

8、ice方法会从servl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。