JSP与Servlet编程.ppt
《JSP与Servlet编程.ppt》由会员分享,可在线阅读,更多相关《JSP与Servlet编程.ppt(72页珍藏版)》请在三一办公上搜索。
1、2023/11/7,1,|海 有|壁 无|一切为了学生。|纳 容|立 欲|为了学生一切。|百 乃|千 则|岂能事事如意,但求无愧于心。|川 大|仞 刚|把微笑留给世界,让世界因你微笑!,2023/11/7,2,温故而知新!,2023/11/7,3,第9章 JSP与JavaBean编程,9.1 JavaBean概述9.2 JavaBean的基本用法9.2.1 JavaBean的属性9.2.2 访问Bean属性9.2.3 设置Bean属性9.3 Bean的作用域9.4 JavaBean的使用9.4.1 使用JavaBean访问数据库9.4.2 JavaBean应用实例,2023/11/7,4,第1
2、0章 JSP与Servlet编程,10.1 Servlet介绍10.2 处理客户端请求10.3 Servlet编程接口10.4 Servlet部署10.5 Servlet应用实例,2023/11/7,5,10.1 Servlet介绍,10.1.1 什么是Servlet10.1.2 Servlet的技术特点10.1.3 Servlet与JSP的区别10.1.4 Servlet在Web项目中的作用10.1.5 Servlet生命周期10.1.6 开发一个简单的Servlet,2023/11/7,6,10.1.1 什么是Servlet,Servlet是在服务器上运行的Java程序。与传统的从命令行启
3、动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。,2023/11/7,7,Servlet是用Java编写的服务器端程序,运行于请求/响应模式的Web服务器中。Servlet本身是一个Java类,可以动态地扩展服务器的能力。JSP是以另外一种方式实现的Servlet,Servlet是JSP的早期版本,在JSP中,更加注重页面的表现,而在Servlet中则更注重业务逻辑的实现。因此,当编写的页面显示效果比较复杂时,首选是JSP。或者在开发过程中,HTML代码经常发生变化,而Java代码则相对比较固定时,可以选择JSP。而我们
4、在处理业务逻辑时,首选则是Servlet。同时,JSP只能处理浏览器的请求,而Servlet则可以处理一个客户端的应用程序请求。因此,Servlet加强了Web服务器的功能。,2023/11/7,8,Servlet的任务是:(1)读取用户发送的数据这些数据通常在Web页面的表单中输入。(2)查询Http请求中包含的任何其他请求信息这些信息包括浏览器的功能、Cookie、发送请求的客户端的主机名等信息。(3)产生结果Servlet访问数据库,调用其他组件产生计算结果。(4)在文档中设置结果的格式将计算结果等嵌入到Http页面。(5)设置合适的Http响应参数告诉浏览器返回的文档类型,设置Cook
5、ie和缓存参数等。(6)将文档返回给客户端可以以文本(HTML)、二进制格式或者压缩格式发送文档。,2023/11/7,9,10.1 Servlet介绍,10.1.1 什么是Servlet10.1.2 Servlet的技术特点10.1.3 Servlet与JSP的区别10.1.4 Servlet在Web项目中的作用10.1.5 Servlet生命周期10.1.6 开发一个简单的Servlet,2023/11/7,10,10.1.2 Servlet的技术特点,1有效性(有改进)在使用传统的CGI时,人们需为每一项Http请求启动新进程。如果CGI程序本身相对较短,启动进程的开销可以决定执行过程的
6、时间。在使用Servlet时,使用“轻量”Java线程处理每一项请求,而不使用“重量”操作系统进程。在传统的CGI中,如果n项请求同时指向同一个CGI程序,则该CGI程序代码就会载入内存n次。但在使用Servlet时,可以存在n个线程,而只使用Servlet类的一个副本。最后一点是,当CGI程序完成请求的处理工作时,就会终止程序,这样就难以缓存计算结果、保持数据库连接开放,并允许依赖于永久数据的其它优化操作。但在完成响应之后,Servlet仍然保留在内存中,因此可以直接在请求之间存储任意复杂的数据。,2023/11/7,11,2方便 Servlet包含扩展基础结构,能够自动对HTML表单数据进
7、行分析和解码、读取和设置 Http头、处理Cookie、跟踪会话以及许多其它类似的高级功能。,2023/11/7,12,3.强大 Servlet可以支持几种功能,但利用常规的CGI却难以或无法实现这些功能。Servlet 可以直接与Web服务器对话,而常规的CGI程序则无法做到,至少在没有使用服务器专用的API的情况下无法实现这一点。例如,与Web服务器的通信更易于将相对URL转换成具体的路径名。多个Servlet之间还能共享数据,这更易于实现数据库连接共享和类似资源共享优化操作。Servlet还可以保留不同请求的信息,从而简化了类似会话跟踪和缓存早期计算结果的一些技术。,2023/11/7,
8、13,4.可移植性 Servlet是使用Java编程语言并遵循标准的API编写的,所以几乎不进行任何更改便可以在各种服务器上运行。实际上,几乎每种主要的Web服务器都可通过插件或直接支持Servlet。如今它们已成为J2EE的一部分,因此业界对Servlet的支持逐渐变得越来越普及。,2023/11/7,14,5.安全性,2023/11/7,15,6.便宜 有许多免费可用的或者极为廉价的Web服务器适合于“个人”或小型Web站点使用。除了Apache可免费使用之外,多数商业性质的Web服务器都相对比较昂贵,但一旦拥有了某种Web服务器,不管其成本如何,添加Servlet支持(如果原来的配置不支
9、持Servlet)几乎无需花费额外成本。与其它许多支持CGI的服务器相比,后者要购买专用软件包,需要投入巨大的启动资金。,2023/11/7,16,10.1 Servlet介绍,10.1.1 什么是Servlet10.1.2 Servlet的技术特点10.1.3 Servlet与JSP的区别10.1.4 Servlet在Web项目中的作用10.1.5 Servlet生命周期10.1.6 开发一个简单的Servlet,2023/11/7,17,Servlet是一种在服务器端运行的Java程序。而JSP是继Servlet后Sun公司推出的新技术,它是以Servlet为基础开发的。Servlet是J
10、SP的早期版本,在JSP中,更加注重页面的表示,而在Servlet中则更注重业务逻辑的实现。因此,当编写的页面显示效果比较复杂时,首选是JSP。或者在开发过程中,HTML代码经常发生变化,而Java代码则相对比较固定时,可以选择JSP。而在处理业务逻辑时,首选则是Servlet。同时,JSP只能处理浏览器的请求,而Servlet则可以处理一个客户端的应用程序请求。因此,Servlet加强了Web服务器的功能。,2023/11/7,18,Servlet与JSP相比有以下几点区别:(1)编程方式不同Servlet是按照Java规范编写的Java程序,JSP是按照Web规范编写的脚本语言。(2)编译
11、方式不同Servlet每次修改后需要编译后才能运行,JSP是被JSP Container编译为Servlet文件。(3)运行速度不同由于一个JSP页面在第一次被访问时要被编译成Servlet需要一段时间,所以客户端得到响应所需要的时间比较长。当该页面再次被访问时,它对应的.class文件已经生成,不需要再次翻译和编译,JSP引擎可以直接执行.class文件,因此JSP页面的访问速度会大为提高。总之,在运行速度上,Serlvet比JSP速度快。,2023/11/7,19,10.1 Servlet介绍,10.1.1 什么是Servlet10.1.2 Servlet的技术特点10.1.3 Servl
12、et与JSP的区别10.1.4 Servlet在Web项目中的作用10.1.5 Servlet生命周期10.1.6 开发一个简单的Servlet,2023/11/7,20,1.Servlet在服务器端的作用在浏览器访问服务器时,所有的JSP文件都会转化为Servlet文件,Servlet文件负责在服务器端处理用户的数据。这部分功能在开发服务器时已经封装成底层的功能,我们可不用关心这部分功能,除非自己在开发一个服务器时候才用到。,2023/11/7,21,2.Servlet在MVC设计模式中应用MVC是一种目前广泛流行的软件设计模式,早在70年代,IBM就进行了MVC设计模式的研究。近来,随着J
13、avaEE的成熟,它成为在JavaEE平台上推荐的一种设计模型,是广大Java开发者非常感兴趣的设计模型。随着网络应用的快速增加,MVC模式对于Web应用的开发无疑是一种非常先进的设计思想,无论选择哪种语言,无论应用多复杂,它都能为理解分析应用模型提供最基本的分析方法,为构造产品提供清晰的设计框架,为软件工程提供规范的依据。MVC 设计模式是目前用得比较多的一种设计模式,被广泛应用于Web 应用程序中。Model(模型)表示业务逻辑层,View(视图)代表表示层,Controller(控制器)代表控制层。有关MVC设计模式的详细介绍请参考第1和12章。其中,控制器部分由Servlet完成,这也
14、是我们实际在项目开发中用到的Servlet。,2023/11/7,22,3.Servlet在Web框架中的应用在Java Web项目开发中用到的主要组件技术有JSP、Servlet、JavaBean、JDBC、XML、Tomcat等技术。为了整合Java Web组件技术提高软件开发效率,近年来推出许多基于MVC模式的Web框架技术,如,Struts,Maverick,WebWork 和Turbine 等。其中比较经典框架技术是Struts。在Struts框架技术中,实现了MVC模式,其中已封装好核心控制器,由Servlet实现;我们还需要实现Action来完成对数据流量的控制,Action在S
15、truts1.X版本中由Servet实现控制功能,在Struts2.X版本中Action是业务控制器,由Java类来实现。有关Servlet在Struts中的应用请参考Struts相关资料。,2023/11/7,23,10.1 Servlet介绍,10.1.1 什么是Servlet10.1.2 Servlet的技术特点10.1.3 Servlet与JSP的区别10.1.4 Servlet在Web项目中的作用10.1.5 Servlet生命周期10.1.6 开发一个简单的Servlet,2023/11/7,24,10.1.5 Servlet生命周期,Servlet由服务器完成该子类的创建和初始化
16、。Servlet的生命周期主要由3个过程组成。,2023/11/7,25,1.init()方法:服务器初始化Servlet。当首次创建Servlet时会调用init()方法,而不是每个用户请求都会调用此方法。当用户首次调用对应于Servlet的URL或再次启动服务器时,就会创建Servlet。当有客户再请求Servlet服务时,Web服务器将启动一个新的线程,在该线程中,调用service方法相应客户的请求。,2023/11/7,26,init()方法的声明如下:public void init(ServletConfig config)throws ServletExceptionpubli
17、c void init()throws ServletExceptionServletConfig对象包含用于初始化的参数,定义的getInitParameter方法可以获取这些参数。,2023/11/7,27,ShowMessages ch10.ShowMessages message hello world repeats 5,2023/11/7,28,2.service()方法:初始化完毕,Servlet对象调用该方法响应客户的请求。对于每个请求,Servlet引擎都会调用此方法,并把Servlet的请求对象和响应对象传递给service()方法作为参数。方法声明如下:public vo
18、id service(ServletRequest request,ServletResponse response)其中,request对象和response对象由Servlet容器创建并传递给service方法,service方法会根据Http请求类型,调用相应的doGet或doPost等方法。service方法可以被调用多次。,2023/11/7,29,3.destroy()方法:调用该方法消灭Servlet对象。当Servlet被卸载时此方法被自动调用。可以用来释放Servlet占用的资源,比如数据库连接、Socket连接等。destroy()方法只会被调用一次。,2023/11/7,
19、30,10.1 Servlet介绍,10.1.1 什么是Servlet10.1.2 Servlet的技术特点10.1.3 Servlet与JSP的区别10.1.4 Servlet在Web项目中的作用10.1.5 Servlet生命周期10.1.6 开发一个简单的Servlet,2023/11/7,31,10.1 Servlet介绍,10.1.1 什么是Servlet10.1.2 Servlet的技术特点10.1.3 Servlet生命周期10.1.4 开发一个简单的Servlet,2023/11/7,32,在NetBeans中新建一个web项目,点击右键,新建Servlet。,2023/11/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP Servlet 编程

链接地址:https://www.31ppt.com/p-6510397.html