《jsp程序设计》教学课件(3)
43页1、第7章Servlet编程技术,Servlet技术是目前流行的开发模式MVC的基础,而JSP技术就是基于Java Servlet的。因此,要对JSP有更深入的了解,就需要掌握Servlet。,7.1Servlet概述,Servlet已经出现了很长时间,目前已经是一种非常成熟的技术。JSP与Servlet结合使用非常有效。,7.1.1Servlet简介,Servlet是与平台无关的服务器端小程序,从本质上讲,Servlet是一个Java类,除图形界面以外,Java语言能实现的功能,Servlet基本上都能实现。 Servlet主要用于处理客户端传来的HTTP请求,并将处理结果以HTTP形式返回客户端,从而生成动态网页。Servlet和客户端协作是通过请求响应模式来进行处理,如下图所示。,Servlet是Java技术对CGI(通用网关接口)编程的回应,但与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,并具有更好的可移植性,更节省投资。,Servlet的主要优点有以下几点: (1)可移植性。Servlet是利用Java语言开发的,因
2、此延续Java在跨平台上的表现,不论Server的操作系统是Windows、Linux、FreeBSD或AIX等,都能够很好地执行。当程序员在开发Applet 时,“可移植性(portability)”是比较难以解决的问题。例如,开发Applet时,为了配合客户端的平台(即浏览器版本的不同,plug-in的JDK版本也不尽相同),达到满足真正“跨平台”的目的时,需要花费大量时间来修改程序。但即使如此,往往也只能满足大部分用户,而其他少数用户若要执行Applet,仍须先安装合适的JRE (Java runtime environment)。但是如果使用Servlet就比较简单了,主要原因在于Servlet 是在Server 端执行的。 (2)强大的功能。Servlet能够完全发挥Java API 的威力,包括网络和URL 存取、多线程(multithread)、影像处理、RMI(remote method invocation)、分布式服务器组件(enterprise Java bean)、对象序列化(object serialization) 等。 (3)高性能。Servlet 在加载
3、执行之后,其对象实体(instance)通常会一直停留在Server的内存中,若有请求(request)发生时,服务器再调用Servlet 来服务,若收到相同服务的请求时,Servlet会利用不同的线程来处理,不像CGI程序必须产生许多进程(process)来处理数据。因此在性能的表现上,Servlet大大超越CGI程序。 而且Servlet在执行时,不是一直停留在内存中,服务器会自动将停留时间过长、一直没有执行的Servlet从内存中移除,这个过程用户也可以自行编写程序来控制。其停留时间的长短通常和选用的服务器有关。 (4)安全性高。Servlet也有类型检查(type checking)的特性,并且由于Java的垃圾收集(garbage collection)与没有指针的设计,使得Servlet 避免了内存管理的问题。由于在Java的异常处理(exception handling)机制下,Servlet能够安全地处理各种错误,不会因为发生逻辑错误而导致整体服务器系统的毁灭。,由于Servlet的种种优点,Java Servlet有着十分广泛的应用。它不单单能简单地处理客户端的请求,
4、借助Java的强大的功能,使用Servlet还可以实现大量的服务器端的管理维护功能,以及各种特殊的任务,具体有以下几方面: (1)创建并返回一个包含基于客户端请求的动态内容的HTML页面。 (2)创建可嵌入到现有HTML页面中的HTML代码片断。 (3)与其他服务器资源(包括数据库或基于Java的应用程序)进行通信。 (4)对特殊的处理采用MIME类型过滤数据。 (5)当在允许以单连接方式传送数据的情况下,在浏览器上打开服务器至Applet的新连接,并将该连接保持在打开状态。在客户机和服务器简单、高效地执行会话的情况下,Applet也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准进行通信。,7.1.2Servlet与JSP的关系,JSP和Servlet的关系十分密切。由于JSP是作为一种简化Servlet开发的替代方法出现的,所有JSP页面在执行时都被转换为Servlet并被编译成字节码文件,随后在Servlet容器中运行,因此人们往往误认为JSP是一种比Servlet优秀并可以完全替代Servlet的技术。首先,从技术角度上看,JSP和Servlet的功能很相似。另外,
5、理论上JSP和Servlet也是可以相互替换的。但是,随着学习的深入和在具体项目中应用经验的增加,会发现不能这样简单地比较这两种技术,它们都有各自的优势和适应性。 JSP与Servlet之间的主要差异在于,JSP提供了一套简单的标签,和HTML融合得比较好,即使不了解Servlet的用户也可以通过JSP创建动态网页。因此,很多对Java语言不太熟悉的用户会觉得JSP开发比较方便。JSP页面修改后可以立即看到效果,不需要手动编译,JSP引擎会自动完成这项工作;而Servlet需要编译、重新启动Servlet引擎。 在Web应用开发中,通常可以将Servlet用作控制器,用于处理请求,一旦Servlet完成了请求处理,即可将处理结果转交给JSP并呈现给用户。由于JSP的跨平台特性,JSP技术在Web应用开发领域中愈来愈受人们的青睐,而JSP、JavaBean和Servlet三者的有机结合则提供了一种理想的Web应用解决方案。,7.1.3Servlet的生命周期,Servlet的生命周期定义了一个Servlet如何被加载、初始化,以及它怎样接收请求、响应请求、提供服务。Servlet部署在容
《《jsp程序设计》教学课件(3)》由会员m****分享,可在线阅读,更多相关《《jsp程序设计》教学课件(3)》请在金锄头文库上搜索。
肿瘤学发展简史
综合实践课折纸ppt
综合实践张开想象的翅膀
综合实践课走进粤菜
综合性学习走进中秋节
1986--2008年全国硕士研究生入学统一考试英语试题及解析
2020版高考数学一轮复习第一章集合与常用逻辑用语第二节命题及其关系充分条件与必要条件课件
2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第四节函数的图象课件理
2020版高考数学一轮复习第一章集合与常用逻辑用语第三节简单的逻辑联结词全称量词与存在量词课件理
2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第五节二次函数与幂函数课件理
2020版高考数学一轮复习第二章不等式第二节一元二次不等式及其解法课件
2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第七节对数与对数函数课件理
2020版高考数学一轮复习第二章不等式第四节二元一次不等式组及简单的线性规划问题课件
2020版高考数学一轮复习第二章不等式第一节不等关系与不等式课件
2020版高考数学一轮复习第二章不等式第三节绝对值不等式课件
2020版高考历史一轮复习第五单元古代中国经济的基本结构与特点第1讲古代中国的农业和手工业课件新人教版必修
2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第三节函数的奇偶性及周期性课件理
2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第九节函数模型及其应用课件理
2020版高考数学一轮复习第二章不等式第五节基本不等式课件
2020版高考历史一轮复习第十三单元近现代中国的思想解放及理论成果和科教文化第3讲现代中国的科技教育与文学艺术课件新人教版必修
2022-06-20 60页
2022-05-20 171页
2022-05-20 125页
2022-05-20 119页
2022-05-20 108页
2022-05-20 138页
2022-05-20 92页
2022-05-20 104页
2022-05-20 93页
2022-05-20 84页