2一个简单的Servlet容器.ppt
《2一个简单的Servlet容器.ppt》由会员分享,可在线阅读,更多相关《2一个简单的Servlet容器.ppt(19页珍藏版)》请在三一文库上搜索。
1、一个简单的Servlet容器,贝毅君 浙江大学软件学院,Servlet,一个简单的Servlet容器 外观模式优化Servlet容器,Servlet,Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。,public void
2、 init(ServletConfig config) throws ServletException; public void service(ServletRequest request, ServletResponse response) throws ServletExcetion, IOException; public void destroy(); public void ServletConfig getServletConfig(); public String getServletInfo(); 上述5个是Servlet接口中声明的5个方法,其中init(), servic
3、e()和destroy()方法和servlet生命周期相关。,Servlet生命周期,当实例化某个servlet类后,servlet会调用其init()方法将其初始化。Servlet容器只会调用该方法一次。Servlet接受任何请求之前,必须要经过争取的初始化。 当servlet的一个客户端请求到达后,servlet容器会调用相应servlet的service()方法,并将servletRequest和servletResponse作为参数传入。在Servlet对象的整个生命周期里面,service()方法会被多次调用。 在将Service实例从服务中移除前, servlet容器会调用dest
4、roy()方法。一般当servlet容器关闭或servlet容器要释放内存时, 才会将servlet实例移除。,Servlet生命周期,Servlet实例PrimitiveServlet,public class PrimitiveServlet implements Servlet public void init(ServletConfig config) throws ServletException System.out.println(“init”); public void service(ServletRequest request, ServletResponse respon
5、se) throws ServletException, IOException System.out.println(“from service”); PrintWriter out = response.getWriter(); out.println(“Hello. Roses are red.”); out.print(“Violets are blue.”); public void destroy() System.out.println(“destroy”); public void String getServletInfo() return null; public void
6、 ServletConfig getServletConfig() return null; ,Servlet示例demo,PrimitiveServlet在每个方法内部增加后台打印,利用打印的后台信息可以跟踪servlet的生命周期调用。 本章实现的servlet容器仅仅用到了service()方法,验证生命周期的输出推荐使用完整的tomcat运行。,一个简单的servlet容器,改造HttpServer,仅仅需要改造HttpServer中await()方法 response.sendStaticResource(); 替换为下述代码:,if (request.getUri().starts
7、With(“/servlet/“) ServletProcessor1 processor = new ServletProcessor1(); processor.process(request, response); else StaticResourceProcessor processor = new StaticResourceProcessor(); processor.process(request, response); ,Url类型为 http:/XXX/servlet/xxx 为访问servlet, 不带/servelt/路径访问静态资源,因为servlet的service
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一个 简单 Servlet 容器
链接地址:https://www.31doc.com/p-2035116.html