Response对象

Response对象简述

Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应。Response对象只提供了一个数据集合cookie,它用于在客户端写入cookie值。若指定的cookie不存在,则创建它。若存在,则将自动进行更新。结果返回给客户端浏览器。

HttpServletResponse对象中的方法

响应首行  协议/版本号  状态码  状态码描述

添加状态码和 描述

voidsetStatus(int sc)                        只设置状态码

voidsetStatus(int sc, String sm)       设置状态码和描述

voidsendError(int sc)                        只设置状态码,错误的

void sendError(int sc, String msg)      设置状态码和描述

响应头

添加响应头

voidsetHeader(String name, String value) 设置响应头,如果key一样会覆盖

setIntHeader(Stringname, int value)

setDateHeader(Stringname, long date)

voidaddHeader(String name, String value) 设置响应头,无论如何都新增.

voidaddIntHeader(String name, int value)

voidaddDateHeader(String name, long date)

响应空行

响应正文

getOutputStream        发送字节流

getWriter                    发送字符流

Request对象

Request对象简述

request对象是从客户端向服务器发出的请求,里面包含了用户提交的信息以及客户端的一些信息。客户端可通过HTML表单或在网页地址后面提供参数的方法提交数据,服务器通过request对象的相关方法来获取这些数据。request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项。

Request对象解决编码问题

获得表单提交的参数

GET请求

http://localhost:8080/Day08-request/AServlet?name=tom&age=18

乱码:只要确保编码和解码一致,就绝对没有问题.

1.浏览器负责编码.浏览器使用的码表就是表单所在页面的码表.

2.服务器负责解码.服务器默认使用ISO-8859-1解码.如下配置的URIEncoding来决定解码码表

<Connectorport="8080" protocol="HTTP/1.1"  URIEncoding="UTF-8" connectionTimeout="20000" redirectPort="8443" />

如上配置会影响整个服务器不推荐.

我们使用如下代码解决:

//获得参数

Stringname = request.getParameter("name");

//因为服务器使用了错误的码表,那么我们按照错误的码表原路返回

byte[]nameByte = name.getBytes("ISO-8859-1");

//用正确的码表重新解码

StringnewName = new String(nameByte,"UTF-8");

System.out.println("解决之后的:"+newName);

POST请求

因为Post解码是在第一次调用getParameter之前,那么解决乱码只需要在调用该方法之前设置编码:

request.setCharacterEncoding("UTF-8");

Stringname = request.getParameter("name");

System.out.println(name);

Request的请求转发和包含功能

转发:

含义:

一个Servlet处理完毕交给下面的servlet(JSP)继续处理.

作用:

开发中经常由Servlet处理数据,处理完交给JSP负责显示

注意问题:

1.servlet中不要做输出正文的动作,没有结果

2.如果放到前面会出现乱码.

3.但是响应头是可以设置的.

包含:

含义:

两个servlet(jsp)共同向浏览器输出内容.

作用:

在现实开发中,多个页面含有相同的内容,我们把相同的内容抽取到一个jsp中,在需要显示这个段内容的jsp中,包含抽取的jsp.可以达到统一管理相同的内容的目的.

Request域的应用

原理: 在request对象中含有一个map.这个map就是request域.

作用: 在将来开发中. 使用请求转发时,servlet处理完数据, 处理结果要交给jsp显示. 可以使用request域将处理结果由servlet带给jsp进行和显示有关的处理.

操作:

1.setAttribute  存入一个键值对

2.getAttribute  通过键取出值

3.getAttributeNames获得域中所有键

4.removeAttribute跟据键移除一个键值对

Request的范围:

一个request对象对应一个request域(map).

系统当前有多少个request就有多少request域.

JavaEE学习04--requestresponse相关推荐

  1. JVM学习04:类的文件结构

    JVM学习04:类的文件结构 写在前面:本系列分享主要参考资料是  周志明老师的<深入理解Java虚拟机>第二版. 类的文件结构知识要点Xmind梳理 转载于:https://www.cn ...

  2. JQuery学习04篇(层次选择器)

    直接po图和代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  3. Linux+javaEE学习笔记之Linux网络环境配置

    Linux+javaEE学习笔记之Linux网络环境配置 网络知识简单介绍: Ip地址是:IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物 ...

  4. JavaEE学习笔记整理

    目录 1:明白什么是JavaEE 2:JavaEE的主要技术 (1)JDBC (2)JavaBeans (3)JSP (4)Servlet 3:JavaEE框架 (1)MVC框架 (2)SSM Jav ...

  5. JavaEE学习日志(七十三): 黑马商城项目(六)

    JavaEE学习日志持续更新----> 必看!JavaEE学习路线(文章总汇) JavaEE学习日志(七十三) 黑马商城项目(六) 今天任务 在线支付 准备工作 前端 OrdersDao Ord ...

  6. JavaEE学习之jsp编写登陆注册页面

    JavaEE学习之jsp编写登陆注册页面 刚开始学习javaee,好多东西需要一点点积累.最近用jsp和简单的JavaScript写的登录注册界面,简单做一下记录. 准备–页面布局 登录和注册界面的H ...

  7. sklearn学习04——DecisionTree

    sklearn学习04--DecisionTree 前言 一.决策树原理 1.1.算法基本流程 1.2.最优划分属性的选择 二.sklearn代码实践 2.1.引入库 2.2.查看数据集信息 2.3. ...

  8. javaEE学习_1

    javaEE学习第一天 1. 计算机的用途: 1) 科学计算:货币的换算,程序员(进制的转换)... 2) 计算机辅助设计:CAD制图 3) 自动控制 4) 媒体应用 2. 计算机的组成: 计算机的硬 ...

  9. JavaEE学习日志(六十二): jQuery遍历,jQuery事件,省市联动,左右互选

    JavaEE学习日志持续更新----> 必看!JavaEE学习路线(文章总汇) JavaEE学习日志(六十二) jQuery jQuery遍历 传统遍历 jQuery对象遍历 jQuery全局函 ...

  10. JavaEE学习路线

    JavaEE学习路线 Java编程学习 编程基础:计算机和Java基本知识,再学习运算符.流程控制.字符串.数组.方法等 面向对象:面向对象编程,通过小案例学习类的概念.深入学习继承.多态.抽象类与接 ...

最新文章

  1. iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
  2. plsql programming 10 日期和时间戳
  3. Android图片轮播
  4. c语言判断一个月有多少天程序,【0320】C语言编写的小程序,算算自己已经活了多少天...
  5. 2020已去,2021未来
  6. 996页阿里Android面试真题解析火爆全网,全网首发!
  7. 安装java环境_(一)环境安装之Java
  8. mysql ef 一对多 更新数据库_Entity Framework_成功针对多种数据库使用实体框架(EF)...
  9. 互联网项目管理流程(SOP)总结
  10. GDAL C#中文路径,中文属性名称乱码问题
  11. java nekohtml,java – Spring Boot和Thymeleaf Neko HTML错误
  12. 2048和多地址入口_七天网站成绩查询官网登录入口地址:http://www.7net.cc/
  13. asc和desc全称_MySQL数据排序asc、desc
  14. STCMCU各系列里程碑的进化
  15. vue.js 菜鸟学习
  16. css黄金色渐变值,ps金色(ps金色渐变数值)
  17. echarts双柱_R+Echarts画双坐标轴折柱混合图
  18. Web应用十大安全漏洞
  19. class与subclass分析
  20. Android修行手册 - ConstraintLayout示例

热门文章

  1. sql 查询id 逗号拼接_sql查询列进行STUFF()拼接 单引号 逗号_xml path excel
  2. java如何比较两个对象_Java如何比较两个对象
  3. Openlayer:学习笔记之控件
  4. 增加window服务器,Windows Server2012入门-添加服务器角色和功能
  5. 看我如何解决tomcat控制台内容输出乱码的问题?
  6. 图像直方图及直方图均衡总结(一)经典方法(附matlab和opencv端算法实现)
  7. 前端复习笔记(二)——CSS
  8. 超快速的端到端实例分割模型,手把手教你用opencv部署Yolact
  9. 28篇论文、6 大主题带你一览 CVPR 2020 研究趋势
  10. LeetCode之二分查找