Servlet API 详解(HttpServlet、HttpServletRequest、HttpServletResponse)
系列文章目录
Servlet 的运行原理_crazy_xieyi的博客-CSDN博客
如何创建一个Servlet项目(Maven)?_crazy_xieyi的博客-CSDN博客
Tomcat下载、安装及使用介绍_crazy_xieyi的博客-CSDN博客
文章目录
- 一、HttpServlet
- 二、HttpServletRequest
- 三、HttpServletResponse
一、HttpServlet
我们写 Servlet 代码的时候, 首先第一步就是先创建类, 继承自 HttpServlet, 并重写其中的某些方法。
方法名称 | 调用时机 |
init
|
在 HttpServlet 实例化之后被调用一次
|
destory
|
在 HttpServlet 实例不再使用的时候调用一次
|
service
|
收到 HTTP 请求的时候调用
|
doGet
|
收到 GET 请求的时候调用(由 service 方法调用)
|
doPost
|
收到 POST 请求的时候调用(由 service 方法调用)
|
doPut/doDelete/doOptions/...
|
收到其他请求的时候调用(由 service 方法调用)
|
我们实际开发的时候主要重写 doXXX 方法, 很少会重写 init / destory / service 。注意: HttpServlet 的实例只是在程序启动时创建一次. 而不是每次收到 HTTP 请求都重新创建实例。
那么Servlet的生命周期是多少呢?
Servlet在实例化之后调用一次 init 方法;Servlet在每次收到请求的时候调用一次service;Servlet在销毁之前调用一次destory。
二、HttpServletRequest
方法 | 描述 |
String getProtocol()
|
返回请求协议的名称和版本
|
String getMethod()
|
返回请求的 HTTP 方法的名称,例如,GET、POST 或 PUT
|
String getRequestURI()
|
从协议名称直到 HTTP 请求的第一行的查询字符串中,返回该请求的 URL 的一部分
|
String getContextPath()
|
返回指示请求上下文的请求 URI 部分
|
String getQueryString()
|
返回包含在路径后的请求 URL 中的查询字符串
|
Enumeration
getParameterNames()
|
返回一个 String 对象的枚举,包含在该请求中包含的参数的名称
|
String getParameter(String
name)
|
以字符串形式返回请求参数的值,或者如果参数不存在则返回 null
|
String[]
getParameterValues(String
name)
|
返回一个字符串对象的数组,包含所有给定的请求参数的值, 如果参数不存在则返回 null
|
Enumeration
getHeaderNames()
|
返回一个枚举,包含在该请求中包含的所有的头名
|
String getHeader(String
name)
|
以字符串形式返回指定的请求头的值
|
String
getCharacterEncoding()
|
返回请求主体中使用的字符编码的名称
|
String getContentType()
|
返回请求主体的 MIME 类型,如果不知道类型则返回 null
|
int getContentLength()
|
以字节为单位返回请求主体的长度,并提供输入流,或者如果 长度未知则返回 -1。
|
InputStream
getInputStream()
|
用于读取请求的 body 内容. 返回一个 InputStream 对象
|
三、HttpServletResponse
方法 | 描述 |
void setStatus(int sc)
|
为该响应设置状态码
|
void setHeader(String name,
String value)
|
设置一个带有给定的名称和值的 header. 如果 name 已经存在, 则覆盖旧的值
|
void addHeader(String
name, String value)
|
添加一个带有给定的名称和值的 header. 如果 name 已经存在, 不覆盖旧的值, 并列添加新的键值对
|
void setContentType(String
type)
|
设置被发送到客户端的响应的内容类型
|
void
setCharacterEncoding(String
charset)
|
设置被发送到客户端的响应的字符编码(MIME 字符集)例如,UTF-8
|
void sendRedirect(String
location)
|
使用指定的重定向位置 URL 发送临时重定向响应到客户端
|
PrintWriter getWriter()
|
用于往 body 中写入文本格式数据
|
OutputStream
getOutputStream()
|
用于往 body 中写入二进制格式数据
|
Servlet API 详解(HttpServlet、HttpServletRequest、HttpServletResponse)相关推荐
- ServletFileUpload API详解
ServletFileUpload1.ServletFileUpload upload=new ServletFileUpload(factory);创建一个上传工具,指定使用缓存区与临时文件存储位置 ...
- DiskFileItemFactory API详解
核心API介绍1.DiskFileItemFactory作用:可以设置缓存大小以及临时文件保存位置. 默认缓存大小是 10240(10k).临时文件默认存储在系统的临时文件目录下.(可以在环境变量中查 ...
- Java Servlet关键点详解
Java Servlet关键点详解 1.理解Servlet的生命周期 Servlet引擎控制着Servlet的生命周期 Servlet的生命周期由以下三个方法进行描述(五个生命周期阶段) 1)初始化 ...
- 百度PaddleOCR及云平台OCR API详解及示例
百度PaddleOCR及云平台OCR API详解及示例 目录 百度PaddleOCR及云平台OCR API详解及示例 使用百度开源的PaddleOCR 多个开源代码库比较
- Java 8 Stream API详解--转
原文地址:http://blog.csdn.net/chszs/article/details/47038607 Java 8 Stream API详解 一.Stream API介绍 Java 8引入 ...
- 【小白学PyTorch】扩展之Tensorflow2.0 | 21 Keras的API详解(下)池化、Normalization
<<小白学PyTorch>> 扩展之Tensorflow2.0 | 21 Keras的API详解(上)卷积.激活.初始化.正则 扩展之Tensorflow2.0 | 20 TF ...
- Android复习14【高级编程:推荐网址、抠图片上的某一角下来、Bitmap引起的OOM问题、三个绘图工具类详解、画线条、Canvas API详解(平移、旋转、缩放、倾斜)、矩阵详解】
目 录 推荐网址 抠图片上的某一角下来 8.2.2 Bitmap引起的OOM问题 8.3.1 三个绘图工具类详解 画线条 8.3.16 Canvas API详解(Part 1) 1.transla ...
- EXT核心API详解(二)-Array/Date/Function/Number/String
EXT核心API详解(二)-Array/Date/Function/Number/String Array类 indexOf( Object o ) Number object是否在数组中,找不到返 ...
- java nio详解,Java NIO API详解
Java NIO API详解 在JDK 1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API.对于大多数应用来说,这样的API使用很方 便,然而,一些对 ...
最新文章
- delphi项目文件说明
- loadrunner 分用户日志
- 关于错误error C4430 error C2365 error C2078 error C2440 error C2143的处理。
- java整数的因式分解_如何在Java中找到整数的质数-因式分解
- SpringBoot集成Google开源图片处理框架,贼好用!
- js 指定滚动条位置
- 软件系统性能优化策略--SQL优化
- Python-JS (JS介绍~JS的基础数据类型)
- css入门自学笔记1
- WEB前端开发规范文档+CSS命名规范
- 树链剖分+线段树 CF 593D Happy Tree Party(快乐树聚会)
- M-TOUCH移动端社区论坛类型的网站源码
- win 10 好吗?对比与ubuntu,对比于Mac呢?
- 【AI视野·今日CV 计算机视觉论文速览 第220期】Wed, 16 Jun 2021
- mysql如何查看bufferpool_查看Buffer Pool使用情况--[转]
- leaflet 在移动端地图显示不清晰的解决方法
- 微信QQ的二维码登录原理js代码解析
- 环境变量配置步骤(误删除找回方法)
- av_register_all
- 来自雪域高原的馈赠——海拔2000米的大凉山高原生态糖心苹果