Servlet基本知识总结

  Servlet 简介

  Servlet是什么?

  Servlet是一个Java编写的程序,此程序是基于Http协议的,并运行在web服务器上或者应用服务器上。它主要是作为web浏览器或其他Http客户端的请求与Http服务器上的数据库或应用程序之间的中间层。也就是,当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet ,并让 Servlet 建立起服务器返回给客户机的响应。当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后, Servlet 继续运行直到其它客户机发出请求。

  使用 CGI技术可以实现同样的效果,但使用CGI技术开发起来过于复杂,且性能方面较差,只要有一个请求到达,Web服务器就会单独分配一个进程来进行处理导致,移植性不好,而Servlet不需要像CGI技术那样分配单独的进程来处理请求,而是单独分配一个线程来进行处理,提升了处理效率。并且Java语言是跨平台的语言,页提升了Web服务器扩展程序的可移植性,所以Servlet技术已经取代了CGI技术,成为B/S架构中的主流技术。

  Servlet 功能

  Servlet 可完成如下功能:

  (1) 创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML 页面。

  (2) 创建可嵌入到现有 HTML 页面中的一部分 HTML 页面( HTML 片段)。

  (3) 与其它服务器资源(包括数据库和基于 Java 的应用程序)进行通信。

  (4) 用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。例如, Servlet 可以是多参与者的游戏服务器。

  (5) 当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至 applet的新连接,并将该连接保持在打开状态。当允许客户机和服务器简单、高效地执行会话的情况下, applet 也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准(如 IIOP )进行通信。

  (6) 对特殊的处理采用 MIME 类型过滤数据,例如图像转换和服务器端包括( SSI )。

  (7) 将定制的处理提供给所有服务器的标准例行程序。例如, Servlet 可以修改如何认证用户。

  Servlet原理

  Servlet作为补充Web服务器功能的组件,需要依赖于Servlet容器才能运行。能够充当Servlet容器这个角色的有很多软件,如Tomcat、Weblogic、JBoss等。而这些Servlet容器不仅仅具备了管理Servlet组件的功能,也具备了Web服务器的一些功能,所以很多时候只要安装一个Tomcat软件就同时具备了Web服务器及Servlet容器的双重功能。

  在浏览器中输入请求地址后,浏览器会依据IP地址及端口号找到对应的Web服务器,如果请求的是静态资源,Web服务器直接提供响应;如果请求的是动态资源,Web服务器的通信模块会将该请求传递给Servlet容器的通信模块,Servlet容器负责创建Servlet实例,并将请求中的数据解析出来传递给Servlet。在Servlet处理完数据之后,响应结果也是由容器的通信模块负责返回给Web服务器。后续的Servlet的销毁及管理都由容器来负责。

  Servlet生命周期

  Servlet的生命周期是由Servlet的容器来控制的,它可以分为3个阶段;初始化,运行,销毁。

  首先,第一个到达服务器的Http请求被委派到Servlet容器中,Servlet容器在调用service()方法之前会先加载一个Servlet对象,调用初始化方法进行初始化,初始化操作执行进行一次,在后续的请求中不会再调用初始化方法;然后Servlet容器处理由多条线程产生的多个请求,每个线程执行一个单一的 Servlet 实例的 service() 方法;请求处理完将输出结果返回客户端,无请求时Servlet容器调用destory()进行释放资源的操作,具体如下:

  初始化阶段:

  1,Servlet容器加载servlet类,把servlet类的.class文件中的数据读到内存中。

  2,然后Servlet容器创建一个ServletConfig对象。ServletConfig对象包含了Servlet的初始化配置信息。

  3,Servlet容器创建一个servlet对象。

  4,Servlet容器调用servlet对象的init方法进行初始化,初始化方法只调用一次,在后续的用户请求中将不再调用。

  运行阶段:

  每次服务器接收到一个Servlet请求时,服务器会产生一个新的线程并调用服务方法。service()方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。

  当servlet容器接收到一个请求时,servlet容器会针对这个请求创建servletRequest和servletResponse对象。

  然后调用service方法,并把这两个参数传递给service方法。Service方法通过servletRequest对象获得请求的

  信息并处理该请求,再通过servletResponse对象生成这个请求的响应结果。

  销毁阶段:

  当Web应用被终止时,servlet容器会先调用servlet对象的destrory方法,销毁servlet对象以及与servlet对象相关联的servletConfig对象。同时也可以在destroy方法中实现释放资源的操作,如关闭数据库连接,关闭文件输入输出流等。

  如图所示:

  

两性健康 两性文章 两性常识 两性世界 两性问题  两性保健 两性小说 两性之间 两性交流 两性用品 两性夜话 美女图片 两性知识 两性教育 两性情感 两性关系 两性技巧 两性生活 两性故事 两性心理 两性话题 两性养生  热点资讯 热点动态 热点讯息 热点新闻 最新资讯 最新动态 关注两性健康 关注两性健康网 热点资讯网 热点动态网 热点讯息网 热点新闻网 最新资讯网 最新动态网 军事 新闻 生活 娱乐 教育 科技 旅游 健康 体育 游戏 内涵 美图 太空 数码 汽车 赛事 场外 解谜 影视 明星 主播 法制 社会 财经 足球 CBA 国内 国际 中国 全球 亚太 周边 军备 职场 美食 房产 NBA 奇闻异事

时间: 2024-08-02 16:29:57

Servlet基本知识总结的相关文章

Servlet基础知识详解

Servlet基础知识详解 Servlet基础知识详解 Servlet程序执行全过程 Servlet映射路径 Servlet映射练习 Servlet生命周期 为什么要学习Servlet生命周期 Servlet重要的生命周期方法 模拟通过反射构造Servlet对象 Servlet单实例多线程 Servlet留给开发者的init方法 Servlet中核心对象学习 HttpServletRequest对象 HttpServletResponse对象 ServletConfig对象 ServletCon

JSP SERVLET 基础知识

jsp(java server page)和servlet是JAVA EE规范的两个基本成员,是JAVA WEB开发的重点也是基础知识.JSP本质上也需要编译成SERVLET运行. JSP比较简单,可以理解为在HTML页面中嵌入JAVA代码,或使用各种JSP标签,再辅以各种JAVA BEAN. <!-- JSP声明 --> <%! public String info(){return "Hello jsp";} %> <div> <!-- J

面试之jsp、Servlet相关知识——生命周期, 区别等

1.servlet生命周期 所谓生命周期,指的是servlet容器如何创建servlet实例.分配其资源.调用其方法.并销毁其实例的整个过程. 阶段一: 实例化(就是创建servlet对象,调用构造器) 在如下两种情况下会进行对象实例化. 第一种情况: 当请求到达容器时,容器查找该servlet对象是否存在,如果不存在,才会创建实例. 第二种情况: 容器在启动时,或者新部署了某个应用时,会检查web.xml当中,servlet是否有 load-on-starup配置.如果有,则会创建该servl

Servlet基础知识

1.什么是Servlet? Servlet是一个符合特定规范的Java程序,是一个基于Java技术的Web组件,运行在服务器端,由Servlet容器所管理,用于生成动态的内容; 2.Servlet和JSP的关系:JSP在运行时首先解析成一个Java类,该类继承于HttpJspBase类,而HttpJspBase又是继承自HttpServlet类,所以结论为 -->JSP在运行时会被Web容器翻译为一个Servlet. 3.Servlet API: -->1.使用Servlet API可以开发H

Servlet 基础知识

8.Response  8.1.getOutputStream和getWriter方法分别用于得到输出二进制数据.输出文本数据的ServletOutputStream .Printwriter对象.  8.2.getOutputStream和getWriter方法互相排斥,调用其中的任何一方发后就不能调用另一方法,在一个Serlet里调用一方法,转发后的Servlet中也不能出现另一个方法.  8.3.Servlet程序向ServletOutputStream或PrintWriter对象中写入的

jsp、Servlet相关知识介绍(转)

1.servlet生命周期 所谓生命周期,指的是servlet容器如何创建servlet实例.分配其资源.调用其方法.并销毁其实例的整个过程. 阶段一: 实例化(就是创建servlet对象,调用构造器) 在如下两种情况下会进行对象实例化. 第一种情况: 当请求到达容器时,容器查找该servlet对象是否存在,如果不存在,才会创建实例. 第二种情况: 容器在启动时,或者新部署了某个应用时,会检查web.xml当中,servlet是否有 load-on-starup配置.如果有,则会创建该servl

javaweb中的servlet相关知识

class01 javaweb基础 一.OSI参考模型: 应用层.表示层.会话层 传输层. 网络层. 数据链路层. 物理层一共七层 二.与OSI参考模型对应的TCP/IP四层模型: 应用层. 传输层. 网际层. 网络接口层 三.http协议的主要特点: 遵循请求/响应模型 无连接:每次连接只处理一个请求 处理完请求后就释放连接 无状态:http协议对于事物处理没有记忆能力 即每次连接互不影响 灵活:可以传输任意类型数据对象 简单快捷:客户端向服务器发送请求时,只需要传送请求和路径 四.http协

Java之JSP和Servlet基础知识。

JSP基础 JSP起源 JSP,Java Server Pager的简称.由SUN倡导并联合其它公司创建. JSP是一门脚本语言 JSP可以嵌入到HTML中 JSP拥有Java语言的所有特性 面向对象.健壮.多线程.安全.可移植.高性能 JSP运行于JSP容器中 Tomcat.Jetty等. JSP会被转换成Servlet JSP->Servlet->Class文件. Mac下常用shell命令: pwd 打印当前目录 ls 列出当前目录下的所有文件目录 cd 更改目录 .代表当前工作目录 .

servlet入门知识

什么是Servlet?① Servlet就是JAVA 类② Servlet是一个继承HttpServlet类的类③ 这个在服务器端运行,用以处理客户端的请求 Servlet相关包的介绍--javax.servlet.* :存放与HTTP 协议无关的一般性Servlet 类:--javax.servlet.http.* :除了继承javax.servlet.* 之外,并且还增加与HTTP协议有关的功能. (注意:大家有必要学习一下HTTP协议,因为WEB开发都会涉及到) 所有的Servlet 都必