一 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 技术的更多相关文章

  1. JavaWeb:Servlet技术

    JavaWeb:Servlet技术 快速开始 Servlet是什么 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 ...

  2. Java Web之Servlet技术

    1.Servlet基础 针对Servlet技术开发,Sun公司提供了一些列接口和类,其中最重要的是javax.servlet.Servlet接口,两个重要的包是javax.servlet和javax. ...

  3. Java Servlet 技术简介

    Java Servlet 技术简介 Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么 ...

  4. Web---演示servlet技术(servlet生命周期),解决中文乱码问题

    本节讲解决中文乱码问题的4种方法. 还有更好的方法,也就是用过滤器,这里就不演示了,博主目前也不会~呼♪(^∇^*)~过段时间才会学. servlet生命周期演示: index.jsp: <%@ ...

  5. 漫谈servlet技术

    1.要谈到Servlet技术,不得不先谈谈动态网页的概念. 编写过网页的人都知道,浏览器能够根据HTML静态标记语言来显示各式各样的网页.但是如果我们需要在网页上完成一些业务逻辑:比如登陆验证.或者说 ...

  6. JSP+JavaBean+Servlet技术(MVC模型)

    一,Servlet开发用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求.服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应.浏览器收到回应,再把回应的内容显示出来.这种 ...

  7. java学习笔记—Servlet技术(11)

    如果大家要开发一个动态的网站,那么就必须要学习一种动态的网页开发技术.那么在SUN提供的JavaEE中主要包含两种开发动态网页的技术:Servlet和JSP技术. Servlet技术简介 Servle ...

  8. 2017.11.2 JavaWeb----第六章 Servlet技术

    JavaWeb ------第六章 Servlet技术 (1)在Web应用程序开发中,一般由JSP JavaBean技术和 Servlet技术的结合实现MVC开发模式.在MVC开发模式中将Web程序的 ...

  9. Javaweb 使用Servlet技术改写用户登录 使用Filter技术解决中文乱码

    先把实验3的jsp页面复制过来: WebContent->WEB-INF->lib下面的jar包8.0版本也要记得复制: Java Resources->src下的 cn.edu.h ...

随机推荐

  1. WDCP安装常用组件(memcache、mysqli、PDO_MYSQL、mysql innodb、libmcrypt、php zip)的方法

    为有更好的性能,也为更简洁的系统,一些不是常用或不是基本的功能,都将做为可选的安装组件需要用到的就安装 注意:如果安装时遇到 ./configure: Permission denied提示,很有可能 ...

  2. 神奇的NOIP模拟赛 T3 LGTB 玩THD

    LGTB 玩THD LGTB 最近在玩一个类似DOTA 的游戏名叫THD有一天他在守一座塔,对面的N 个小兵排成一列从近到远站在塔前面每个小兵有一定的血量hi,杀死后有一定的金钱gi每一秒,他都可以攻 ...

  3. UITextView添加一个placeholder功能

    控件UITextField有个placeholder属性,UITextField和UITextView使用方法基本类似,有两个小区别:1.UITextField单行输入,而UITextView可以多行 ...

  4. Windows的同步I/O和异步I/O

    同步I/O操作 执行步骤 1.        程序通过FileStream对象来打开磁盘文件,然后调用Read方法(内部调用Win32 ReadFile函数),从文件中读取数据.这时,线程从托管代码转 ...

  5. JSONObject put,accumulate,element的区别(转载)

    原文链接:http://ljhzzyx.blog.163.com/blog/static/3838031220126810430157/   public Object put (Object key ...

  6. HTTP状态代码

    1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 100 (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101 (切换协议) 请求 ...

  7. English idioms

    a hot potato : speak of an issue(mostly current) which many people are talking about and which is us ...

  8. 【转】CentOS yum安装和卸载软件的使用方法

    在CentOS yum安装和卸载软件的使用方法安装方法安装一个软件时.   CentOS yum -y install httpd安装多个相类似的软件时   CentOS yum -y install ...

  9. PHPSESSID的cookie

    如果PHP脚本中有: 1 session_start(); 则说明使用了SESSION. SESSION是一种机制,可以在服务器端跨文件暂时保存数据或传递数据,常用于购物车等方面. SESSION只在 ...

  10. Javascript 基础(二)

    一.js运算符: +.-.*./.% %(去模 就是计算两个数的余数,通常判断是否能整除),主要用于整数. var a=90; var b=8; if(a%b==0) window.alert(&qu ...