五 Servlet 技术
一 Servlet 基础
1. 定义相关:
a) 是运行在 Web 服务器上得 Java 小程序
b) 只将处理结果返回给客户
c) 是实现接口 Servlet 的 java 类,能被服务器调用。
d) Servlet 类与普通的 java 类非常相似,唯一的区别是扩展了新类并实现了一些新方法。
2. Servlet 接口原型:

2. Servlet 接口说明:
a) init ():初始化操作
b) service():执行应用逻辑的入口点
c) destroy():清理内存资源
3. service 函数的具体流程:
a) 使用一个方法service接收用户的请求,请求封装在ServletRequest类中传给这个方法。
b) 方法从ServletRequest类中读出用户信息和请求内容,然后将响应的页面写到ServletResponse对象中。
c) 使用Java的IO方法将它们传回到客户端
4. 所有 servlet 的两个共同点:
a) 扩展 GenericServlet 或 HttpServlet
b) 所有的 servlet 至少要覆盖(override)一个方法,在其中可以实现自定义的功能。
5. 服务器调用 Servlet 步骤:
a) 服务器启动时,当 servlet 被配置好或被客户首次请求时,由服务器加载 servlet(本地或远程)。
b) 服务器创建一个 servlet 类的实例来为所有请求服务。
c) 服务器调用 servlet 的 init() 方法。
d) 服务器针对请求构造对象
e) 服务器调用 servlet 的 service() 方法,将上一步中构造的对象作为参数传递进去。
f) 分析请求
g) 如果服务器收到另一个对该 servlet 的请求,这个处理过程从步骤 e 重复。
h) 一旦servlet容器检测到一个 servlet 要被卸载(可能是因为停止 servlet 容器或者 web 应用被卸载掉),服务器会在所有的 servlet 的 service() 线程完成之后调用servlet 的 destroy() 方法。
6. 服务器调用 Servlet 步骤图示:

二 Servlet API:请自行参阅相关资料,在此不累述。
三 Servlet 和 JSP 的区别
1. 编程方式不同:
JSP 是为了解决 Servlet 中相对困难的编程技术而开发的技术,因此,JSP 在程序的编写方面比 Servlet 要容易的多,Servlet 严格遵循 Java 语言的编程标准,而 JSP 则遵循脚本语言的编制标准。
2. Servlet必须在编译以后才能执行
JSP 并不需要另外进行编译,JSP Container 会自动完成这一工作,而 Servlet 在每次修改代码之后都需要编译完才能执行。
3. 运行速度不同
由于 JSP Container 将 JSP 程序编译成 Servlet 的时候需要一些时间,所以 JSP 的运行速度比 Servlet 要慢一些,不过,如果 JSP 文件能毫无变化的重复使用,它在第一次以后的调用中运行速度就会和 Servlet 一样了,这是因为 JSP Container 接到请求以后会确认传递过来的JSP是否有改动,如果没有改动的话,将直接调用 JSP 编译过的 Servlet类,并提供给客户端解释执行,如果 JSP 文件有所改变,JSP Container 将重新将它编译成 Servlet,然后再提交给客户端。
五 Servlet 技术的更多相关文章
- JavaWeb:Servlet技术
JavaWeb:Servlet技术 快速开始 Servlet是什么 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 ...
- Java Web之Servlet技术
1.Servlet基础 针对Servlet技术开发,Sun公司提供了一些列接口和类,其中最重要的是javax.servlet.Servlet接口,两个重要的包是javax.servlet和javax. ...
- Java Servlet 技术简介
Java Servlet 技术简介 Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么 ...
- Web---演示servlet技术(servlet生命周期),解决中文乱码问题
本节讲解决中文乱码问题的4种方法. 还有更好的方法,也就是用过滤器,这里就不演示了,博主目前也不会~呼♪(^∇^*)~过段时间才会学. servlet生命周期演示: index.jsp: <%@ ...
- 漫谈servlet技术
1.要谈到Servlet技术,不得不先谈谈动态网页的概念. 编写过网页的人都知道,浏览器能够根据HTML静态标记语言来显示各式各样的网页.但是如果我们需要在网页上完成一些业务逻辑:比如登陆验证.或者说 ...
- JSP+JavaBean+Servlet技术(MVC模型)
一,Servlet开发用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求.服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应.浏览器收到回应,再把回应的内容显示出来.这种 ...
- java学习笔记—Servlet技术(11)
如果大家要开发一个动态的网站,那么就必须要学习一种动态的网页开发技术.那么在SUN提供的JavaEE中主要包含两种开发动态网页的技术:Servlet和JSP技术. Servlet技术简介 Servle ...
- 2017.11.2 JavaWeb----第六章 Servlet技术
JavaWeb ------第六章 Servlet技术 (1)在Web应用程序开发中,一般由JSP JavaBean技术和 Servlet技术的结合实现MVC开发模式.在MVC开发模式中将Web程序的 ...
- Javaweb 使用Servlet技术改写用户登录 使用Filter技术解决中文乱码
先把实验3的jsp页面复制过来: WebContent->WEB-INF->lib下面的jar包8.0版本也要记得复制: Java Resources->src下的 cn.edu.h ...
随机推荐
- WDCP安装常用组件(memcache、mysqli、PDO_MYSQL、mysql innodb、libmcrypt、php zip)的方法
为有更好的性能,也为更简洁的系统,一些不是常用或不是基本的功能,都将做为可选的安装组件需要用到的就安装 注意:如果安装时遇到 ./configure: Permission denied提示,很有可能 ...
- 神奇的NOIP模拟赛 T3 LGTB 玩THD
LGTB 玩THD LGTB 最近在玩一个类似DOTA 的游戏名叫THD有一天他在守一座塔,对面的N 个小兵排成一列从近到远站在塔前面每个小兵有一定的血量hi,杀死后有一定的金钱gi每一秒,他都可以攻 ...
- UITextView添加一个placeholder功能
控件UITextField有个placeholder属性,UITextField和UITextView使用方法基本类似,有两个小区别:1.UITextField单行输入,而UITextView可以多行 ...
- Windows的同步I/O和异步I/O
同步I/O操作 执行步骤 1. 程序通过FileStream对象来打开磁盘文件,然后调用Read方法(内部调用Win32 ReadFile函数),从文件中读取数据.这时,线程从托管代码转 ...
- JSONObject put,accumulate,element的区别(转载)
原文链接:http://ljhzzyx.blog.163.com/blog/static/3838031220126810430157/ public Object put (Object key ...
- HTTP状态代码
1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 100 (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101 (切换协议) 请求 ...
- English idioms
a hot potato : speak of an issue(mostly current) which many people are talking about and which is us ...
- 【转】CentOS yum安装和卸载软件的使用方法
在CentOS yum安装和卸载软件的使用方法安装方法安装一个软件时. CentOS yum -y install httpd安装多个相类似的软件时 CentOS yum -y install ...
- PHPSESSID的cookie
如果PHP脚本中有: 1 session_start(); 则说明使用了SESSION. SESSION是一种机制,可以在服务器端跨文件暂时保存数据或传递数据,常用于购物车等方面. SESSION只在 ...
- Javascript 基础(二)
一.js运算符: +.-.*./.% %(去模 就是计算两个数的余数,通常判断是否能整除),主要用于整数. var a=90; var b=8; if(a%b==0) window.alert(&qu ...