第9章 Servlet基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HttpServlet类是GenericServlet类的子类,它仅 支持基于HTTP协议的请求/响应。提供了一个处 理HTTP协议的框架,用来处理客户端的HTTP请 求。
2020/4/15
18
HttpServlet类主要方法
方法名
public void service(ServeletRequest req, ServeletResponse res)
注意:
同javaBean程序 开发一样, Servlet程序必须 放在classes目录 中
2020/4/15
23
Servlet程序开发步骤2:编写selvet程序
方法一:通过实现servlet接口开发
package jsj.lb; import java.io.*; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import java.io.IOException;
2020/4/15
3
9.1.1 什么是Servlet?
Servlet(server let)是使用java实现的服务器 端程序,它使用多线程的处理方式,传统的CGI 使用的是多进程的处理方式,所以Servlet程序运 行比CGI快
Servlet它在Web 服务器或应用服务器上(必须 包含支持Servlet的Java虚拟机,如:tomcat)运 行。
Javax.servlet.ServletConfig
javax.servlet.http.HttpServlet
Java.io.InputStream
Javax.servlet.ServletInputStream Java.io.OutputStream
Javax.servlet.ServletIoutputStream
2020/4/15
21
9.3 Servlet开发实例
9.3.1 手工编写一个Servlet实例
使用Myeclipse开发servlet非常容易,但它隐藏 了太多的细节,为了让同学门学习Servlet的底层 机制和运行原理,先使用Editplus开发,然后使 用Myeclipse开发
编写一个servlet完成向浏览器回送 ”Hello , Servlet ! ”
实 现
Abstract class GenericServlet
继 承
Abstract class httpServlet
14
(1) Servlet程序开发实现方法----实现Servlet接口
任何一个Servlet程序必须实现javax.servlet.Servlet接 口 ,该接口定义了Servlet容器和Servlet程序之间的通信 协议。这个接口中有5个方法必须实现 。
19
9.2 Servlet的编译和运行
9.2.1 Servlet运行条件 9.2.2 Servlet程序的基本结构与开发方法 9.2.3 Servlet程序开发流程
2020/4/15
20
9.2.3 Servlet程序开发流程
① 配置selvet站点 ② 开发servlet(编写程序) ③ 编译servlet源程序 (引入servlet-api.jar) ④ 部署servlet(在web.xml中添加代码) ⑤ 测试访问servlet
DataBase Server
7
9.2 Servlet的编译和运行
9.2.1 Servlet运行条件 9.2.2 Servlet程序的基本结构与开发方法 9.2.3 Servlet程序开发流程
2020/4/15
8
9.2.1 Servlet的运行条件
JDK。因为Servlet也是基于Java语言的,因此 JDK是必不可少的。
2020/4/15
13
Servlet程序开发实现方法 J2EE API文档
Javax.servlet.Servlet Javax.servlet.GenericServlet Javax.servlet.http.HttpServlet
用户自定义的 Servlet
(实现方法)
2020/4/15
Interface servlet
2020/4/15
说明 把客户请求分发给保护型 的 service()方法 把客户请求再分发给 doXXX()方法 被 Servlet 容器调用处理客 户的 GET 请求 被 Servlet 容器调用处理客 户的 GET 请求 被 Servlet 容器调用处理客 户的请求 POST 被 Servlet 容器调用处理客 户的 HTTP HEAD 请求 被 Servlet 容器调用处理客 户的 OPTIONS 请求 被 Servlet 容器调用处理客 户的 TRACE 请求 被 Servlet 容器调用处理客 户的 DELETE 请求
Web服务器。如:Tomcat
Servlet容器。Tomcat既是Web服务器,又是一 个良好的Servlet容器。其他的容器:Resin、 JRun。
客户端浏览器。Servlet在服务器端运行程序,但 是调用Servlet却是由客户端浏览器触发的。
2020/4/15
9
9.2 Servlet的编译和运行
2020/4/15
4
9.1.1 什么是Servlet?(续)
Servlet的基本功能: ➢ 用于处理客户端的请求和产生动态网页内容 (中间层) ➢ 访问服务器端的文件系统 ➢ 连接数据库并开发基于数据库的应用 ➢ 调用其它的Java类
2来自百度文库20/4/15
5
9.1 Servlet介绍
9.1.1 什么是Servlet 9.1.2 Servlet的工作原理
2020/4/15
15
Servlet的生命周期与请求处理过程
服务器加载 Servlet 服务器创建 Servlet 类实例 调用 Servlet 实例的 init( ) 方法
Servlet 在服务器调用 destroy( ) 方法后被卸载
Servlet 等待下一个请求 或由服务器卸载
收到请求 服务器加载 Servlet
2020/4/15
service( ) 方法处理请求 并将输出结果返回客户端
16
(2) Servlet程序开发实现方法----继承抽象类 GenericServlet
GeneriServlet类在javax.servlet包中,提供了对 servlet的基本实现,它有三个重要的方法
➢void init(ServletConfig config )
2020/4/15
6
9.1.2 Servlet 的工作原理
HTTP 请 求
浏 览 器 响应
Web Server
Tomcat
请求
Java Servlet
响应 *.java
JDBC Driver
涉及知识: HTML 图像处理 Flash Javascript等
2020/4/15
涉及知识:
Jsp\Servlet\JavaBea n\ejb\Struts\hibernat e\Spring 等
protected void service(HttpServletRequest req, HttpServletResponse resp) protected void doGet(HttpServletRequest req, HttpServletResponse resp) protected void doPost(HttpServletRequest req, HttpServletResponse resp) protected void doPut(HttpServletRequest req, HttpServletResponse resp) protected void doHead(HttpServletRequest req, HttpServletResponse resp) protected void doOptions(HttpServletRequest req, HttpServletResponse resp) protected void doTrace(HttpServletRequest req, HttpServletResponse resp) protected void doDelete(HttpServletRequest req, HttpServletResponse resp)
Java.lang.Throwable
Java.io.Serializable
Java.lang.Exception
Javax.servlet.ServletException
2020/4/15
Javax.servlet.UnavailableException 12
Servlet体系结构说明
任何一个Servlet程序必须实现javax.servlet.Servlet接口 ,该 接口定义了Servlet容器和Servlet程序之间的通信协议。
Java Web 系统开发
第9章 Servlet基础
2020/4/15
1
第9章 Servlet基础
本章主要内容:
➢ 9.1 Servlet介绍 ➢ 9.2 Servlet的编译和运行 ➢ 9.3 Servlet开发实例
2020/4/15
2
9.1 Servlet介绍
9.1.1 什么是Servlet 9.1.2 Servlet的工作原理
为了简化Servlet程序的编写,Servlet API提供了实现 Servlet接口的GenericServlet类,该类实现了Servlet程序的 基本功能和特征
Servlet API还提供了一个专用于HTTP协议的HttpServlet类, 它是GenericServlet类的子类
开发基于Servlet类的应用程序可以通过实现 javax.servlet.Servlet接口或继承GenericServlet类或 HttpServlet类
➢void destroy()
➢abstract void service(ServletRequest req, ServletResponse res )
2020/4/15
17
(3) Servlet程序开发实现方法-----继承抽象 类HttpServlet
目前大多数Servlet程序都继承自 javax.servlet.http.HttpServlet类。
9.2.1 Servlet运行条件 9.2.2 Servlet程序的基本结构与开发方法 9.2.3 Servlet程序开发流程
2020/4/15
10
9.2.2 Servlet程序的基本结构与开发方法
Servlet模块是用Servlet API编写的。
Servlet API包含两个包: ➢ javax.servlet (其中的类与HTTP协议无关) ➢ javax.servlet.http (其中的类与HTTP协议有关)
1. void init (ServeletConfig config) 2. ServletConfig getServletConfig() 3. String getServletInfo() 4. void service(ServeletRequest req,
ServeletResponse res) 5. void destroy()
Servlet是依靠继承父类和实现接口来实现的
2020/4/15
11
Javax.servlet.*
Java.lang.Object
Servlet体系结构
Interface Java.io.Serializable
Javax.servlet.GenericServlet
Javax.servlet.Servlet
2020/4/15
22
Servlet程序开发步骤1:配置selvet站点
配置站点servletsite 在%TOMCAT_HOME%\webapps放一个站点文件夹servletsite ,在 该文件夹下放一个WEB-INF的文件夹,写一个文件web.xml(该网站 的配置信息,该文件也可复制其他站点的web.xml文件),建立一个 classes的子文件夹存放servlet
2020/4/15
18
HttpServlet类主要方法
方法名
public void service(ServeletRequest req, ServeletResponse res)
注意:
同javaBean程序 开发一样, Servlet程序必须 放在classes目录 中
2020/4/15
23
Servlet程序开发步骤2:编写selvet程序
方法一:通过实现servlet接口开发
package jsj.lb; import java.io.*; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import java.io.IOException;
2020/4/15
3
9.1.1 什么是Servlet?
Servlet(server let)是使用java实现的服务器 端程序,它使用多线程的处理方式,传统的CGI 使用的是多进程的处理方式,所以Servlet程序运 行比CGI快
Servlet它在Web 服务器或应用服务器上(必须 包含支持Servlet的Java虚拟机,如:tomcat)运 行。
Javax.servlet.ServletConfig
javax.servlet.http.HttpServlet
Java.io.InputStream
Javax.servlet.ServletInputStream Java.io.OutputStream
Javax.servlet.ServletIoutputStream
2020/4/15
21
9.3 Servlet开发实例
9.3.1 手工编写一个Servlet实例
使用Myeclipse开发servlet非常容易,但它隐藏 了太多的细节,为了让同学门学习Servlet的底层 机制和运行原理,先使用Editplus开发,然后使 用Myeclipse开发
编写一个servlet完成向浏览器回送 ”Hello , Servlet ! ”
实 现
Abstract class GenericServlet
继 承
Abstract class httpServlet
14
(1) Servlet程序开发实现方法----实现Servlet接口
任何一个Servlet程序必须实现javax.servlet.Servlet接 口 ,该接口定义了Servlet容器和Servlet程序之间的通信 协议。这个接口中有5个方法必须实现 。
19
9.2 Servlet的编译和运行
9.2.1 Servlet运行条件 9.2.2 Servlet程序的基本结构与开发方法 9.2.3 Servlet程序开发流程
2020/4/15
20
9.2.3 Servlet程序开发流程
① 配置selvet站点 ② 开发servlet(编写程序) ③ 编译servlet源程序 (引入servlet-api.jar) ④ 部署servlet(在web.xml中添加代码) ⑤ 测试访问servlet
DataBase Server
7
9.2 Servlet的编译和运行
9.2.1 Servlet运行条件 9.2.2 Servlet程序的基本结构与开发方法 9.2.3 Servlet程序开发流程
2020/4/15
8
9.2.1 Servlet的运行条件
JDK。因为Servlet也是基于Java语言的,因此 JDK是必不可少的。
2020/4/15
13
Servlet程序开发实现方法 J2EE API文档
Javax.servlet.Servlet Javax.servlet.GenericServlet Javax.servlet.http.HttpServlet
用户自定义的 Servlet
(实现方法)
2020/4/15
Interface servlet
2020/4/15
说明 把客户请求分发给保护型 的 service()方法 把客户请求再分发给 doXXX()方法 被 Servlet 容器调用处理客 户的 GET 请求 被 Servlet 容器调用处理客 户的 GET 请求 被 Servlet 容器调用处理客 户的请求 POST 被 Servlet 容器调用处理客 户的 HTTP HEAD 请求 被 Servlet 容器调用处理客 户的 OPTIONS 请求 被 Servlet 容器调用处理客 户的 TRACE 请求 被 Servlet 容器调用处理客 户的 DELETE 请求
Web服务器。如:Tomcat
Servlet容器。Tomcat既是Web服务器,又是一 个良好的Servlet容器。其他的容器:Resin、 JRun。
客户端浏览器。Servlet在服务器端运行程序,但 是调用Servlet却是由客户端浏览器触发的。
2020/4/15
9
9.2 Servlet的编译和运行
2020/4/15
4
9.1.1 什么是Servlet?(续)
Servlet的基本功能: ➢ 用于处理客户端的请求和产生动态网页内容 (中间层) ➢ 访问服务器端的文件系统 ➢ 连接数据库并开发基于数据库的应用 ➢ 调用其它的Java类
2来自百度文库20/4/15
5
9.1 Servlet介绍
9.1.1 什么是Servlet 9.1.2 Servlet的工作原理
2020/4/15
15
Servlet的生命周期与请求处理过程
服务器加载 Servlet 服务器创建 Servlet 类实例 调用 Servlet 实例的 init( ) 方法
Servlet 在服务器调用 destroy( ) 方法后被卸载
Servlet 等待下一个请求 或由服务器卸载
收到请求 服务器加载 Servlet
2020/4/15
service( ) 方法处理请求 并将输出结果返回客户端
16
(2) Servlet程序开发实现方法----继承抽象类 GenericServlet
GeneriServlet类在javax.servlet包中,提供了对 servlet的基本实现,它有三个重要的方法
➢void init(ServletConfig config )
2020/4/15
6
9.1.2 Servlet 的工作原理
HTTP 请 求
浏 览 器 响应
Web Server
Tomcat
请求
Java Servlet
响应 *.java
JDBC Driver
涉及知识: HTML 图像处理 Flash Javascript等
2020/4/15
涉及知识:
Jsp\Servlet\JavaBea n\ejb\Struts\hibernat e\Spring 等
protected void service(HttpServletRequest req, HttpServletResponse resp) protected void doGet(HttpServletRequest req, HttpServletResponse resp) protected void doPost(HttpServletRequest req, HttpServletResponse resp) protected void doPut(HttpServletRequest req, HttpServletResponse resp) protected void doHead(HttpServletRequest req, HttpServletResponse resp) protected void doOptions(HttpServletRequest req, HttpServletResponse resp) protected void doTrace(HttpServletRequest req, HttpServletResponse resp) protected void doDelete(HttpServletRequest req, HttpServletResponse resp)
Java.lang.Throwable
Java.io.Serializable
Java.lang.Exception
Javax.servlet.ServletException
2020/4/15
Javax.servlet.UnavailableException 12
Servlet体系结构说明
任何一个Servlet程序必须实现javax.servlet.Servlet接口 ,该 接口定义了Servlet容器和Servlet程序之间的通信协议。
Java Web 系统开发
第9章 Servlet基础
2020/4/15
1
第9章 Servlet基础
本章主要内容:
➢ 9.1 Servlet介绍 ➢ 9.2 Servlet的编译和运行 ➢ 9.3 Servlet开发实例
2020/4/15
2
9.1 Servlet介绍
9.1.1 什么是Servlet 9.1.2 Servlet的工作原理
为了简化Servlet程序的编写,Servlet API提供了实现 Servlet接口的GenericServlet类,该类实现了Servlet程序的 基本功能和特征
Servlet API还提供了一个专用于HTTP协议的HttpServlet类, 它是GenericServlet类的子类
开发基于Servlet类的应用程序可以通过实现 javax.servlet.Servlet接口或继承GenericServlet类或 HttpServlet类
➢void destroy()
➢abstract void service(ServletRequest req, ServletResponse res )
2020/4/15
17
(3) Servlet程序开发实现方法-----继承抽象 类HttpServlet
目前大多数Servlet程序都继承自 javax.servlet.http.HttpServlet类。
9.2.1 Servlet运行条件 9.2.2 Servlet程序的基本结构与开发方法 9.2.3 Servlet程序开发流程
2020/4/15
10
9.2.2 Servlet程序的基本结构与开发方法
Servlet模块是用Servlet API编写的。
Servlet API包含两个包: ➢ javax.servlet (其中的类与HTTP协议无关) ➢ javax.servlet.http (其中的类与HTTP协议有关)
1. void init (ServeletConfig config) 2. ServletConfig getServletConfig() 3. String getServletInfo() 4. void service(ServeletRequest req,
ServeletResponse res) 5. void destroy()
Servlet是依靠继承父类和实现接口来实现的
2020/4/15
11
Javax.servlet.*
Java.lang.Object
Servlet体系结构
Interface Java.io.Serializable
Javax.servlet.GenericServlet
Javax.servlet.Servlet
2020/4/15
22
Servlet程序开发步骤1:配置selvet站点
配置站点servletsite 在%TOMCAT_HOME%\webapps放一个站点文件夹servletsite ,在 该文件夹下放一个WEB-INF的文件夹,写一个文件web.xml(该网站 的配置信息,该文件也可复制其他站点的web.xml文件),建立一个 classes的子文件夹存放servlet