服務器的響應

1.Response:響應。到瀏覽器
1.1 方法
//設置響應行
setStatus(int );
//設置響應頭
setHeader("","");
(302+)Location:重定向 | 要重定向的地址
定時跳轉:Refresh:  | 秒;url=地址
設置頁面編碼:Content-Type| text/html;charset=utf-8
下載:Content-Disposition | attachment;filename=文件名(帶後綴)
//設置響應體
1)getOutputStream().write();
2)getWriter().write();
1.2 ☆☆☆重定向 ——案例
1) setStatus(302);
  setHeader("Location","/Day08/login");
2) sendRedirect("/Day08/login"); —— /項目名/servleturl

1.3 ☆中文編碼解決(響應體)
1)getOutputStream().write();
setHeader("Content-Type","text/html;charset=utf-8");
getOutputStream().write("中文".getBytes("utf-8"));

2)getWriter().write();
//setCharacterEncoding("utf-8");
//setHeader("Content-Type","text/html;charset=utf-8");
setContentType("text/html;charset=utf-8");
getWriter().write();
1.4 文件下載(響應頭)
1)得到文件的全路徑
String path = getServletContext().getRealPath();
filename;
2)setHeader("Content-Disposition","attachment;filename=" + filename);
3)流對接
InputStream is;
OutputStream os = response.getOutputStream();

4)關閉流
1.5 驗證碼(瞭解,不解釋)
2.Request:請求。
2.1 方法
//獲取請求行
*getMethod();
*getRequestURI(); // /項目名/請求路徑
getProtocol(); //獲取http版本 1.1
//獲取請求頭
getHeader("");
//getHeader("User-Agent");
//獲取客戶機信息
getRemoteAddr();//獲取客戶機IP
*getRequestURL();//獲取請求全路徑
getQueryString() //查詢字符串(參數)


*getContextPath();//獲取項目名稱
2.2 ☆☆☆獲取表單提交數據
2.2.1 方法
*getParameter("") //參數是表單中name屬性的值
*getParameterValues("");//參數是表單中name屬性的值
getParameterMap();
getParameterNames();
2.2.2 提交數據中文解決方案
1)post提交
設置緩存區 request.setCharacterEncoding("utf-8");
2)get提交
-更改配置 conf/server.xml 8080 URIEncoding="utf-8"
-提交數據編碼EncodeURI(),後臺解碼 URLDecoder.decode(fileName, "utf-8");
-String構造 new String(str.getBytes("iso8895-1"),"utf-8");
2.2.3 ☆☆☆域對象(作用域)
*轉發
Demo1: setAttribute("demo1","1");
request.getRequestDispatcher("/demo2").forward(request,response);
Demo2: getAttribute("demo1");

ServletContext:和項目的生命共存亡
.☆☆☆重定向|轉發(面試)需要自己手動整理到博客
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章