response:
操作响应行
状态码
常用方法:
setStatus(int code) 针对的1xx 2xx 3xx
操作响应头:
setHeader(String key,String value):设置
addHeader(String key,String value):添加
常用的响应头:
location:重定向:
response.sendRedirect(“跳转路径”);
refresh:定时刷新
response.setHeader(“refresh”,“秒数;url=路径”);//java
meta标签//html代码
content-type:设置文件的mimeType,及设置响应流的编码并且通知浏览器用什么编码打开
response.setContentType(“text/html;charset=utf-8”);
content-disposition:设置文件下载
response.setHeader(“content-disposition”,“attachment;filename=”+文件名称);
操作响应体
getWriter():
getOutputStream():
注意:俩流互斥,服务器帮我们关闭此流
响应的中文乱码:
response.setContentType(“text/html;charset=utf-8”);
request:请求 获取浏览器发送过来的数据
操作请求行
getMethod():请求方式
getContextPath():获取项目名称
getRemoteAddr():获取请求的ip地址
操作请求头
String getHeader(String key)
常见的头信息:
user-agent:获取浏览器内核
referer:页面从那里跳转过来的
操作请求参数
String getParameter(String key):
String[] getParameterValues(String key):
Map<String ,String[]> getParameterMap();
请求的中文乱码:
对于get请求:参数追加到地址栏,会使用utf-8编码,服务器(tomcat7)接受到请求之后,使用iso-8859-1解码,所以会出现乱码
对于post请求,参数是放在请求体中,服务器获取请求体的时候使用iso-8859-1解码,也会出现乱码
通用的方法:
new String(参数.getBytes(“iso-8859-1”),“utf-8”);
针对于post请求来说:只需要将请求流的编码设置成utf-8即可
request.setCharacterEncoding(“utf-8”);
域对象:request
请求转发:
request.getRequestDispatcher(“内部路径”).forward(request,response);
request生命周期:
一次请求
请求方式:get和post
get会把参数放在url的后面 post不会
get参数大小有限制,post请求却没有限制
get请求没有请求体;post请求有请求体 请求参数放在状态中
定时刷新:
方案1:设置头 refresh
respooen.setHeader(“refresh”,“秒数;url=跳转的路径”);
方案2:http的meta标签
重定向:可以选择别的服务器端程序来处理请求,把请求重定向到一个完全不同的URL上。