
JSP学习笔记——Request
Request 继承体系
Request 获取请求数据
请求数据分为3 部分
请求行:
String getMethod(): 获取请求方式: GET
String getContextPath(): 获取虚拟目录(项目访问路径)
•
String Buffer getRequestURL):获取URL(统一资源定位符):http://localhost::808O/request-demo/req1
•
String getRequestURI():获取URI(统一资源标识符):/request-demo/req1
•
String getQueryString():获取请求参数(GET方式):username=zhangsan&password=123
请求头:
- String getHeader(String name):根据请求头名称,获取值
请求体:
ServletInputStream getlnputStream():获取字节输入流
BufferedReader getReader(():获取字符输入流
Request 通用方式获取请求参数
请求参数获取方式:
GET 方式
String getQueryString()
POST 方式
BufferdReader getReader()
通用方式获取
请求转发
请求转发(forward):一种在服务区内部的资源跳转方式
实现方式:
req.getRequestDispatcher("资源B路径").forward(req, resp);
转发的特点:
请求转发资源间共享数据:使用Request对象
void setAttribute(String name,Object o):存储数据到request域中
Object getAttribute(String name):根据key,获取值
void removeAttribute(String name):根据key,删除该键值对
Respone 设置响应数据功能介绍
响应数据分为3部分:
响应行
void setStatus(int sc): 设置响应状态码
响应头
void setHeader(String name,String value):设置响应头键值对
3.
响应体
PrintWriter getWriter():获取字符输出流
ServletOutputStream getOutPutStream(): 获取字符输出流
Respone 重定向
重定向(Redirect):一种资源跳转方式
实现方式(第二个是简化):
重定向特点:
浏览器地址栏路径发生变化
可以重定向到任意位置的资源(服务器内部、外部均可)
两次请求,不能在多个资源使用request共享数据
Response 响应字符数据
使用:
通过Response对象获取字符输出流
PrintWriter writer = resp.getWriter();
写数据
writer.write("aaa");
注意:
该流不需要关闭,随着响应结束,response对象销毁,由服务区关闭
中文数据乱码:原因通过Response获取的字符输出流默认编码:ISO-8859-1
resp.setContentType("text/html;charset=utf-8");
Response 响应字节数据
使用
通过Response 对象获取字符输出流
ServletOutputStream outputStream = resp.getOutputStream();
写数据
outputStream.write(字节数据)
- 感谢你赐予我前进的力量