HttpServletResponse和HttpServletRequest中的一些方法

2023-11-02

responce的一些方法

HttpServletResponse 简称Response 其父类型是 ServletResponse 

1. Response用于处理服务器到客户端的响应, 其内部有一个缓冲, 用来保存响应信息. 
2. ServletResponse 是父类型, 提供的方法没有 HttpServletResponse 多, 使用没有HttpServletResponse方便. 所以 HttpServletResponse 使用更多.
3. request提供的API用来处理向客户端发送的响应信息:
   1. res.setStatus(200) 设置状态码, 也就是设置状态行
   2. res.setContentType设置Content-Type响应头, 用来通知浏览器采用何种方式处理 响应Body.
   3. res.setContentLength 设置 Content-Length 响应头
   4. res.getOutputStream().write() 设置响应消息正文Body
   5. res.getPrintWriter() 获得设置了编码的输出流, 调用之前必须使用setContentType设置编码.
   6. res.setHeader() 设置自定义的响应头

resquest的一些方法

/由于getMethod方法是HttpServletRequest对象的方法
		//所以需要将ServletRequest对象强制转型才能调用
		HttpServletRequest req=
				(HttpServletRequest)request;
		//获取请求行中的请求方式(GET/POST) 
		String method=req.getMethod();
		//获取请求行中的 URI
		String uri = req.getRequestURI();
		//获取请求行中的HTTP版本
		String http = req.getProtocol();
		System.out.println(method+" "+uri+" "+http);

		

	//获取请求头中的信息	
	String host=req.getHeader("Host");
	String ua=req.getHeader("User-Agent");
	System.out.println(host);
	System.out.println(ua);
	//获取全部的请求头信息:
	//Enumeration 与 Iterator 功能相同 
	Enumeration<String> em=req.getHeaderNames();
	//em.hasMoreElements() 与 it.hasNext() 相同	
	//em.nextElement();    与 it.next() 相同
	while(em.hasMoreElements()) {
		String name=em.nextElement();
		System.out.println(
				name+":"+req.getHeader(name));
	}
	
	response.setContentType("text/html");
	response.getWriter().println("OK");

1. request 对象在Tomcat收到用户请求时候创建, 其内部封装的全部的用户浏览器请求信息. 
2. ServletRequest类型定义的方法少, 转换为HttpServletRequest方法更多, 使用更加方便. 
3. request对象提供了API方法, 利用这些方法可以读取用户浏览器请求的请求信息.
   1. req.getMethod() 读取请求行中的请求方式信息 GET/POST 等
   2. req.getRequestURI() 获取请求行中的 URI
   3. req.getProtocol() 获取请求行中的HTTP版本
   4. req.getHeader(请求头名) 获取请求头信息
   5. req.getHeaderNames() 获取全部的请求头名字


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HttpServletResponse和HttpServletRequest中的一些方法 的相关文章

随机推荐

  • 用 Github Codespaces 免费搭建本地开发测试环境

    如何丝滑地白嫖一个本地开发环境 怎么新建一个代码空间 1 通过Github网页新建 2 通过VSCode插件新建 为代码创建相应的开发测试环境 如何丝滑地白嫖一个本地开发环境 使用Codespaces为开发者解决这样的痛点 为项目设置和维护
  • 搞懂Mybatis逆向⼯程这一篇就够了

    Mybatis逆向 程配置与 成 使用基础版本 前置准备 项目结构 导入依赖 配置generatorConfig xml 数据库表 使用逆向工程 点击插件使用 双击之后效果 UserMapper xml的内容 UserMapper接口的内容
  • 西门子PLC各类通信协议差异对比

    西门子PLC有4大类 几十个型号类型 PLC不同所支持的通讯协议也不相同 S7 200系列支持的协议有 PPI MPI PROFIBUS 以太网 S7协议 AS INTERFACE USS MODBUS 自由口 S7 300 400系列支持
  • 人工智能在线特征系统中的数据存取技术

    主流互联网产品中 不论是经典的计算广告 搜索 推荐 还是垂直领域的路径规划 司机派单 物料智能设计 建立在人工智能技术之上的策略系统已经深入到了产品功能的方方面面 相应的 每一个策略系统都离不开大量的在线特征 来支撑模型算法或人工规则对请求
  • linux 文件句柄数查看命令

    当你的服务器在大并发达到极限时 就会报出 too many open files 查看线程占句柄数 ulimit a 输出如下 core file size blocks c 0 data seg size kbytes d unlimit
  • 微服务知识点整理

    1 Spring Cloud Netflix和Spring Cloud Alibaba包括哪些组件 Spring Cloud Netflix 主要由 Eureka Ribbon Feign Hystrix Zuul Gateway Conf
  • map的内存释放

    map在erase和clear后是否会马上释放内存 参考链接 关于c 中map的内存占用问题 原文 原文提到map在erase和clear后不会立马释放内存 而是采用类似内存池的机制 对申请的内存进行 预留 在一段时间内不使用才会予以 释放
  • AndroidUI-约束布局ConstrainLayout

    参考资料 约束布局ConstraintLayout看这一篇就够了 https www jianshu com p 17ec9bd6ca8a 约束布局ConstrainLayout 约束布局的出现主要是为了解决试图层级嵌套过多的情况 它可以在
  • Android 加解密类Cipher

    近日在做一个关于短信及文件加解密的小项目 查看了一些Android加解密方面的知识 关于加解密这部分以前完全没有接触过 所以网上乱翻了一天对于什么DES AES RSA BASE64 MD5之类的还是懵懵懂懂 这里也就不再来说它们的原理了
  • layui的穿梭框

    首先引入CSS样式和Jquery Layui插件 Html部分只有一个fieldast标签和一个设置了ID的div标签 Jq部分直接开启layui中的渲染 然后设置属性值 最主要的是elem属性 输入ID值对当前ID的div进行渲染 最后设
  • 42 最佳实践-性能最佳实践-halt-polling

    文章目录 42 最佳实践 性能最佳实践 halt polling 42 1 概述 42 2 操作指导 42 最佳实践 性能最佳实践 halt polling 42 1 概述 在计算资源充足的情况下 为使虚拟机获得接近物理机的性能 可以使用h
  • 使用Formail发送html格式的中文主题邮件,解决乱码问题等

    查了很多资料都没有很好的解决发送中文主题的html格式的邮件 要解决的乱码问题 经过摸索 最后终于搞定 且可使用shell脚本 实现多收件人发送相对比较简单 使用formail发送html格式的邮件 邮件正文内容为html的网页内容 支持更
  • docker平台中常用的镜像,容器,和数据卷操作指令

    docker平台中常用的镜像 容器 和数据卷操作指令 卸载Docker sudo yum remove docker ce docker ce client docker client latest docker common docker
  • 对于glm模型summary()输出的汇总结果

    对于glm模型summary 输出的汇总结果 如何解读是非常重要的 它直接影响得出的结论 例如下面这样一个输出结果 该如何理解呢 Call glm formula bl I family gaussian data anaData Devi
  • 想入门自学编程,应该怎么开始?

    自学编程学习方法永远都不是重点 学习方法 学习路线基本千篇一律 大同小异 每个人或多或少都能总结几条 但是自学者的心里建设谁去指导 如果一个人没有实践过的真实自学编程经历 自学的感受和经验是总结不出来的 私以为 感受和经验才是自学者关注的重
  • RTX3090(4090) 与pytorch版本对应关系

    在RTX 3090 上判断 当前版本的的torch版本是否可以用 一般需要通过如下方式 conda activate torch1 8 1 激活相关的虚拟环境 python 进入python 环境 import torch 导入torch
  • 二进制中1的个数(java)

    一 问题描述 输入一个整数 输出该数二进制表示中1的个数 其中负数用补码表示 二 算法分析 方案一 任何一个十进制整数在机器上存储的都是二进制形式 如果该数为整数 则存储的就是该数的二进制形式 如果该数为负数 则存储的就是该数的二进制补码形
  • 黑马程序员_Java基础视频-深入浅出精华版--视频列表

    day01 avi 01 01 计算机基础 计算机概述 avi day01 avi 01 02 计算机基础 计算机硬件和软件概述 avi day01 avi 01 03 计算机基础 软件开发和计算机语言概述 avi day01 avi 01
  • 迭代需求文档规范(模板)

    注意 此模板仅适用于迭代需求 不适合新的产品或大的需求 消费分期迭代需求 详细设计说明书 XX集团有限公司 2020年8月 声明 文档控制 更改记录 日期 修改人 版本 更改参考 8月18日 XXX V1 0 输出详细设计 审阅 姓名 职位
  • HttpServletResponse和HttpServletRequest中的一些方法

    responce的一些方法 HttpServletResponse 简称Response 其父类型是 ServletResponse 1 Response用于处理服务器到客户端的响应 其内部有一个缓冲 用来保存响应信息 2 ServletR