- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.1 Servlet的工作原理 5.2 ServletAPI 5.3 Servlet的开发步骤 5.4 SerVlet开发实例 5.5 本章小结 前言:Servlet的定义 所谓Servlet,首先是一个Java类,是一种运行在支持Java应用服务器上的Web组件,它与普通Java类的区别在于它是一个专门处理请求和响应的Java类。 Servlet是成熟的J2EE(Java 2 Enterprise Edition)组件技术之一。Servlet属于目前主流的MVC(Model-View-Controller)架构中的控制器层(Controller)组件,主要功能是接受前端用户的请求,调用后端的逻辑处理程序,最终给客户返回响应。 5.1 Servlet的工作原理 5.1.1 Servlet容器 Servlet容器属于Java应用服务器的概念范畴,其作用是负责处理客户请求,当客户请求来到时,Servlet容器获取请求,然后调用某个Servlet,并把Servlet的执行结果返回给客户 5.1 Servlet的工作原理 5.1.2 Servlet的生命周期 一个Servlet具有一个生命周期,这个生命周期定义了一个Servlet如何被载入并被初始化,如何接收请求并作出响应,如何从服务器中被清除。 所有的Servlet都会直接地或间接地执行javax.servlet.Servlet接口,这样它才能在一个Servlet引擎中运行。Servlet引擎是Web 服务器按照Java Servlet API定制的扩展。Servlet引擎提供网络服务,能够理解MIME请求,并提供一个运行Servlet的容器。 javax.servlet.Servlet接口定义了在Servlet的生命周期中特定时间以及特定顺序被调用的方法。 servlet的生命周期如下: Servlet容器创建servlet的一个实例 容器调用该实例的init方法进行初始化。 当客户端向该Servlet发送请求时,容器调用此实例的service方法 在service方法中,根据当前用户请求的方式进一步调用doGet或者doPost方法进行处理。 当Servlet容器终止运行或Servlet容器重新装载Servlet的新实例时,Servlet容器调用Servlet的destroy方法释放Servlet所占用的资源。 5.2 Servlet API Servlet容器可以创建实现ServletRequest和ServletResponse两个接口的对象 Servlet应用程序编程接口,即Servlet API(Application Programming Interface)包含SUN公司提供的两个软件包: javax.servlet包定义了所有的Servlet类都必须扩展的通用接口和类; javax.servlet.http包定义了采用HTTP协议通信的HttpServlet类以及相关接口。 几个常用的接口和类: 1.javax.servlet.http.HttpServlet 该接口是Servlet API的核心类,我们自定义的Servlet都是该类的子类 (1)int方法 负责初始化Servlet对象 。 (2)doGet和doPost方法 GET方式,直接在浏览器地址栏输入URL按回车,即向服务器发送了一次GET方式的请求;POST方式,通常是客户端通过一个表单把信息提交给服务器。 (3) service方法 service方法负责处理当前客户的请求,为用户提供服务 。 (4)destroy方法 负责释放Servlet对象占用的资源。该方法仅执行一次,即在Servlet容器停止执行该方法。 2.javax.servlet.http.HttpServletRequest HttpServletRequest接口包含了客户端请求的信息,可以通过实现该接口的对象取得客户端的一些信息(例如表单数据、客户端IP地址等) (1)getParameter方法 获取客户以GET方式发送的参数或者以POST方式提交的form表单的控件值。如果有多个同名的控件或参数,则返回其中的第一个值。 (2)getParameterValues方法 如果有多个同名的控件或参数,则该方法可以获得对应的多个参数值,并且放到一个String数组里,比如复选框集(ch
文档评论(0)