本帖最后由 小石姐姐 于 2017-12-20 11:53 编辑
Response
1. 通过response设置状态码:
setStatus(int status);
2. 通过response设置响应头:
setHeader(String name,String value);
setIntHeader(String name,int value)
setDateHeader(String name,long date);
3. 通过response设置响应体:
getOutputStream(),
getWriter();
这两种方法是互斥的
4. response的其他的API:
sendRedirect(String path); //转发
5.向前台响应文字
response.getWriter().println("文字内容");
6. response输出中文的乱码问题:
响应中文乱码处理:(只记住这句话)
response.setContenType("text/html;charset=UTF-8");
6.1 字节流输出中文:
* 设置浏览器的字符集编码. response.setHeader(“Content-Type”,”text/html;charset=UTF-8”);
* 设置输出内容的字节数组的字符集编码. “”.getBytes(“UTF-8”);
6.2 字符流输出中文:
* 设置浏览器字符集编码. response.setHeader(“Content-Type”,”text/html;charset=UTF-8”);
* 设置response的缓冲区的编码. response.setCharacterEncoding(“UTF-8”);
7. response完成了文件下载功能:
一种:超链接下载.直接将文件的路径写到超链接的href中.---前提:文件类型,浏览器不支持.
二种:手动编写代码的方式完成文件的下载.
设置两个头和一个流:
Content-Type :文件的MIME的类型.
Content-Disposition :以下载的形式打开文件.
InputStream :文件的输入流.
Request
1. 使用request获得客户机的信息.
getRemoteAddr()
getMethod(),
getRequestURI(),
getRequestURL()
2. 获得请求参数:
getParameter(),getParameterValues(),getParameterMap()
4. 作为域对象存取数据:
setAttribute(),getAttribute(),removeAttribute();
5. 接收参数的中文乱码的处理:
* GET请求 :new String(“”.getBytes(“ISO-8859-1”),”UTF-8”)
* POST请求 :request.setCharacterEncoding(“UTF-8”);
5. request何时创建和销毁的?(面试提问)
* 创建 :从客户端向服务器发送请求.那么服务器创建一个request对象.
* 销毁 :服务器为这次请求作出了响应之后,服务器就会销毁request对象.
* 作用范围 :一次请求.
6. 转发和重定向区别?(redirect和forward的区别)(面试提问)
* 转发是一次请求一次响应,重定向两次请求和两次响应.
* 转发地址栏不变,重定向会变化.
* 转发的路径不需要加工程名,重定向需要加工程名.
* 转发只能在本网站内部,重定向可以定向到任何网站.
|
|