java httpservlet包_java HttpServletRequest和HttpServletResponse详解-程序员宅基地

技术标签: java httpservlet包  

java HttpServletRequest和HttpServletResponse详解

发布于 2020-11-25|

复制链接

摘记: java  HttpServletRequest和HttpServletResponse详解最近由于CAS相关的JAR包的重新封装,所以想尽量做到0配置,而这个过程中大量使  用HttpServletRequest,现在整理如下,以便以后查阅。(表格为从别的地方复制的,排版渣了点,酬和看吧。 ..

java  HttpServletRequest和HttpServletResponse详解最近由于CAS相关的JAR包的重新封装,所以想尽量做到0配置,而这个过程中大量使  用HttpServletRequest,现在整理如下,以便以后查阅。(表格为从别的地方复制的,排版渣了点,酬和看吧。)请求与响应相关的类和接口非常多,下表是主要的与请求和接口相关的类以及接口。主要的与请求和接口相关的类及接口

方    法

说    明

ServletInputStream

Servlet的输入流

ServletOutputStream

Servlet的输出流

ServletRequest

代表Servlet请求的一个接口

ServletResponse

代表Servlet响应的一个接口

ServletRequestWrapper

该类实现ServletRequest接口

ServletResponseWrapper

该类实现ServletResponse接口

HttpServletRequest

继承了ServletRequest接口,表示HTTP请求

HttpServletResponse

继承了ServletResponse接口,表示HTTP请求

HttpServletRequestWrapper

HttpServletRequest的实现

HttpServletResponseWrapper

HttpServletResponse的实现

在上面给出的类和接口中,最主要的是HttpServletRequest和HttpServletResponse接口,下面将详细介绍这两个接口。1.HttpServletRequestHttpServletRequest接口最常用的方法就是获得请求中的参数,这些参数一般是客户端表单中的数据。同时,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()

获取请求的文件的路径

2.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类型

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30045055/article/details/115022138

智能推荐

nginx配合fastdfs使用-----python上传测试_fastdfs python 上传-程序员宅基地

文章浏览阅读176次。开始前需要先准备好fdfs的环境https://blog.csdn.net/weixin_44834666/article/details/105686059一、安装py3Fdfs包pip install py3Fdfs二、编辑py文件from fdfs_client.client import Fdfs_client, get_tracker_conf# 创建客户端 client...._fastdfs python 上传

plsql创建用户,创建表空间以及删除用户,删除表空间_plsql删除创建的用户-程序员宅基地

文章浏览阅读1.8k次,点赞2次,收藏5次。1.创建表空间create tablespace [表空间名:例如{newszgcp}]datafile [表空间所在地址:例如{'D:/StudySoft/OrServer/admin/orcl/newszgcp'}]size [表空间大小:100M ]autoextend on next [扩展:50M ] maxsize unlimited; 2.创建用户create..._plsql删除创建的用户

Java SE GUI编程_p.add(new textfield(10))含义-程序员宅基地

文章浏览阅读169次。GUI编程_p.add(new textfield(10))含义

Codeforces 1119B 贪心二分_codeforces - 1119b-程序员宅基地

文章浏览阅读191次。https://codeforces.com/contest/1119/problem/B不改变原数组的值,复制一份,要求1-k连续,则1-mid区间内判断子数组从大到小排序后,每两个相差不大,比较均匀 i+=2倒着的目的是前大后小 能装前一定能装后 尽量装更多的 累积高度和跳着累积高度和,如果<=h 可增加更多的瓶子,否则高度太多瓶子太多,减小瓶子数量const int maxn..._codeforces - 1119b

Vue+SpringBoot+Mybatis+Mysql前后端分离案例_vue3 + element+pringboot + mybatis + mysql导出功能的前后端-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏23次。Vue+SpringBoot+Mybatis+Mysql前后端分离案例(二)前端开发main.js代码如下import Vue from 'vue'import App from './App'import router from './router'import axios from 'axios'Vue.prototype.$http= axiosVue.config.prod..._vue3 + element+pringboot + mybatis + mysql导出功能的前后端代码

LTP与jieba词性标注对比_jieba ltp对比-程序员宅基地

文章浏览阅读2.5k次,点赞3次,收藏7次。词性标注对比¶LTP 使用的是863词性标注集,其各个词性含义如下表。TagDescriptionExampleTagDescriptionExampleaadjective美丽niorganization name保险公司bother noun-modifier大型, 西式nllocation noun城郊cconjunc..._jieba ltp对比

随便推点

马哥运维学习作业(九)-程序员宅基地

文章浏览阅读110次。1、详细描述一次加密通讯的过程,结合图示最佳。2、描述创建私有CA的过程,以及为客户端发来的证书请求进行办法证书。以下操作使用的2台服务器完成:服务器主机名IPCA服务器ca192.168.2.30httpd服务器httpd192.168.2.80在CA服务器上操作:创建所需要的文件[root@ca~]#cd/etc/pki/CA/#..._主进程负责生成n个子进程

iOS AFNetworking上传图片到服务器_afnetworking multipartfile-程序员宅基地

文章浏览阅读828次。AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManagermanager]; manager.requestSerializer = [AFHTTPRequestSerializerserializer]; manager.responseSerializer = [AFHTTP_afnetworking multipartfile

一个C语言程序是由( d)构成,自考“C语言程序设计”模拟试题八-程序员宅基地

文章浏览阅读562次。自考“C语言程序设计”模拟试题八一、选择题1.一个C语言程序是由( )构成。A.语句 B.行号 C.数据 D.函数2.下面标识符中正确的是( )。A.a#bc B.123ABC C.sime D.Y·M·D3.在C语言中,存储一个整型、字符型、双精度实型变量所需的字节数..._6*4/7 +7%3

C# PrintDocument 打印 和 打印预览_c# printdocument 打印html-程序员宅基地

文章浏览阅读2w次,点赞4次,收藏17次。.封装好的辅助类:[csharp] view plain copy print?using System; using System.Data; using System.Drawing; using System.Drawing.Printing; using System.Windows.Forms; _c# printdocument 打印html

国标GB28181协议EasyGBS视频平台启动程序时报“服务已存在”导致启动失败_gb28181device程序无法正常启动-程序员宅基地

文章浏览阅读112次。我们去年接了很多EasyGBS的项目现场,由于国标GB28181协议的特殊性,EasyGBS能够支持区域平台级联,构建三级平台级联模式,有效的解决资源共享问题,实现行政级别高等级的安防平台,可以查看下级单位的视频资源。最近有很多用户反馈现场在启动EasyGBS的时候,无法正常启动,我们以windows版本为例,启动界面如下:可以看到启动到这里就卡住了,没有继续运行。从打印的信息中看到“EasyGBS的服务已经存在”,所以我们需要到服务中看一下是否有这个服务,在命令窗口输入“service_gb28181device程序无法正常启动

64位Windows10系统安装.NET Framework 3.5_.net framework 3.5windows 10 x64位-程序员宅基地

文章浏览阅读469次。手动安装.NET Framework 3.5_.net framework 3.5windows 10 x64位