Servlet和Jsp简介(关于servlet和jsp的区别)

  本篇文章为你整理了Servlet和Jsp简介(关于servlet和jsp的区别)的详细内容,包含有servlet 和jsp 关于servlet和jsp的区别 servlet和jsp的工作原理 jsp和servlet的各自应用范围 Servlet和Jsp简介,希望能帮助你了解 Servlet和Jsp简介。

  Servlet

  1、servlet与servlet容器

  Java Servlet(Java服务器小程序)是一个基于Java技术的Web组件,运行在服务器端,它由Servlet容器所管理,用于生成动态的内容。 Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类。Servlet被编译为平台独立 的字节码,可以被动态地加载到支持Java技术的Web服务器中运行。
 

   Servlet容器也叫做Servlet引擎。Servlet没有main方法,不能独立运行,它必须被部署到Servlet容器中,由容器来实例化和调用 Servlet的方法(如doGet()和doPost()),Servlet容器在Servlet的生命周期内包容和管理Servlet。在JSP技术 推出后,管理和运行Servlet/JSP的容器也称为Web容器。

  用户通过单击某个链接或者直接在浏览器的地址栏中输入URL来访问Servlet,Web服务器接收到该请求后,并不是将 请求直接交给Servlet,而是交给Servlet容器。Servlet容器实例化Servlet,调用Servlet的一个特定方法对请求进行处理, 并产生一个响应。这个响应由Servlet容器返回给Web服务器,Web服务器包装这个响应,以HTTP响应的形式发送给Web浏览器。

  

  Tomcat服务器接受客户请求并做出响应的过程如下:

  客户端(通常都是浏览器)访问Web服务器,发送HTTP请求。
 

   2)Web服务器接收到请求后,传递给Servlet容器。
 

   3)Servlet容器加载Servlet,产生Servlet实例后,向其传递表示请求和响应的对象。
 

   4)Servlet实例使用请求对象得到客户端的请求信息,然后进行相应的处理。
 

   5)Servlet实例将处理结果通过响应对象发送回客户端,容器负责确保响应正确送出,同时将控制返回给Web服务器。

  
init() 方法

  Servlet的init方法在一个生命周期中只被执行一次,调用service方法前,初始化必须完成;它在第一次创建 Servlet 时被调用,在后续每次用户请求时不再调用。因此,它是用于一次性初始化,就像 Applet 的 init 方法一样。

  init 方法的定义如下:

  
 

  

  service() 方法

  service() 方法是执行实际任务的主要方法。Servlet 容器 调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。

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

  下面是该方法的特征:

  
 

  

  所以,您不用对 service() 方法做任何动作,您只需要根据来自客户端的请求类型来重写 doGet() 或 doPost() 即可。

  doGet() 和 doPost() 方法是每次服务请求中最常用的方法。下面是这两种方法的特征。

  doGet() 方法

  GET 请求来自于一个 URL 的正常请求,或者来自于一个未指定 METHOD 的 HTML 表单,它由 doGet() 方法处理。

  
destroy() 方法

  destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。destroy() 方法可以让您的 Servlet 关闭数据库连接、停止后台线程、把 Cookie 列表或点击计数器写入到磁盘,并执行其他类似的清理活动。

  在调用 destroy() 方法之后,servlet 对象被标记为垃圾回收。destroy 方法定义如下所示:

  

 

 

  
 

  

  Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:

  Servlet类加载

  Servlet 通过调用init ()方法进行初始化。

  Servlet 调用service()方法来处理客户端的请求,来选择调用doGet还是doPost方法。

  Servlet 通过调用destroy()方法终止(结束)。

  最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。

  下图显示了一个典型的 Servlet 生命周期方案。

  第一个到达服务器的 HTTP 请求被委派到 Servlet 容器。

  Servlet 容器加载 Servlet,创建对象和初始化,然后调用 service() 。

  然后 Servlet 容器处理由多个请求产生的多个线程,每个线程执行一个单一的 Servlet 实例的 service() 方法。

  ​
 

  

  JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计.

  JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

  它实现了Html语法中的java扩展(以 %, % 形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

  Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

  

  

  

  

  以上就是Servlet和Jsp简介(关于servlet和jsp的区别)的详细内容,想要了解更多 Servlet和Jsp简介的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: