JavaEE学习04--request&response
来源:互联网 发布:mac 断点续传工具 编辑:程序博客网 时间:2024/05/22 00:08
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--request&response
- javaEE之request&response
- javaee学习之路(五)request response编程实例
- JavaEE:response响应和request请求
- JavaEE:response响应和request请求
- JavaEE学习总结-request
- request和response学习
- request/response学习笔记
- 传智播客168期JavaEE就业班(第十天 request response)
- javaee之request和response的详细练习
- javaee中request与response分不清以及请求转发
- 04Request、Response
- JavaEE--Response
- Tomcat学习之Request/Response封装
- FiddlerScript学习一:修改Request或Response
- request和response的学习总结
- day08-request&responseのPPT学习
- Tomcat学习之Request/Response封装
- PyTorch快速搭建神经网络及其保存提取方法
- 百度账号登陆
- R 调用 python
- python 调用 R,使用rpy2
- 基于spring 的ssi-uploader的多图片上传
- JavaEE学习04--request&response
- android 控制状态栏显示和隐藏的方法
- python 编写简单的setup.py
- 结构体联合体
- 打招呼
- 常用sql语句整理
- 基于python的知乎开源爬虫 zhihu
- 浅谈多线程中的懒汉式单例
- MYSQL基础语法