Java-EE教程课件第五章-Servlet

上传人:sat****105 文档编号:325451988 上传时间:2022-07-18 格式:PPTX 页数:64 大小:1.42MB
返回 下载 相关 举报
Java-EE教程课件第五章-Servlet_第1页
第1页 / 共64页
Java-EE教程课件第五章-Servlet_第2页
第2页 / 共64页
Java-EE教程课件第五章-Servlet_第3页
第3页 / 共64页
Java-EE教程课件第五章-Servlet_第4页
第4页 / 共64页
Java-EE教程课件第五章-Servlet_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《Java-EE教程课件第五章-Servlet》由会员分享,可在线阅读,更多相关《Java-EE教程课件第五章-Servlet(64页珍藏版)》请在金锄头文库上搜索。

1、第五章 Servlet技术1)Servlet简介2)Servlet工作过程3)Servlet实现相关的类和接口4)Servlet实现Request和Response的接口5)Servlet应用案例第五章 Servlet技术第五章 Servlet技术5.1 Servlet简介 Servlet:服务器小程序,是用Java编写的服务器端程序,由客户端请求、服务器调用和执行的。Servlet作为Java语言的Web编程技术,先于J2EE平台出现,而JSP则是在Servlet基础上发展而来。Servlet是一个Java类,运行在 Web 服务器或应用服务器上。Servlet是来自 Web 浏览器或其他

2、HTTP 客户端的请求与 HTTP 服务器上的数据库或应用程序之间的中间层。利用Servlet,可以交互式地浏览和修改数据,收集来自网页表单的用户输入,呈现来自数据库的记录,还可以生成动态Web内容。5.1.1 什么是Servlet第五章 Servlet技术1.Servlet 属于JSP的底层,学习它有助于了解底层细节;2.Servlet 毕竟是一个Java 类,适合纯编程,如果是纯编程的话,比将 Java 代码混合在 HTML 中的 JSP 要好得多3.Struts框架的思路和Servlet的设计思路基本一致,学好Servlet有助于对Struts框架的理解和掌握5.1.2 学习Servle

3、t的价值第五章 Servlet技术5.2 Servlet工作过程5.2.1 Servlet的生命周期第五章 Servlet技术5.2.1 Servlet的生命周期Servlet 生命周期可被定义为从创建直到销毁的整个过程。当来自客户端的请求映射到Servlet时,容器执行以下步骤:1.加载Servlet类,创建该类的实例。每一个用户请求都会产生一个新的线程。2.Servlet 通过调用 init()方法进行初始化。3.Servlet 调用 service()方法来处理客户端的请求。4.Servlet 通过调用 destroy()方法终止(结束)。5.最后,Servlet 由 JVM 的垃圾回收

4、器进行垃圾回收。第五章 Servlet技术5.2.2 Servlet的工作过程1.读取客户端(浏览器)发送的显式的数据,包括网页上的 HTML 表单,或者来自 applet 或自定义的 HTTP 客户端程序的表单。2.读取客户端(浏览器)发送的隐式的 HTTP 请求数据,包括 cookies等。3.处理数据并生成结果。这个过程可能需要访问数据库。4.发送显式的数据(即文档)到客户端(浏览器)。格式包括文本文件(HTML 或 XML)、二进制文件(GIF 图像)、Excel 等。5.发送隐式的 HTTP 响应到客户端(浏览器),包括告诉浏览器或其他客户端被返回的文档类型(例如 HTML),设置

5、cookies 和缓存参数等。6.服务器关闭或者servlet空闲时间超过一定限度时,调用destroy方法退出第五章 Servlet技术5.2.3 Servlet的三个方法1.init方法:可选,用于初始化。2.service方法:用于处理请求。3.destroy方法:可选,用于清除并释放在init方法中所分配的资源。第五章 Servlet技术5.2.3 Servlet的三个方法init()方法加载默认数据或者连接数据库,以用于 Servlet 的整个生命周期。init()方法只在第一次创建 Servlet 时被调用,在后续用户请求时不再调用。service()方法是执行实际任务的主要方法。

6、容器调用 service()方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。service()方法检查 HTTP 请求类型(GET、POST、PUT、DELETE等),并分别调用 doGet、doPost、doPut,doDelete等方法进行处理。destroy()方法只在 Servlet 生命周期结束时被调用一次。当服务器被关闭,或者Servlet空闲超过一定时间后,调用destroy()方法退出。可以在destroy()方法中关闭数据库连接、停止后台线程。第五章 Servlet技术5.3 Servlet实现相关的类和接口1.Servlet接口2.GenericServ

7、let类3.HttpServlet类第五章 Servlet技术5.3.1 Servlet接口声明:public interface Servlet这个接口是servlet必须直接或间接实现的接口。它定义的方法Init(ServletConfig config):用于初始化servletgetServletInfo():获取servlet的信息getServletConfig():获取servlet配置相关信息Service(ServletRequest request,ServletRespose response):运行应用程序逻辑的入口点,它接收两个参数,ServletRequest表示客

8、户端请求的信息,ServletResponse表示对客户端的响应destroy():销毁Servlet第五章 Servlet技术5.3.2 GenericServlet类声明:public abstract class GenericServlet提供了对Servlet接口的基本实现。是一个抽象类,其service方法是一个抽象方法,其派生类必须直接或间接地实现该方法第五章 Servlet技术5.3.3 HttpServlet类声明:public abstract class HttpServlet extends GenericServlet implements Serializable

9、该类是针对使用Http协议的web服务器的servlet类。该类通过执行servlet接口,能够提供Http协议的功能。HttpServlet子类必须实现下面方法中的某一个:doGet、doPost、doPut、doDelete、init和distroy、getServletInfoHttpServlet接口是GenericServlet的扩展接口,提供了响应对应HTTP标准请求的doGet()、doPost()等方法。第五章 Servlet技术5.3.4 自定义Servlet类该选择哪个接口和类?所有Servlet都必须实现javax.servlet.Servlet接口,但是通常我们都会从j

10、avax.servlet.GenericServlet或javax.servlet.http.HttpServlet择一来实现。如果写的Servlet代码和HTTP协议无关,那么必须继承GenericServlet类;若有关,就必须继承HttpServlet类。第五章 Servlet技术5.3.5 利用HttpServlet类创建Servlet1.创建一个实现javax.Servlet.http.HttpServlet接口的Servlet类。2.重写 doGet()或者 doPost()方法,以实现对HTTP 请求的动态响应。doGet()、doPost()方法是由service()方法调用的

11、。3.重写init()方法和destroy()方法以分别实现初始化和析构。注意:doGet()、doPost()方法都包含两个参数:HttpServletRequest和HttpServletResponseHttpServletRequest接口提供访问客户端请求信息的方法,如表单数据、HTTP请求头等。HttpServletResponse提供了用于指定HTTP应答状态、应答头的方法,还提供了用于向客户端发送数据的PrintWriter对象。该对象的println方法可用于生成发送给客户端的页面。第五章 Servlet技术5.4 Servlet实现Request和Response的接口Ht

12、tpServletRequest和HttpServletResponsedoGet()、doPost()方法都包含两个参数:HttpServletRequest和HttpServletResponse HttpServletRequest实现Request接口。HttpServletResponse实现Response接口。第五章 Servlet技术5.4.1 HttpServletRequest接口代表了Http请求,继承了ServletRequest。声明:public interface HttpRequest extends ServletrequestHttpServletReque

13、st接口提供访问客户端请求信息的方法,如表单数据、HTTP请求头等。可以获取由客户端传送的阐述名称,也可以获得客户端正在使用的通信协议,可以获取产生请求并且接收请求的服务器远程主机名和IP地址等信息。JSP中的内置对象request是一个HttpServletRequest实例。第五章 Servlet技术5.4.1 HttpServletRequest接口代表了Http请求,继承了ServletRequest。声明:public interface HttpRequest extends ServletrequestHttpServletRequest接口提供访问客户端请求信息的方法,如表单数

14、据、HTTP请求头等。可以获取由客户端传送的阐述名称,也可以获得客户端正在使用的通信协议,可以获取产生请求并且接收请求的服务器远程主机名和IP地址等信息。JSP中的内置对象request是一个HttpServletRequest实例。第五章 Servlet技术输入数据getContentLength()getContentType()getInputStream()getParameterMap()getParameter()getParameterNames()getParameterValues()得到数据相关的信息国家getCharacterEncoding()getLocale()ge

15、tLocales()setCharacterEncoding()得到国际化参数和编码格式5.4.2 HttpServletRequest接口的常用方法第五章 Servlet技术5.4.3 HttpServletResponse接口代表了对客户端的Http响应,继承了ServletResponse。HttpServletResponse接口给出响应客户端的Servlet方法。它允许Servlet设置内容长度和响应的MIME类型,并且提供输出流ServletOutputStream。第五章 Servlet技术5.4.4 HttpServletResponse接口的常用方法响应URLencodeRe

16、directUrl()EncodeRedirectURL()encodeURL()sendRedirect()网址编码和重定向输出数据setContentLength()setContentType()getOutputStream()getWriter()获得输出流对象第五章 Servlet技术5.5 Servlet应用案例5.5.1 Servlet实例1 实例1:该实例将介绍一个使用Servlet的简单实例,让读者对Servlet程序的编写和执行有一个初步认识。(1)创建名为“HelloServlet”的Web工程。(2)在HelloServlet工程中的Java源程序包中,创建名为hello的包。在hello包中,添加SimpleServlet类的Java文件。第五章 Servlet技术package hello;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class SimpleServlet extends HttpServlet protected void doGet

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号