Servlet:从入门到实战学习(2)---Servlet生命周期
一个Servlet的完整的生命周期(从创建到毁灭)包括:init()方法,service()方法,doGet()方法,doPost()方法,destroy()方法
init()方法用于 Servlet 在服务器第一次启动时被加载时,init() 方法里可简单地创建或加载一些数据,一般用的不是很多。
destroy() 方法在 Servlet 生命周期结束时被调用。用于让 Servlet 关闭数据库连接、停止后台线程等,执行类似的清理活动,一般用的也不是很多。
service()方法是执行实际任务的主要方法。Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。
每次服务器接收到一个 Servlet 请求时,服务器会产生一个新的线程并调用服务。service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。
但service()方法由容器调用,所以我们不需对service()方法进行操作。
现在来到重点标红的servlet里的doGet()和doPost()方法
从浏览器到 Web 服务器,最终到后台程序。浏览器使用两种方法可将这些信息传递到 Web 服务器,分别为 GET 方法和 POST 方法。
GET 方法:页面请求发送已编码的用户信息。页面和已编码的信息中间用 ? 字符分隔表示,如:www.baidu.com?key1=value1&key2=value2
doGet()方法:
doGet()方法可以处理一个 GET请求---URL 的正常请求(或者来自于一个未指定 METHOD 的 HTML 表单)。
POST 方法:向后台程序传递信息的比较可靠的方法。POST 方法打包信息的方式与 GET 方法基本相同,但是 POST 方法不是把信息作为 URL 中 ? 字符后的文本字符串进行发送,而是把这些信息作为一个单独的消息。消息以标准输出的形式传到后台程序,您可以解析和使用这些标准输出。Servlet 使用 doPost() 方法处理这种类型的请求。
doPost()方法:
doPost() 方法处理一个POST 请求---一个特别指定了 METHOD 为 POST 的 HTML 表单。
我们开发servlet主要是写servlet中的doGet()、doPost()方法,来处理前端请求并返回前端所需要的数据。
下篇通过实例讲述Servlet()