您的当前位置:首页java学习之路-HttpServletResquest与Htt

java学习之路-HttpServletResquest与Htt

2024-12-13 来源:哗拓教育
java.png

HTTP协议
一、HttpServletResponse
响应行
响应头
//不使用缓存
response.setHeader(“”);
//刷新
response.setHeader(“refresh”,”3;url=….”);
//下载文件
//通过路径得到一个输入流
String path = this.getServletContext().getRealPath("/WEB-INF/classes/欣欣.JPG");
FileInputStream File = new FileInputStream(path);
//创建字节输出流
ServletOutputStream sos = response.getOutputStream();
//得到要下载的文件名
String fileName = path.substring(path.lastIndexOf("\")+1);
//设置文件名的编码
fileName = URLEncoder.encode(fileName, "UTF-8");
//告知客户端要下载文件
response.setHeader("content-disposition", "attachment;fileName-"+fileName);
response.setHeader("content-type", "image/jpeg");
//执行输出操作
int len = 1;
byte[] b = new byte[1024];
while ((len=File.read(b))!=-1){
sos.write(b,0,len);
}
File.close();
响应正文
response.setCharacterEncoding(“UTF-8”);//告诉服务器编码格式
response.setHeader(“content-type”,”text/html;charset=UTF-8”);//告诉客户端编码格式
***response.setContentType(“text/html;charset=UTF-8”);//重点
输出
getWriter().write(“您好”);//字符流
getOutputStream(“您好”.getBytes());//字节流
重定向
response.sendRedirect(request.getContextPath+path);
setStatus(int);

二、HttpServletRequest
请求行
getMethod() //请求方式
getRequestURL();//获取请求全路径
getRequestURI();//获取项目名称下的资源路径
****getContextPath();//得到项目名称
getQueryString();//
请求信息头
getHeader(name);
getHeaderName();
getHeaders();
请求正文
获取表单数据
getParameter(“userName”);
getParameterValues(name);
getParameterNames();
getParameterMap();
getInputStream();
非表单数据
setAttribute(String name,Object value);
Object getAttribute(name);
removeAttribute(name);
页面—》servlet1—》servlet2
转发
getRequestDispatcher(path).forward(request,response);
包含
getRequestDispatcher(path).include(request,response);
解决post方式乱码
request.setCharacterEncoding(“UTF-8”);//只能解决post方式的乱码
解决get方式乱码
new String(name.getByte(“iso-8859-1”),”UTF-8”);

显示全文