servlet概述

时间:2019-03-27
本文章向大家介绍servlet概述,主要包括servlet概述使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、Servlet是什么

Java Servlet实际上是一个java类,只不过这个类必须运行在具有JavaServlet规范解释器的Web服务器上(例如Tomcat)。在这些支持规范解释器的服务器(例如Tomcat)上,一般都具有一个Servlet容器,当一个web请求到达服务器时,这个请求就会被委派到这个Servlet容器中,成为Servlet容器的管理对象,即这个Servlet对象就是当前浏览器的http请求。

实际上:Java Servlet是运行在Web服务器(Tomcat之类)上的程序,作为web浏览器(或其他Http客户端的请求)和Tomcat服务器(Http服务器)上的数据库或应用程序之间的中间层,使用Servlet,不但可以收集网页表单的用户输入,也可以将数据库中的记录展示到网页上。

二、Servlet能做什么

1.读取浏览器发送的显示数据,表单等

2.读取浏览器发送的隐式数据,例如Cookies等

3.发送显示数据到浏览器

4.发送隐式的Http响应到浏览器,例如Cookies等

三、Servlet的生命周期

当Http请求被委派到Servlet容器时,Servlet容器就会创建Servlet,创建该Servlet时,容器会调用Init方法。

注意,后续相同的http请求不会再创建Servlet,也不会再调用init方法(因为此时Servlet容器中已经存在了)

容器在调用init方法时,会简单的创建/加载一些数据,这些数据随着Servlet的存在而存在。

四、service() 方法:

service() 方法是执行实际任务的主要方法。 

Web 服务器调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。

每次服务器接收到一个 Servlet 请求时,服务器会产生一个新的线程并调用服务。

service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。

service() 方法也是由容器调用,所以不用对 service() 方法做任何动作。

只需要根据来自客户端的请求类型来重写 doGet() 或 doPost() 即可。

doget(),doPost()方法

doGet() 方法:请求中不指定表单,

doPost() 方法:请求中指定表单。

比如说在浏览器的某个页面中有两个提交按钮,

按钮1提交的内容中有表单,那么你就需要使用dopost方法,进而再做一些处理。

按钮2提交的内容中无表单,那么你就需要使用doget方法,进而再做一些处理。

destroy() 方法

destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。

destroy() 方法可以让您的 Servlet 关闭数据库连接、停止后台线程、把 Cookie 列表或点击计数器写入到磁盘,并执行其他类似的清理活动。

在调用 destroy() 方法之后,servlet 对象被标记为垃圾回收。