j2ee爬坑行之二 servlet
servlet生命周期
- web容器加载servlet 类
- web容器调用servlet的构造函数,初始化servlet.
- web容器调用servlet的init()方法。注意该方法在servlet的一生中只会调用一次,而且必须在service()方法之前调用
- web容器根据相应的url调用servlet的service()方法。servlet的一生主要处于此阶段
- web容器调用servlet的destroy()方法。该方法一生也只调用一次
注意:1)servlet在调用构造函数和init()方法之间处于一种不确定状态,例如无法捕获web应用配置信息或查找应用的另一个引用,因此不要在构造函数中放任何代码,初始化只运行一次的代码放到init()方法中。
servletConfig对象VS servletContext 对象
ServletConfig 对象:
- 每个servlet都有一个ServletConfig对象
- 用于向servlet传递部署时的信息(数据库等),最好不要把该信息硬编码到代码中
- 用于访问servletContext
- 参数在部署描述文件中的配置
ServletContext:
- 每个web应用有一个ServletConText
- 用于访问web应用参数
- 相当于一个公告栏,可以在此放置消息,应用的其他部分可以访问该消息
- 用于得到服务器信息,包括容器名、容器版本以及支持API的版本
Http方法:
- GET: 要求得到所求请求URL上的一个东西(资源 or文件)
- POST: 要求服务器接受附加到请求的体信息,并提供所请求URL上的一个东西。
- HEAD:只要求得到GET返回结果的首部部分
- TRACE:要求请求返回,这样客户能看到另一端接收到了扫描,以便测试或排错
- PUT: 指出要把包含的消息体放在请求的URL上
- DELETE: 指出删除请求URL上的一个东西(资源or文件)
- OPTIONS:要求得到一个HTTP方法列表,所请求URL上的东西可以对这些HTTP方法做出相应
- CONNECT: 要求连接以建立隧道
GET vs POST
- GET请求参数在URL上,有大小限制,而POST请求参数在消息体中,参数可以传的比较多
- POST相比GET比较安全,
- GET用于得到某个资源,而POST用于发送数据来进行处理
- GET 是幂等的, 而POST不是
j2ee爬坑行之二 servlet的更多相关文章
- j2ee爬坑行之一:web容器
什么是容器? servlet没用main方法,它们受控于另一个java应用程序,这个应用程序就称为容器. tomcat就是这样一个容器.当web服务器得到一个指向某servlet的请求,此时服务器不是 ...
- Vue 爬坑之路(十二)—— vue-cli 3.x 搭建项目
Vue Cli 3 官方文档:https://cli.vuejs.org/zh/guide/ 一.安装 @vue/cli 更新到 3.x 之后,vue-cli 的包名从 vue-cli 改成了 @vu ...
- AngularJs (二) 搭建Deployd 服务爬坑
Deployd 爬坑 按照书上的教程,介绍Deployd 这个东东,首先进入其deployd.com/网页,发现这个东东着实厉害. THE SIMPLEST WAY TO BUILD AN API 按 ...
- Vue 爬坑之路(一)—— 使用 vue-cli 搭建项目
vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目,GitHub地址是:https://github.com/vuejs/vue-cli vue ...
- mybatis-generator 详细配置及使用,爬坑记录
mybatis-generator 详细配置及使用,爬坑记录 提示:如果不成功一定是项目路径和 数据库配置出问题,本篇基于 MySQL 8.0.13,调试没有问题. 如果失败,建议使用相同的项目结构, ...
- 【饿了么】—— Vue2.0高仿饿了么核心模块&移动端Web App项目爬坑(三)
前言:接着上一篇项目总结,这一篇是学习过程记录的最后一篇,这里会梳理:评论组件.商家组件.优化.打包.相关资料链接.项目github地址:https://github.com/66Web/ljq_el ...
- VueRouter爬坑第四篇-命名路由、编程式导航
VueRouter系列的文章示例编写时,项目是使用vue-cli脚手架搭建. 项目搭建的步骤和项目目录专门写了一篇文章:点击这里进行传送 后续VueRouter系列的文章的示例编写均基于该项目环境. ...
- 安卓易学,爬坑不易——腾讯老司机的RecyclerView局部刷新爬坑之路
针对手游的性能优化,腾讯WeTest平台的Cube工具提供了基本所有相关指标的检测,为手游进行最高效和准确的测试服务,不断改善玩家的体验.目前功能还在免费开放中. 点击地址:http://wetest ...
- Android爬坑之路
做了那么久前端,现在终于可以回到我的老本行, 今天我用了一天的时间配置里Android开发环境,mac和windows双平台,eclipse和IDEA双平台,别问为什么,我就喜欢,中间大坑不断,再加上 ...
随机推荐
- 005_MyEclipse编码设置
方法一: 1.打开MyEclipse,windows---->Preferences打开"首选项"对话框. 2.左侧导航,导航中找到general---->Worksp ...
- java多态---ABC案列
class A{ public void show(){ show2(); } public void show2(){ System.out.println("我"); } } ...
- 2015 UESTC Winter Training #10【Northeastern Europe 2009】
2015 UESTC Winter Training #10 Northeastern Europe 2009 最近集训都不在状态啊,嘛,上午一直在练车,比赛时也是刚吃过午饭,状态不好也难免,下次比赛 ...
- Day10 - Python协程、异步IO、redis缓存、rabbitMQ队列
Python之路,Day9 - 异步IO\数据库\队列\缓存 本节内容 Gevent协程 Select\Poll\Epoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitM ...
- css样式float造成的浮动“塌陷”问题的解决办法
什么是CSS Float? 定义: float 属性定义元素浮动到左侧或右侧.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动.浮动元素会生成一个块级元素,而不论 ...
- AIDL跨进程通信
Android跨进程通信会用到AIDL,当然跨进程通信不一定要用AIDL,像广播也是可以的,当然这里用到AIDL相对比较安全一些: AIDL允许传递基本数据类型(Java 的原生类型如int/long ...
- HTML之Data URL(转)
Data URL给了我们一种很巧妙的将图片“嵌入”到HTML中的方法.跟传统的用img标记将服务器上的图片引用到页面中的方式不一样,在Data URL协议中,图片被转换成base64编码的字符串形式, ...
- 新手对css的浅识
对于css的一个初步理解与认识 在最近的学习中接触到了之前自己从来都不曾想过的语言,C语言,html超文本标记语言等等,还有今天在这里我要进行分析的css,之前浏览过很多的网页,也曾想过这里面的秘密, ...
- ubuntu系统mysql.h no such file or directory
在Ubuntu系统中,你已经安装了mysql,即你使用sudo apt-get install mysql-server mysql-client然而使用C语言访问mysql数据库时,却发现出现了如下 ...
- ios--UIButton简单使用
//这里创建一个圆角矩形的按钮 UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; /* 注:能 ...