JavaEE基础教程 Servlet基础知识与会话跟踪技术.pptVIP

JavaEE基础教程 Servlet基础知识与会话跟踪技术.ppt

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Servlet程序是由服务器调用和执行的Java类,由浏览器内嵌的JVM执行的Java类叫Applet,由Web服务端的JVM执行的Java类则叫Servlet程序。Servlet程序可以看做是运行在服务器上的一个模块,它可以接收从客户端传递过来的数据,对数据进行处理后将结果返回给客户端,当然,这里说的客户端指的是浏览器。 Javax.servlet和Javax.servlet.http包为编写servlet提供了接口和类。所有的servlet必须执行定义了生命周期的servlet接口。执行服务时,你可以使用或者扩展Java Servlet API提供的GenericServlet类。为了HTTP专有的服务,HttpServlet类提供了一些方法,例如:doGet和doPost。 Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。这个过程为: 客户端发送请求至服务器端; 服务器将请求消息发送至Servlet; Servlet生成响应内容并将其传给Server,响应内容通常取决于客户端的请求; 服务器将响应返回给客户端。 例14-1 在Hello.jsp页面中输入一个用户的名字,然后提交给HelloServlet,在页面上输出”你好!欢迎使用servlet”这个字符串。 程序清单:ch14\HelloServlet.java 程序清单:ch14\Hello.jsp 在浏览器地址栏中输入:http://localhost:8080/javaEE/ch14/hello.jsp 运行在Web服务器中的Servlet是Web服务器进程的一部分,Web服务器负责Servlet的生命周期,即加载和实例化、初始化、调用和销毁。 14.2.1 加载和实例化 14.2.2 初始化 14.2.3 服务 14.2.4 销毁 14.2.1 加载和实例化 当启动Servlet容器(这里是Tomcat)时,容器首先到发布目录的WEB-INF下查找一个配置文件(称为描述符文件)web.xml。这个配置文件中有相关的Servlet的配置信息,主要是定义Servlet和对已定义的Servlet的映射。 Servlet容器会为每个配置自动装入选项(在配置文件中使用了load-on-startup1/load-on-startup)的Servlet创建一个实例,而没有设置自动装入选项的Servlet只有在第一次请求时才被创建实例。为了能让容器创建实例,每个Servlet类必须有一个公共的无参数的构造函数。通常,在设计Servlet类时不创建构造函数,而是使用默认的构造函数。 14.2.2 初始化 当Servlet被实例化以后,Servlet容器将调用每个Servlet的init()方法来为实例进行初始化。其中作为init()方法参数的ServletConfig类中定义了初始Servlet需要的所有参数。Init()方法对于一个Servlet只可以被调用一次。 初始化的时机是可以通过配置文件进行配置的 为了缩短服务器的响应时间,可以在web.xml文件中为相应的Servelet添加load-on-startup1/load-on-startup进行预先初始化,这样就可以保证在服务器启动时就对这些Servlet进行初始化 Servlet被初始化以后,就处于能响应请求的就绪状态。当客户的请求到来时,服务器创建一个请求对象和一个响应对象。每个Servlet的请求都会产生一个Servlet Request对象,Servlet给客户端的响应由一个Servlet Response对象来完成,这两个对象以参数的形式传给service()方法。在service()内,对客户端的请求方法进行判断,如果是以GET方法提交的,则调用doGet()方法处理请求,如果以POST方法提交的,则调用doPost()方法处理请求。 Servlet实例是由Servlet容器创建的,所以实例的销毁也是由容器来完成的。当Servlet容器不再需要某个Servlet实例时,容器会调用该Servlet的destroy()方法,在这个方法内,Servlet会释放掉所有在init()方法内申请的资源,如数据库连接等。一般情况下,如果Servlet容器本身关闭,会释放所有的Servlet实例,但特殊情况下,如系统资源过低或一个Servlet很长时间没有被使用,Servlet容器也会释放这个Servlet。 14.3.1 Servlet体系结构 14.3.2 Servlet API层次结构 Servlet容器启动会自动加载Servlet。HTTP Servlet使用HTTP响应标题与客户端进行交互。因此,Servlet容器支持所有HTTP协议的请求和响应,Servlet应用程

文档评论(0)

zhuliyan1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档