欢迎来到天天文库
浏览记录
ID:39565921
大小:276.50 KB
页数:35页
时间:2019-07-06
《理解Servlet的概念以及Servlet的处理流程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第14章Servlet编程1.理解Servlet的概念以及Servlet的处理流程。2.初步掌握用java书写动态网页的技能。3.对java在构建Web网站方面的应用有初步的了解。教学目的要求14.1Servlet简介Servlet是标准的服务器端程序,用以增强Web服务器的功能。Servlet运行在服务器上,当Web服务器收到一个用户的Servlet请求时,执行Servlet,动态地创建HTML响应给用户。14.1.1Servlet概述Servlet是标准的服务器端程序,用以增强Web服务器的功能。用Servlet可以创建协议、平台无关的Web应用程序可以生成动态的Web页
2、面,它是公共网关接口(CommonGatewayInterface,CGI)程序设计的Java技术解决方案。Servlet提供了比使用CGI开发服务器端功能更好的方法,因为JavaServlet在Web服务器和Servlet之间定义了一个标准的接口,这使Servlet运行是平台独立的,具有很高的可移植性,可以和异构的服务器交互。大多数主流服务器通过插件支持Servlet。14.1.2Servlet开发环境搭建学习Servlet开发,必须搭建一个符合规范的开发环境,有许多的Web服务器或应用服务器可以运行提供我们需要的软件:如ApacheTomcat、AllaireJrun、N
3、ewAtlantaServletExec、GefionSoftwareLiteWebServer等。1、ApacheTomcat建Servlet开发环境Tomcat是一个免费的开放源代码的Servlet容器可以到http://jakarta.apache.org下载Tomcat5.x。安装后还应设置CLASSPATH以使得编译程序javac能利用ServletAPI,为此,应将install_dircommonlibServlet-api.jar放入置在CLASSPATH中。启动后在浏览器地址栏里输入http://localhost:8080/出现服务器测试成功页面。2
4、、创建开发目录创建一个自己的开发目录比如:install_dirwebappsROOTmyapp,于其中放置所有的Servlet和JSP页面14.1.3Servlet的工作原理与生命周期每个Servlet都有一个生命周期,从它被装入到Web应用服务器的内存开始,到终止或重新装入时结束。每个生命周期定义了Servlet如何被加载和被初始化,它怎样接收请求、响应请求,怎样提供服务。javax.Servlet.Servlet接口中定义了生命周期方法,如init()、service()、destroy()等,在Servlet的生命周期中,这些方法会在待定时间按照一定的顺序被调用
5、。1、init()方法客户端通过HTTP协议发送,当Web服务器接收请求并将其发送给Servlet,如果需要处理请求的Servlet未加载,服务器把它加载到JVM并执行它。服务器首先调用init()方法进行初始化工作。该方法只被调用一次。2、service()方法在init()方法之后,服务器调用service()方法准备处理用户的访问。通常是Servlet接收HTTP请求并执行相应的处理,并向Web服务器返回应答,Web服务器再把从Servlet收到的应答发送给客户端。来自HTTP的访问有GET、PUT、POST、DELETE等类型,这些都可以在service()方法中处理
6、,也可以重置doPost、doGet等方法来处理特定的请求方式。3、destroy()方法服务器在结束Servlet运行时调用destroy()方法,通常在这个方法中执行诸如清除资源的操作。例如停止后台的文件处理、线程和释放数据库连接等操作。例14.2测试Servlet的生命周期方法packagemjwa;importjava.util.*;importjava.io.*;importjavax.servlet.*;importjavax.servlet.http.*;publicclassLifecircleextendsHttpServlet{publicvoidinit
7、(ServletConfigconfig)throwsServletException{System.out.println("init():"+newDate());}publicvoiddestroy(){System.out.println("destroy():"+newDate());}publicvoidservice(HttpServletRequestreq,HttpServletResponseresp)throwsIOException,ServletException{PrintW
此文档下载收益归作者所有