servlet概述
Posted wlyw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 对象被标记为垃圾回收。
以上是关于servlet概述的主要内容,如果未能解决你的问题,请参考以下文章