电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

《jsp程序设计》教学课件(3)

  • 资源ID:53694861       资源大小:18.89MB        全文页数:43页
  • 资源格式: PPT        下载积分:10金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要10金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

《jsp程序设计》教学课件(3)

第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语言开发的,因此延续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 在加载执行之后,其对象实体(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有着十分广泛的应用。它不单单能简单地处理客户端的请求,借助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的功能很相似。另外,理论上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部署在容器里,它的生命周期由容器管理。 Servlet的生命周期可以概括为以下几个阶段: 1.加载Servlet 2.初始化 3.处理客户请求 4.卸载Servlet,下面给出Servlet整个生命周期过程的UML时序图。,7.1.4常用的Servlet API,Java Servlet API是用于处理客户端与服务器之间请求和响应的一组Java编程接口,使用Servlet API编写Servlet时,不必关心Servlet怎样被装载,Servlet运行的服务器环境是什么,或者用来传输数据的协议是什么等,只需使Servlet可以融合在不同的Web服务器中。Java Servlet API由两个软件包组成:一个是对应于HTTP的javax.servlet.http软件包,另一个则是不对应HTTP的javax.servlet通用软件包。使用Servlet进行基于HTTP协议的Web应用开发时,主要使用javax.servlet.http包中的类。Servlet中的API有很多,这里只介绍一些常用的接口和类,以便对Servlet框架有一个比较全面的了解。,7.1.4常用的Servlet API,1.public interface Servlet 2.public abstract class GenericServlet implements Servlet,ServletConfig,java.io.Serializable 3.public abstract class HttpServlet extends GenericServlet implements java.io.Serializable 4.public interface ServletConfig 5.public class ServletException extends Exception 6.public class UnavailableException extends ServletException 7.public interface HttpServletRequest extends ServletRequest 8.public interface HttpServletResponse extends ServletResponse 9.public interface HttpSession 10.public interface ServletContext 11.public interface RequestDispatcher,7.2开发部署Servlet,虽然前面已经做了很多关于Servlet的知识讲解,但是要成功运行Servlet还需要对其进行正确的配置。首先要编写Servlet类文件,然后将类文件编译成字节码文件,并将字节码文件复制到指定位置,此外还要在Web部署描述符文件web.xml中添加相应的配置信息。完成这些工作后,即可通过客户端直接请求Servlet,或者在JSP页调用Servlet。下面开发并部署一个非常简单的Servlet实例,运行该Servlet实例后,浏览器中将显示“Hello,Servlet World!”字符串。,7.2.1创建Servlet,Servlet实际上就是一个从HttpServlet继承的类,创建Servlet就是编写Java源文件并定义一个类。要创建一个Servlet需要完成以下四个方面的工作: (1)声明一个类,该类继承自HttpServlet类。 (2)重载HttpServlet类的部分方法,如service()、doGet()或doPost()方法。 (3)通过HttpServletRequest对象检索表单参数或URL参数。HttpServletRequest对象以名称/值形式存储表单参数或URL参数,可以通过该对象的getParameter()、getParameterNames()以及getParameterValues()方法来检索这些参数。 (4)通过HttpServletResponse对象生成HTTP响应结果。HttpServletResponse对象有一个getWriter()方法,调用该方法可以返回一个PrintWriter对象。利用PrintWriter对象的print()或println()方法可以向客户端发送字符串数据流。,7.2.2配置Servlet,对于每个Web应用,都可以创建一个部署描述符文件web.xml,该文件应存放在WEB-INF目录中。在web.xml中,顶层元素是,所有子元素都必须包含在和之间。部署Servlet需要在web.xml文件中添加两个元素:元素和元素。其中,元素是用来定义Servlet的,而元素则是为Servlet定义映射路径的。 配置web.xml的过程如下: (1)在WEB-INF文件夹中新建web.xml文件。 (2)在web.xml文件中添加如下配置代码:,7.2.3Servlet的运行,在配置环境变量后,需要重新启动Tomcat服务器,然后在浏览器中输入“http:/localhost:8080/useServ/FirstServlet”。,7.3Servlet调用,创建并部署一个Servlet后,就可以在HTML页面、JSP页面或另一个Servlet中调用它了。,7.3.1Servlet调用方式,Servlet的调用方式主要有以下几种: 1.通过表单提交调用 2.通过超链接调用 3.通过sendRedirect()方法重定向到Servlet 4.使用RequestDispatcher对象,7.3.2Servlet与HTML的交互,当把HTML表单元素的action属性设置为一个Servlet时,在该Servlet中就可以通过调用HttpServletRequest对象的getParameter()方法来获取提交的数据了。当调用getParameter()方法时,应该将表单控件的名称作为参数传递给该方法。不论表单元素的method属性是get还是post,对请求的处理方法是一样的。若一个表单变量可能对应多个值,可以使用getParameterValues()方法来代替getParameter()方法。 在实际应用中,Servlet可能只会用到那些已知名称的表单变量,但在调试环境中,获得完整的表单变量名往往非常有用,通过调用getParamerterNames()方法可以很容易地达到这个目的。getParamerterNames()方法返回的是一个包含表单变量名称的枚举变量,将其中的每一项作为参数来调用getParameter()方法,即可获得相应表单变量的值。 在Servlet中,既可以处理GET请求,又可以处理POST请求。只需要在doPost()方法中调用doGet()方法,或者重载service()方法并通过service()方法来调用doGet()、doPost()、doHead()等方法即可。,

注意事项

本文(《jsp程序设计》教学课件(3))为本站会员(m****)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.