Request和Response常用方法
HttpServletRequest对象
获取请求行数据
获取客户端请求方式-----getMethod
String method = req.getMethod(); //GET
获取客户端的请求URL(不含url上的参数)-----getRequestURL
String url = req.getRequestURL().toString();//http://localhost:8080/demo1/request1
URL包含URI
String uri = req.getRequestURI(); // /demo1/request1
获取请求行中的url参数-----getParameter
根据key获取参数的value
String p = req.getParameter("k1");
获取客户端提交数据的协议及版本-----getProtocol
String protocol = req.getProtocol(); // HTTP/1.1
获取请求头数据
获取请求头中所有的key-----getHeaderNames
Enumeration<String> en = req.getHeaderNames();
while(en.hasMoreElements()){
String key = en.nextElement();
String value = req.getHeader(key);
}
根据请求头中的key获取对应的value-----getHeader
String value = req.getHeader(key);
获取请求正文
获取客户端请求输入流-----getInputStream
ServletInputStream sis = req.getInputStream();
BufferedReader br = BufferedReader(new InputStreamReader(InputStream));
//从输入流中读取请求正文
String s = br.readLine();
System.out.println(s);
HttpServletResponse对象
设置响应状态行
设置状态行中的状态码-----setStatus
resp.setStatus(200);
设置响应头
设置Content-Type属性-----setContentType
resp.setContentType("text/html");
设置其他的响应头属性-----setHeader
第一个参数是属性,第二个是value,
resp.setHeader("Connection","keep-alive");
设置响应正文
设置数据编码格式-----setCharacterEncoding
resp.setCharacterEncoding("utf-8");
通过response对象获取输出
- 字节流(响应文本数据)
ServletOutputStream sos = resp.getOutputStream();
- 字符流(响应文本数据是HTML文档)
PrintWriter out = resp.getWriter();