理解
当客户端通过http向服务端发起请求,每一次请求均会创建请求对象request存放客户端请求的信息,响应对象response存放响应的信息。
HttpServletRequest
获取客户端所有的请求信息,每一个请求包含(请求行,请求头,请求正文)。
获得请求行的方法
getRequestURL() 获取请求的完整URL
getMethod()获取Http请求方式(GET等)
getQueryString()获取带在URL中?后面的请求参数部分
getProtocol()获取请求协议与版本,如HTTP/1.1
等
获取请求头相关方法
每个请求包含多好个请求头,用于存放附加信息,由多个请求头构成
如请求头:
Content-Type: 表示文档的类型,servlet默认为text/plain,通常会设置为text/html
Cookie:存放客户端Cookie信息等
获取请求头的方法:
getHeader(string var)根据var获取对应请求头
Enumeration getHeaderNames() 获取所有请求头
获取请求参数相关方法
getParameter(String var)根据var获取请求参数
setAttribute("key", value) 设置新的键值参数
getAttribute(String key) 获取key对应的值
HttpServletResponse
输出文字至浏览器
@RestController
@RequestMapping("/test")
public class TestTextController {
@GetMapping("/get")
public void getText(HttpServletResponse response) throws IOException {
//数据源
String data = "你好世界";
//将数据源转为字节码数组 指定编码转换
byte[] dataBytes = data.getBytes("UTF-8");
//设置响应头中的编码为UTF-8,避免浏览器输出中文出现乱码
response.setHeader("content-type","text/html;charset=UTF-8");
//获取请求该接口后创建的response对象的输出流
OutputStream os = response.getOutputStream();
//将字节码写入输出流,通过流输出至客户端
os.write(dataBytes);
//刷新输出流,并强制输出缓冲的字节数据
os.flush();
//关闭输出流
os.close();
}
}
浏览器输出:你好世界
(后续补充)