HttpServletResponse,HttpServletRequest详解 - 无言帝君

wuyandijun 2021-08-07 原文


HttpServletResponse,HttpServletRequest详解

1、相关的接口

 

HttpServletRequest

HttpServletRequest接口最常用的方法就是获得请求中的参数,这些参数一般是客户端表单中的数据。同时,HttpServletRequest接口可以获取由客户端传送的名称,也可以获取产生请求并且接收请求的服务器端主机名及IP地址,还可以获取客户端正在使用的通信协议等信息。下表是接口HttpServletRequest的常用方法。

说明:HttpServletRequest接口提供了很多的方法。

接口HttpServletRequest的常用方法

    法

    明

getAttributeNames()

返回当前请求的所有属性的名字集合

getAttribute(String name)

返回name指定的属性值

getCookies()

返回客户端发送的Cookie

getsession()

返回和客户端相关的session,如果没有给客户端分配session,则返回null

getsession(boolean create)

返回和客户端相关的session,如果没有给客户端分配session,则创建一个session并返回

getParameter(String name)

获取请求中的参数,该参数是由name指定的

getParameterValues(String name)

返回请求中的参数值,该参数值是由name指定的

getCharacterEncoding()

返回请求的字符编码方式

getContentLength()

返回请求体的有效长度

getInputStream()

获取请求的输入流中的数据

getMethod()

获取发送请求的方式,如get、post

getParameterNames()

获取请求中所有参数的名字

getProtocol()

获取请求所使用的协议名称

getReader()

获取请求体的数据流

getRemoteAddr()

获取客户端的IP地址

getRemoteHost()

获取客户端的名字

getServerName()

返回接受请求的服务器的名字

getServerPath()

获取请求的文件的路径

 

HttpServletResponse

在Servlet中,当服务器响应客户端的一个请求时,就要用到HttpServletResponse接口。设置响应的类型可以使用setContentType()方法。发送字符数据,可以使用getWriter()返回一个对象。下表是接口HttpServletResponse的常用方法。

接口HttpServletResponse的常用方法

       方    法

    明

addCookie(Cookie cookie)

将指定的Cookie加入到当前的响应中

addHeader(String name,String value)

将指定的名字和值加入到响应的头信息中

containsHeader(String name)

返回一个布尔值,判断响应的头部是否被设置

encodeURL(String url)

编码指定的URL

sendError(int sc)

使用指定状态码发送一个错误到客户端

sendRedirect(String location)

发送一个临时的响应到客户端

setDateHeader(String name,long date)

将给出的名字和日期设置响应的头部

setHeader(String name,String value)

将给出的名字和值设置响应的头部

setStatus(int sc)

给当前响应设置状态码

setContentType(String ContentType)

设置响应的MIME类型

2、一些区别细节

一、ServletRequest
 
代表一个HTTP请求,请求在内存中是一个对象,这个对象是一个容器,可以存放请求参数和属性。
 
1、请求对象何时被创建,当通过URL访问一个JSP或者Servlet的时候,也就是当调用Servlet的service()、doPut()、doPost()、doXxx()方法时候的时候,执行Servlet的web服服务器就自动创建一个ServletRequest和ServletResponse的对象,传递给服务方法作为参数。
 
2、请求对象由Servlet容器自动产生,这个对象中自动封装了请求中get和post方式提交的参数,以及请求容器中的属性值,还有http头等等。当Servlet或者JSP得到这个请求对象的时候,就知道这个请求时从哪里发出的,请求什么资源,带什么参数等等。
 
3、ServletRequest的层次结构
javax.servlet.ServletRequest 
  javax.servlet.http.HttpServletRequest
 
4、通过请求对象,可以获得Session对象和客户端的Cookie。
 
5、请求需要指定URL,浏览器根据URL生成HTTP请求并发送给服务器,请求的URL有一定的规范:
二、ServletResponse
 
也是由容器自动创建的,代表Servlet对客户端请求的响应,响应的内容一般是HTML,而HTML仅仅是响应内容的一部分。请求中如果还包含其他资源会依次获取,如页面中含有图片,会进行第二个http请求用来获得图片内容。
相应对象有以下功能:
1、向客户端写入Cookie
2、重写URL
3、获取输出流对象,向客户端写入文本或者二进制数据
4、设置响应客户端浏览器的字符编码类型
5、设置客户端浏览器的MIME类型。
发表于
2018-03-07 14:29 
无言帝君 
阅读(198
评论(0
编辑 
收藏 
举报

 

版权声明:本文为wuyandijun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wuyandijun/p/8522183.html

HttpServletResponse,HttpServletRequest详解 - 无言帝君的更多相关文章

  1. 使用Aspose.Words组件给word加水印 – itjeff

    使用Aspose.Words组件给word加水印 使用Aspose.Words组件给word加水印 1 2 3 […]...

  2. 从零开始一起学习SLAM | 为啥需要李群与李代数? – 计算机视觉life

    从零开始一起学习SLAM | 为啥需要李群与李代数? 2018-12-04 17:08  计算机视觉life  […]...

  3. sqlmap注入工具—-一次简单的注入(实战) – Doheart

    sqlmap注入工具—-一次简单的注入(实战) 最近在学习网络安全,挖洞避免不了要使用许多工具,使 […]...

  4. php支付宝接口 的使用 – 小白兔晒黑了

    php支付宝接口 的使用 下载地址(java/php都有) https://doc.open.alipay.c […]...

  5. 全面理解UE4委托 – 可可西

    全面理解UE4委托 UE4中的delegate(委托)常用于解耦不同对象之间的关联:委托的触发者不与监听者有直 […]...

  6. 各个平台各种行业的数据可视化分析工具汇总 – Hi,王松柏

    各个平台各种行业的数据可视化分析工具汇总 导读:俗话说“巧妇难为无米之炊”。数据时代,没有一款好的数据可视化分 […]...

  7. 【设计】视觉设计作品总结 – colipso

    【设计】视觉设计作品总结 https://www.ui.cn/detail/458670.html https […]...

  8. vue项目实现表格导出excel表格 – 菜鸟的编程VLOG

    vue项目实现表格导出excel表格 第一:安装依赖 npm install -S file-saver xl […]...

随机推荐

  1. API查阅工具

    离线API查阅工具 1.Dash 只支持mac和iPhone,使用体验我就不知道了,因为目前还没有用过mac, […]...

  2. WPF界面设计风格资源库

    一、 Google Material Design 风格 WinForm: https://github.co […]...

  3. 【Python】直接赋值,深拷贝和浅拷贝

    直接赋值: 对象的引用,也就是给对象起别名 浅拷贝: 拷贝父对象,但是不会拷贝对象的内部的子对象。 深拷贝: […]...

  4. 论共地的重要性

    这几天入手了好几款小电机,在驱动的过程中,遇到了一个问题,你用手碰电机驱动,或者任意一个与这个系统电路有关的导 […]...

  5. MAC 上手的10个技巧

    最近苹果新推出的一款 Retina 屏 MacBook Pro 引起不少用户讨论,本次升级的重头戏是15寸视网 […]...

  6. 【Collect】免费图片库网站推荐(国外高清可商用)

    #国外高清可商用免费图片库 1、https://unsplash.com/2、https://pixabay. […]...

  7. Spring Data REST不完全指南(三)

    上一篇我们介绍了使用Spring Data REST时的一些高级特性,以及使用代码演示了如何使用这些高级的特性 […]...

  8. C# 远程网络唤醒介绍及代码

      一.定义   网络唤醒:唤醒休眠状态下的计算机,而不是已关机的计算机。   优势:可通过定时功能实现自动唤 […]...

展开目录

目录导航