servlet.ppt学习

合集下载

《servlet过滤器》培训课件 共29页PPT资料

《servlet过滤器》培训课件 共29页PPT资料
• doFilter(ServletRequest request,ServletResponse
response)throws java.io.IOException:调用该方法将使 过滤器链中的下一个过滤器被调用。如果是最后一 个过滤器,会调用目标资源。
FilterConfig接口
• javax.servlet.FilterConfig接口:该接口类似于ServletConfig接
Filter 接口
• init(FilterConfig filterConfig)throws ServletException:在 web 应用程
序启动时,web 服务器将根据 web.xml 文件中的配置信息来创建 每个注册的 Filter 实例对象,并将其保存在服务器的内存中。 Web容器创建 Filter 对象实例后,将立即调用该 Filter 对象的 init 方法。Init 方法在 Filter 生命周期中仅执行一次,web 容器 在调用 init 方法时,会传递一个包含 Filter 的配置和运行环境的 FilterConfig 对象(FilterConfig的用法和ServletConfig类似)。利用 FilterConfig对象可以得到ServletContext对象,以及部署描述符中 配置的过滤器的初始化参数。在这个方法中,可以抛出 ServletException异常,通知容器该过滤器不能正常工作。
• destroy():在Web容器卸载 Filter 对象之前被调用。该方法在Filter
的生命周期中仅执行一次。在这个方法中,可以释放过滤器使用 的资源。
• 与开发Servlet不同的是,Filter接口并没有相应的实现类可供继承
,要开发过滤器,只能直接实现Filter接口。

JSP与servletPPT课件

JSP与servletPPT课件
throws ServletException,IOException;
-
13
❖ doPost用来处理HTTP的POST请求。这个 POST操作包含了在必须通过此Servlet执行的 请求中的数据。由于它不能立即取得资源,所 以对于那些涉及到安全性的用户来说,通过 POST请求操作会有一些副作用。 doPost方 法格式为:
❖ 一个Servlet能并发处理多个请求;他们可以使用在诸 如在线会议这样的同步请求支持系统。
❖ Servlet可以转送请求给其他的服务器和Servlet,按照 任务类型或组织范围,可以允许被用来在几个服务器 中划分逻辑上的服务器。
❖ Servlet编写者们可以定义彼此之间共同工作的激活代 理,每个代理者是一个Servlet,而且代理者能够在它 们之间传送数据。
-
12
❖ doGet用来处理HTTP的GET请求。这个GET 操作仅仅允许客户从HTTP server上取得GET 资源。重载此方法的用户自动允许支持方法 HEAD。这个GET操作被认为是安全的,没有 任何的负面影响,对用户来说是很可靠的。 doGet方法格式为:
protected void doGet(HttpServletResquest request,HttpServletResponse response)
-
10
Servlet与JSP的区别
❖ Servlet是一种在服务器端运行的Java程序, 从某种意义上说,它就是服务器端的Applet。 所以Servlet可以像Applet一样作为一种插件 (Plugin)嵌入到Web Server中去,提供诸 如HTTP、FTP等协议服务甚至用户自已定制 的协议服务。而JSP是继Servlet后Sun公司推 出的新技术,它是以Servlet为基础开发的。 Servlet与JSP相比有以下几点区别:

Servlet课件PPT

Servlet课件PPT

session的关闭

请求
22
JavaBean介绍

JavaBean的来源
Bean:豆子 JavaBean是应用程序的
组成部分

JavaBean的分类
封装数据
封装业务方法
public class SecondLevelTitle { public SecondLevelTitle() { } private int id; private String titleName; private int parentTitleId; private String creator; public int getId() { return this.id; } public void setId(int id) { this.id=id; } …//其它setter、getter方法 }
JavaBean、Struts1.X、Struts2.X、Spring、 Hiberante等……
2
什么是Servlet

定义:Servlet 是一个 Java程序,是在服务器上 运行以处理客户端请求、业务逻辑并做出响应的 程序
需要运行在服务器端
需要Web容器的支持 Java编写
请求 响应 Servlet 运行 于服务器端
Model View Controller
MVC 对象
模型
视图
控制器
?
JSP
Servlet
17
企业级开发对Model层的要求

企业级开发需要稳健和高效的数据访问层
完成对数据库的CRUD操作
传统的JDBC已经 能够处理数据库发生的各种错误 无法满足需求,那 怎么办呢? 可以灵活的修改配置

《JavaServlet基础》PPT课件

《JavaServlet基础》PPT课件
javax.servlet.FIlterChain
– 由容器实现,作为参数传入Filter的doFilter 方法,使用FilterCHain对象调用下一个过 滤器,若为最后一个则调用目标文件
整理ppt
8
过滤器
举例: SimpleFilter.java
package star.moon; import java.io.*; import javax.servlet.*; public class SimpleFilter implements Filter { //init方法
bodyhtml整理ppt驻留在服务器端的web组件截取客户端和目的资源间的请求和响应信息对这些信息进行过滤浏览器web容器过滤器在web应用程序中的位置整理pptpublicvoidinitfilterconfigfilterconfigthrowsservletexception
第8章 Java Servlet基础
整理ppt
12
过滤器
<filter-mapping>元素
– <filter-name>:在<filter>元素中定义的过滤器名字 – <url-pattern>or<servlet-name>:任选,过滤器关
联的URL样式或对应的Servlet – 0..4 dispatcher:
• REQUEST:用户直接访问页面时,Web容器会调用过滤器 • INCLUDE:通过RequestDispatcher的include()方法访问
目标文件时,调用过滤器 • FORWARD:通过RequestDispatcher的forward()方法访
问目标文件时,调用过滤器 • ERROR:通过声明式异常处理机制调用目标文件时,过

第5章 Servlet技术PPT教学课件

第5章 Servlet技术PPT教学课件
<servlet>
<servlet-name>loginServlet</servlet-name>
<servlet-class>servlet.loginServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
产生变化,则这个内存中的实例就会被销毁并在下一次被请求时重新
被创建。所以servlet修改后不需要重启tomcat。
容器只为每个servlet创建一个单独的实例,容器并不会每接到
一个请求就创建一个新线程,而是使用一个线程池来动态的将线程分
202配0/12给/12 到来的请求。
7
实例化servlet并不都是在容器启动时,要根据参数web.xml里 <servlet>标签对里load-on-startup参数,
本章将着重介绍Servlet的工作原理、常用的Servlet API以及如何通过MyEclipse快速开发Servlet程序。
2020/12/12
3
5.1.1 Servlet容器
Servlet容器(Tomcat),其作用是负责处理客户请求,当客 户请求来到时,Servlet容器获取请求,然后调用某个Servlet,并 把Servlet的执行结果返回给客户
2020/12/12
8
5.1 Servlet API 几个常用的接口和类(结合taoff_p118Servlet1.zip讲解):
1.javax.servlet.http.HttpServlet
该接口是Servlet API的核心类,我们自定义的Servlet都是该 类的子类 (1)int方法
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
应用服务器
request
Client response Servlet Java API such as JDBC
Resources e.g. Database
22
如何运行Servlet
• Servlet可以作为显式URL引用调用,或者 嵌入在HTML中并从Web应用程序调用。 • Servlet在应用服务器的机器上的某一个目 录中,这个目录可以配置到不同的位置。 • 当第一次从客户机调用Servlet时,将装入 这些Servlet。或者,可以在应用服务器启 动的时候装入它们。 • 应用服务器必须支持编写Java Servlet的版 本级别。
– 它包含相应的容器:Servlet/JSP容器,EJB容器等。 – BEA WebLogic,IBM WebSphere,Sun iPlanet, Apache Tomcat,JBoss等。
21
Servlet如何工作?
• Servlet在支持Java的应用服务器中运行。 • 服务器自己装入、执行和管理Servlet,服务器使用JRE来 运行Servlet。
• 业务逻辑层
– 提供业务服务,包括业务数据和业务逻辑。通常应用程序的大多 数业务处理集中在本层。同时它管理事务。
• 集成层
– 负责与外部系统和外部资源通信,它有多种方式,例如数据库连 接使用JDBC等。
• 资源层
– 包括业务数据源和外部系统资源,如数据库,JMS Server和其他 遗留系统等。
10
26
处理多线程
• Servlet由应用服务器装入。同一时间只有一个Servlet对 象的实例,并且它在Servlet的使用期间将一直保留。 • 两个客户同时请求Servlet的服务。服务器会根据实例对象 为每个请求创建一个处理程序线程。每个线程都可以访问 装入Servlet时初始化的变量。 • 每个线程处理它自己的请求。服务器将响应发送回相应的 客户机。
– User-Agent: Mozilla/4.0 (compatible; MSIE 4.0; Windows 95) – 告诉关于客户端软件的信息
14
GET方法
• GET方法用来从Web服务器获取信息(如文档, 图表,数据库查询结果等)。 • 当在浏览器中直接输入URL,或单击一个 hyperlink时候,就向Web服务器发出了一个GET 请求。 • GET请求可以在URL后面添加一些参数,所谓的 查询串(query string)。这些参数可以发送给 Web服务器。
• 缺点
– 效率低。通常比单层结构效率低。因为有时高层过分 依赖底层的服务,因此必须穿过许多中间层进行数据 的传送,甚至多次。 – 改变行为引起连锁反映
5
Client/Server体系架构
Client层 Server层 Client层 Server层
终端
PC
PC 终端
DB服务器
服务器
•表示 •业务逻辑 •数据库
20
Web服务器和应用服务器
• Web服务器用于处理静态HTML页面请求,它可 以将静态的HTML页面作为响应返回给客户端。
– Apache,IIS等。 – 一些商业Web服务器包含一个简单的Servlet容器,可 以用来运行Servlet。
• 应用服务器扩展了Web服务器的功能,它可以处 理Servlet、EJB和Web应用程序的请求
24
处理HTTP Servlet的关键方法
• GET请求:是Web页面的典型浏览器请求,它是 在用户输入URL或使用链接时发出的。 • POST请求:是用户提交指定发出的HTML表单时 生成的。 • HttpServlet的子类必须至少覆盖一个方法: doGet或doPost来处理请求。
– – – – service:实现Servlet的最低级标准方法 doPut:用于HTTP PUT请求 doPost:用于HTTP POST请求 init和destroy:用于管理Servlet的生命周期
16
其他方法
• HEAD方法
– 用于获取响应的头信息,判断文档大小、更新时间等。
• PUT方法
– 在Web服务器上直接放置文档。
• DELETE方法
– 删除Web服务器上的文档。
• TRACE方法
– 用于调试。
• OPTIONS方法
– 查询服务器支持哪些方法。
17
HTTP响应
• 客户发出请求后,服务器处理请求,并送回一个响应 (response),表示处理结果。 • 第一行表示状态信息,如服务器使用的HTTP版本、状态 代码和描述。
PC
数据库
PC
应用 服务器
PC
•表示 •业务逻辑
9
多层描述
• 客户端层
– 代表访问系统的人员、应用程序或系统的客户端。它是整个系统 的对外接口,可以是Web浏览器、Java应用程序、WAP、其他设 备等。
• 表示层
– 该层封装了用来访问系统的所有客户端的表示层逻辑。该层解释 客户端的请求,提供登陆,实现会话管理,控制对业务的访问 (权限控制),构造客户端的响应,以及把响应传递给客户端。
– HTTP/1.1 200 OK
• 响应的头信息,告诉客户server端使用的软件、响应的内 容的类型等。
– – – – – Date: Saturday, 23-May-00 03:25:12 GMT Server: Tomcat Web Server/3.2 MIME-version: 1.0 Content-type: text/html Content-length: 1029
Servlet入门
1
1、软件体系架构
2
层体系架构模式 • 层(layer):把应用系统分解成 子任务组,其中每个子任务组处 于一个特定的抽象层次上。 • 层架构模式组织成一个层次结构, 每一层为上层服务(Service Provider),同时也作为下层的 客户端。 • 内部层只对相邻的层可见。层之 间的调用通过决定层间如何交换 的协议来定义。 • 每一层最多只影响两层,同时只 要给相邻两层提供接口,允许每 层不同的方法实现,因此为软件 重用提供强大的支持。
PC
•表示 •业务逻辑 业务逻辑 •数据库
6
终端
C/S架构缺点
• 软件部署开销很大。
– 每个客户端都需要进行安装和设置,一旦程序发生变 化,就需要重新部署,这意味巨大开销。
• 业务逻辑混杂在客户端。
– 一旦业务需求发生变化,就需要修改客户端代码。
• 改变数据结构的开销很大。
– 客户端应用程序一般通过JDBC、ODBC或ADO等技术 直接访问数据库,如果改变数据结构来处理新的过程, 就需要修改客户端程序并重新部署每个客户端。
Client
request
response
13
HTTP请求
• 请求(request)用来告诉Web服务器需要 执行的活动,它通过一个HTTP命令 method来区分。请求也包括参数和HTTP 版本。
– GET /index.html HTTP/1.0
• 请求也可以包含一些可选的头信息,告诉 Web服务器一些关于请求的额外信息。
J2EE架构
11
2、HTTP基础
12
HTTP协议
• 超文本传输协议(HTTP)是一个简单的、无状态的协议。
– Web浏览器发出一个请求 – Web服务器接收请求,处理并发出响应 – Web浏览器接收响应,结束!
• 无状态:它没有为服务器提供内置方法--识别一系列 的请求源自同一个用户。
request response Web服务器
– Java Servlet 版本2.1、2.2、2.3等
23
什么是Java Servlet API?
• Java Servlet API是一组类,用于定义Web客户机 和Servlet之间的标准接口。 • Java Servlet API有两个包:
– javax.servlet:包含了支持普通协议无关的Servlet的类; – javax.servlet.http:包含了对HTTP协议的特别支持。
25
装入和初始化
• 第一次请求服务时,服务器将动态装入并 实例化Servlet。 • 还可以将Servlet配置成应用服务器启动的 时候装入和实例化特定的Servlet。 • Servlet的init方法被自动调用。在处理任何 请求之前,都会为每个Servlet实例调用它 一次。 • init方法执行的示例包括装入配置数据或建 立数据库连接等。
• 改变数据库的类型的开销很大。
– 由于客户端直接使用特定数据库的API和特定的存储过 程、触发器等,因此如果数据库类型的改变,也会引 起很多修改。
7
三层体系架构
Client层 Server层 Database层
PC
数据库
PC
应用 服务器
PC
•表示 •业务逻辑 •数据库
8
多层体系结构
客户端层 表示层 业务逻辑层 资源层
– http://localhost/getuserinfo.html?id=100&name=abc
• GET方法也可以用来提交HTML表单(form)。
15
POST方法
• POST方法用来向Web服务器发送信息(如信用 卡号,文件等)。 • POST请求一般和HTML的表单标记使用,用于录 入数据,并传递给Web服务器。 • POST请求用于向Web服务器发送大量的信息。
• Servlet接口类定义了管理Servlet一起它与客户机 通信的方法。
– HttpServlet类是基于HTTP协议的Servlet实现; – HttpServletRequest类代表发送到Servlet的请求; – HttpServletResponse类代表从Servlet发回客户端的响 应。
相关文档
最新文档