教学目标 (2)ppt课件_第1页
教学目标 (2)ppt课件_第2页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第9章 Java Servlet教学目的了解Servlet的优点与用途了解Servlet与JSP的区别 掌握Servlet的方法 了解Servlet的生命周期 了解和掌握Servlet的类和接口 教学重点Servlet与JSP的区别 Servlet的方法 Servlet的类和接口 教学过程Servlet任务原理 处置客户端提交的数据 JSP+Servlet编程实例 9.1 Servlet概述什么是Servlet Servlet的优点 Servlet的用途 Servlet与JSP的区别 Servlet的方法 Servlet的生命周期 Servlet的类和接口形状代码 什么是ServletServ

2、let是与JSP样在效力器端运转的Java运用程序的一种。Servlet与JSP或者CGI一样,当阅读器端有恳求那么将其结果传送给阅读器。文际上执行JSP文件的时候,首先JSP Container会将其转译为Servlet*.java文件,并自动编译解释执行。JSP中运用到的一切对象都将被转换为Servlet或者非Servlet的Java对象,然后被执行,所以执行JSP实践上与执行Servlet是一样的。从JSP的角度去看的话,Servlet实践上是JSP被解释执行的中间过程,即JSP实践上是为了让Servlet的开发显得相对容易而采取的脚本言语方式。简单来说,Servlet就是运转在效力器端

3、的运用程序,Servlet接纳来自客户端的恳求,将处置结果前往给客户端。 Servlet的优点功能强大。在Servlet中,许多运用传统CGI程序很难完成的义务都可以轻松地完成。Servlet还可以在各个程序之间共享数据,使得数据库衔接池之类的功能很容易实现。执行效率高。在传统的CGI中,每个恳求都要启动一个新的进程,假设CGI程序本身的执行时间较短,启动进程所需求的开销很能够反而超越实践执行时间。而在Servlet中,每个恳求由一个次要的Java线程处置。而不需求反复启动。这也叫“一次加载多次运用。在传统CGI中,假设有N个并发的进程对同一CGI程序发出恳求,那么该CGI程序的代码在内存中反

4、复装载了N次;而对于Servlet,处置恳求的是N个线程,只需加载一次Servlet类代码。从而可以提高处置速度。 开发难度低。相对于传统的CGI,Servlet有很多例程,可以完成许多功能,如网络缓存、Cookies、还有会话跟踪,自动读取Http表头等功能。开发者在这些功能完备的例程的根底上,轻松地开发功能复杂的Web运用程序。可移植性好。Servlet是运用Java编写的,所以很好地承继了Java的跨平台性特点。由于ServletAPI的规范很完备,所以几乎一切的主流Web效力器,如Apache、MicrosoftIIS或者WebStar等,都直接或者经过插件支持Servlet。性能更强

5、。Servlet比CGI有着更多的选择,比如缓冲以前的计算结果,坚持数据库衔接的活动等等。Servlet的用途 一个简单的Servlet可以处置运用HTML FORM在HTTPS上运用POST传送的数据,复杂的Servlet能够还会运用RMI技术可以用于实现定单输入和处置系统、消费及库存数据库以及一个能够的联机支付系统。 一个Servlet能并发处置多个恳求;他们可以运用在诸如在线会议这样的同步恳求支持系统。 Servlet可以转送恳求给其他的效力器和Servlet,按照义务类型或组织范围,可以允许被用来在几个效力器中划分逻辑上的效力器。 Servlet编写者们可以定义彼此之间共同任务的激活代

6、理,每个代理者是一个Servlet,而且代理者可以在它们之间传送数据。 Servlet与JSP的区别 Servlet是一种在效力器端运转的Java程序,从某种意义上说,它就是效力器端的Applet。所以Servlet可以像Applet一样作为一种插件Plugin嵌入到Web Server中去,提供诸如HTTP、FTP等协议效力甚至用户自已定制的协议效力。而JSP是继Servlet后Sun公司推出的新技术,它是以Servlet为根底开发的。Servlet与JSP相比有以下几点区别:编程方式不同Servlet必需在编译以后才干执行 运转速度不同 Servlet的生命周期 Servlet的生命周期定

7、义了一个Servlet如何被加载、初始化,以及它怎样接纳恳求、呼应恳求、提供效力。Servlet的生命周期如图。Servlet的初始化 init方法被调用于初始化JSP/Servlet,其格式为:public void init(ServletConfig config) throws ServletExceptionsuper.init();在初始化过程中,Servlet该当预备好它要安排的一些资源,以便这个Servlet可以接纳恳求,做到这些可以不用思索多线程,由于在Servlet初始化时只能是单进程的。一旦初始化方法完成,Servlet就能接纳客户端的恳求。Servlet的执行Servi

8、ce方法可以用于实现事务逻辑,是处置恳求的地方。在效力器装载初始化Servlet后,Servlet就可以处置客户端的恳求,可以用service方法来实现。每个客户端恳求有它本人service方法。这些方法接纳客户端恳求,并且发回相应的呼应。Servlet能同时运转多个service。这样,service方法可以按一个thread-safe款式编写。如service方法更新Servlet对象中的一个字段field,这个字段是可以同时存取的。假设某个效力器不能同时并发运转service方法,也可以用SingleThreadModel接口。这个接口保证不会有两个以上的线程threads并发运转。在S

9、ervlet执行期间其最多的运用是处置客户端的恳求并产生一个网页。 Servlet的终了 当效力器卸载一个Servlet,它将调用Servlet的destroy方法。这个destroy方法是与初始化方法相反,同时从内存中释放Servlet。Destroy的格式为:public void destroy() 用户调用destroy实践上不会卸载Servlet,只需Servlet引擎才可以实现此功能。 Servlet/JSP配置 要运转Servlet,那么需求JSP/Servlet container,可以运用Tomcat 5.0来实现,在环境变量CLASSPATH中添加C:Tomcat 5.0c

10、ommonlibservlet-api.jarServlet/JSP配置Servlet必需运用C:Tomcatwebapps ROOTWEB-INF这个目录下面的web.xml文件进展注册,翻开这个web.xml文件,运用Hello.java文件,在里面参与:servlet servlet-nameHello/servlet-name servlet-classHello/servlet-class/servlet/表示指定包含的servlet类 servlet-mapping servlet-nameHello/servlet-name url-pattern/servlet/Hello/u

11、rl-pattern/servlet-mapping /指定Hello该当映射到哪一种URL方式 存放servlet的目录Servlet的方法 Servlet普通从Javax包的HttpServlet类扩展而来,在HttpServlet中参与了一些附加的方法,这些方法可以被协助处置HTTP根本恳求的HttpServlet类中的方法service自动地调用。这些方法有: doGet、doPost、doPut、doDelete 、doHead 、doOptions 、doTrace 。doGet用来处置HTTP的GET恳求。这个GET操作仅仅允许客户从HTTP server上获得GET资源。重载此

12、方法的用户自动允许支持方法HEAD。这个GET操作被以为是平安的,没有任何的负面影响,对用户来说是很可靠的。 doGet方法格式为:protected void doGet(HttpServletResquest request,HttpServletResponse response)throws ServletException,IOException; doPost用来处置HTTP的POST恳求。这个POST操作包含了在必需经过此Servlet执行的恳求中的数据。由于它不能立刻获得资源,所以对于那些涉及到平安性的用户来说,经过POST恳求操作会有一些副作用。 doPost方法格式为:pr

13、otected void doPost(HttpServletResquest request,HttpServletResponse response)throws ServletException,IOException; doPut用来处置HTTP的PUT恳求。此PUT操作模拟经过FTP发送一个文件。对于那些涉及到平安性的用户来说,经过PUT恳求操作也会有一些副作用。doPut方法格式为:protected void doPut(HttpServletResquest request,HttpServletResponse response)throws ServletException

14、,IOException; doDelete用来处置HTTP的DELETE恳求。此操作允许客户端恳求一个从server移出的URL。对于那些涉及到平安性的用户来说,经过DELETE恳求操作会有一些副作用。doDelete方法格式为:protected void doDelete(HttpServletResquest request,HttpServletResponse response)throws ServletException,IOException; doHead用来处置HTTP的HEAD恳求。缺省地,它会在无条件的GET方法执行时运转,但是不前往任何数据到客户端。只前往包含内容信

15、息的长度的header。由于用到GET操作,此方法应该是很平安的没有副作用也是可反复运用的。 doHead方法格式为:protected void doHead(HttpServletResquest request,HttpServletResponse response)throws ServletException,IOException; doOptions用来处置HTTP的OPTIONS恳求。此操作自动地决议支持什么HTTP方法。比如说,假设读者创建HttpServlet的子类并重载方法doGet,然后方法doOptions会前往下面的header:GET、HEAD、TRACE和OPTIONS。doOptions方法格式为:protected void doOptions(HttpServletResquest request,HttpServletResponse response)throws ServletExce

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论