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()
Servlet:从入门到实战学习(2)---Servlet生命周期的更多相关文章
- Servlet:从入门到实战学习(3)---Servlet实例【图文】
本篇通过图文实例给大家详细讲述如何建立一个Servlet,配置好运行环境并成功连接到MYSQL的数据库,进行数据的查询展示. 1.项目创建:IDEA -> Create New Project ...
- jsp当做第二个servlet request的生命周期 请求 响应 不管中间经历多少个servlet 只要最后一个serlvt执行后 则生命周期结束 request的域消失
jsp当做第二个servlet request的生命周期 请求 响应 不管中间经历多少个servlet 只要最后一个serlvt执行后 则生命周期结束 request的域消失
- Vue – 基础学习(1):对生命周期和钩子函的理解
一.简介 先贴一下官网对生命周期/钩子函数的说明(先贴为敬):所有的生命周期钩子自动绑定 this 上下文到实例中,因此你可以访问数据,对属性和方法进行运算.这意味着你不能使用箭头函数来定义一个生命周 ...
- servlet:从入门到实战学习(1)---全·环境配置
最近公司忙加班学习,学校忙助教工作,博客鸽了好久,后端学习工作过程中学了好多东西,趁着工作之余得空补补博客,算是整理下学习的东西. javaweb的后端研发需要学习的是tomcat+servlet+j ...
- 学习Vue 入门到实战——学习笔记
闲聊: 自从进了现在的公司,小颖就再没怎么接触vue了,最近不太忙,所以想再学习下vue,就看了看vue相关视频,顺便做个笔记嘻嘻. 视频地址:Vue 入门到实战1.Vue 入门到实战2 学习内容: ...
- Java Web学习笔记-Servle生命周期
Servlet会在服务器启动或第一次请求该Servlet的时候开始生命周期,在服务器停止的时候结束生命周期. 无论请求多少次Servlet,最多只有一个Servlet实例.多个客户端并发请求Servl ...
- Spring学习10- bean的生命周期(阿里面试题目两次面试均提到)
找工作的时候有些人会被问道Spring中Bean的生命周期,其实也就是考察一下对Spring是否熟悉,工作中很少用到其中的内容,那我们简单看一下. 在说明前可以思考一下Servlet的生命周期:实例化 ...
- ReactJS入门(二)—— 组件的生命周期
如果你熟悉avalon,使用过 data-include-rendered 和 data-include-loaded 等回调方法,那么你会很好地理解React组件的各个生命周期. 说白了其实就是Re ...
- iOS学习笔记—ViewController/生命周期
ViewController是iOS应用程序中重要的部分,是应用程序数据和视图之间的重要桥梁,ViewController管理应用中的众多视图.iOS的SDK中提供很多原生ViewController ...
随机推荐
- js数字动画
项目中需要的数字动画效果,网上找不到需要的效果,所以自己写了一个. 不多说,直接上干货:
- 那些H5用到的技术(6)——数字滚动特效
前言原理源码使用方式补充CountUp.js 前言 会有这么一种情况,H5页面需要进行数字统计展示,以此来强调产品or工作的成果.如果只是静态显示一个数字,总是感觉生硬.对比如下: 是不是瞬间高大上了 ...
- 基于angularJS的表单验证练习
今天看了一下angularJS的表单验证,看的有点云里雾里(也有可能是雾霾吸多了),于是做了一个小练习来巩固一下. html: <div ng-controller="Aaa" ...
- css3圆形轨迹动画
<!doctype html> <html lang="en"> <head> <meta char ...
- assert函数的用法
assert这个函数在php语言中是用来判断一个表达式是否成立.返回true or false; 例如: <?php $s = 123; assert("is_int($s)" ...
- 【c++】字符串流输出恢复状态问题
缘起 #include <iostream> #include <sstream> using namespace std; int main() { istringstrea ...
- 学生信息管理系统(C语言版本)
这是我个人写的一个学生管理系统,这是我仅仅用来练手的代码,要知道链表可是你在面试过程中最大机率会考到的,我是陆续从单向链表入门,然后采用双向链表写的代码!如有BUG,请指正,让我们共同进步! 1 #i ...
- 【Chat】实验 -- 实现 C/C++下TCP, 服务器/客户端 "多人聊天室"
本次实验利用TCP/IP, 语言环境为 C/C++ 利用套接字Socket编程,以及线程处理, 实现Server/CLient 之间多人的聊天系统的基本功能. 结果大致如: 下面贴上代码(参考参考.. ...
- Pnel控件
分组类控件 面板控件(Panel) 分组框控件(GroupBox) 选项卡控件(TabControl)等控件 Panel 控件是由System.Windows.Forms.Panel类提供的,主要 ...
- 一键LNMP文件
https://lnmp.org/ LNMP相关软件安装目录Nginx 目录: /usr/local/nginx/MySQL 目录 : /usr/local/mysql/MySQL数据库所在目录:/u ...