电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

43页
  • 卖家[上传人]:m****
  • 文档编号:53694861
  • 上传时间:2018-09-04
  • 文档格式:PPT
  • 文档大小:18.89MB
  • / 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部署在容

      6、器里,它的生命周期由容器管理。 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.

      7、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 Http

      8、Session 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类的部分方法,如servi

      9、ce()、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定义映射路径的。

      10、 配置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****分享,可在线阅读,更多相关《《jsp程序设计》教学课件(3)》请在金锄头文库上搜索。

      点击阅读更多内容
    TA的资源
  • 肿瘤学发展简史

    肿瘤学发展简史

  • 综合实践课折纸ppt

    综合实践课折纸ppt

  • 综合实践张开想象的翅膀

    综合实践张开想象的翅膀

  • 综合实践课走进粤菜

    综合实践课走进粤菜

  • 综合性学习走进中秋节

    综合性学习走进中秋节

  • 1986--2008年全国硕士研究生入学统一考试英语试题及解析

    1986--2008年全国硕士研究生入学统一考试英语试题及解析

  • 2020版高考数学一轮复习第一章集合与常用逻辑用语第二节命题及其关系充分条件与必要条件课件

    2020版高考数学一轮复习第一章集合与常用逻辑用语第二节命题及其关系充分条件与必要条件课件

  • 2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第四节函数的图象课件理

    2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第四节函数的图象课件理

  • 2020版高考数学一轮复习第一章集合与常用逻辑用语第三节简单的逻辑联结词全称量词与存在量词课件理

    2020版高考数学一轮复习第一章集合与常用逻辑用语第三节简单的逻辑联结词全称量词与存在量词课件理

  • 2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第五节二次函数与幂函数课件理

    2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第五节二次函数与幂函数课件理

  • 2020版高考数学一轮复习第二章不等式第二节一元二次不等式及其解法课件

    2020版高考数学一轮复习第二章不等式第二节一元二次不等式及其解法课件

  • 2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第七节对数与对数函数课件理

    2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第七节对数与对数函数课件理

  • 2020版高考数学一轮复习第二章不等式第四节二元一次不等式组及简单的线性规划问题课件

    2020版高考数学一轮复习第二章不等式第四节二元一次不等式组及简单的线性规划问题课件

  • 2020版高考数学一轮复习第二章不等式第一节不等关系与不等式课件

    2020版高考数学一轮复习第二章不等式第一节不等关系与不等式课件

  • 2020版高考数学一轮复习第二章不等式第三节绝对值不等式课件

    2020版高考数学一轮复习第二章不等式第三节绝对值不等式课件

  • 2020版高考历史一轮复习第五单元古代中国经济的基本结构与特点第1讲古代中国的农业和手工业课件新人教版必修

    2020版高考历史一轮复习第五单元古代中国经济的基本结构与特点第1讲古代中国的农业和手工业课件新人教版必修

  • 2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第三节函数的奇偶性及周期性课件理

    2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第三节函数的奇偶性及周期性课件理

  • 2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第九节函数模型及其应用课件理

    2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第九节函数模型及其应用课件理

  • 2020版高考数学一轮复习第二章不等式第五节基本不等式课件

    2020版高考数学一轮复习第二章不等式第五节基本不等式课件

  • 2020版高考历史一轮复习第十三单元近现代中国的思想解放及理论成果和科教文化第3讲现代中国的科技教育与文学艺术课件新人教版必修

    2020版高考历史一轮复习第十三单元近现代中国的思想解放及理论成果和科教文化第3讲现代中国的科技教育与文学艺术课件新人教版必修

  • 点击查看更多
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.