五 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 ...
随机推荐
- loadrunner 参数化数据更新方式
数据分配方式: Select next row[选择下一行]: 顺序(Sequential):按照参数化的数据顺序,一个一个的来取. 随机(Random):参数化中的数据,每次随机的从中抽取数据. 唯 ...
- centos 运用ssh的rsa算法实现无密码登录
ssh 公钥和私钥原理 1.客户端机子生成私钥和公钥,将公钥放到服务器证书中,然后就可以实现免密码登录.(服务器认证文件要有该登录用户的读执行权限) 2.a登录b: a机子:test01账号(b也要建 ...
- MySQL使用随笔
001 查看版本 mysql --version mysql > select version(); mysql > status; 002 新建MySQL用户.授权 insert int ...
- [Js]面向对象的拖拽
<html xmlns="http://www.w3.org/1999/xhtml"><head><style>#div1 {width:100 ...
- 修改PE文件的入口函数OEP
修改入口函数地址.这个是最省事的办法,在原PE文件中新增加一个节,计算新节的RVA,然后修改入口代码,使其指向新增加的节.当然,如果.text节空隙足够大的话,不用添加新节也可以. BOOL Chan ...
- POJ 2771 二分图(最大独立集)
Guardian of Decency Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 5244 Accepted: 21 ...
- 一模 (2) day2
第一题: 题目大意:给出n种物品和每种物品的件数,求拿k件的方案数.N<=30 解题过程: 1.一开始总想着是组合数学的模型,结果怎么都想不出来..然后写了个爆搜,数据很弱,只有1个点超时. 2 ...
- Android Phonebook编写联系人UI加载及联系人保存流程(五)
2014-01-07 10:46:30 将百度空间里的东西移过来. 在前面的文章中我们分析了UI的加载,其中提到了一个重要的对象:RawContactDeltaList mState,我前面说过这个对 ...
- Deep Learning In NLP 神经网络与词向量
0. 词向量是什么 自然语言理解的问题要转化为机器学习的问题,第一步肯定是要找一种方法把这些符号数学化. NLP 中最直观,也是到目前为止最常用的词表示方法是 One-hot Representati ...
- FCKEditor文件上传提示信息的汉化
FCKEditor文件上传提示信息的汉化在FCKeditor中,虽然可以自动监测客户端语言,但是仍有小部分信息未能得到汉化.例如上传图片.Flash时,上传成功和上传失败的对话框提示信息均为英文,只要 ...