一、筆記
1.
2.請求參數亂碼問題
3.實現重定向的方式
二、擼代碼
- 獲取請求信息
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//獲取請求頭的所有信息
Enumeration<String> en = request.getHeaderNames();
while(en.hasMoreElements())
{
String name = en.nextElement();
String value = request.getHeader(name);
response.getWriter().print(name+": "+value+"<br/>");
}
/**
//1.獲取請求的方式
String method = request.getMethod();
System.out.println("請求方式爲:"+method);
//2.獲取請求的協議
String proto = request.getProtocol();
System.out.println("請求協議爲:"+proto);
//3.獲取項目路徑
String contextPath = request.getContextPath();
System.out.println("項目路徑爲"+contextPath);
//4.獲取servlet路徑
String servletPath = request.getServletPath();
System.out.println("servlet路徑爲:"+servletPath);
//5.獲取請求的路徑
String URI = request.getRequestURI();
String URL = request.getRequestURL().toString();
System.out.println("URI:"+URI);
System.out.println("URL:"+URL);
**/
}
- 防盜鏈案例
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
/**
* 做一個防盜鏈案例,根據request請求頭來做
*/
String referer = request.getHeader("Referer");
//獲取服務器的名稱
String serverName = request.getServerName();
response.setContentType("text/html;charset=UTF-8");
//判斷是否是本網站發起的下載請求
if(referer != null && referer.contains(serverName))
{
response.getWriter().print("download……………………"+serverName);
}
else
{
response.sendRedirect("/servletPractice/download.html");
}
}
- doGet請求亂碼
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
String number = req.getParameter("number");
String newN = new String(number.getBytes("ISO8859-1"),"utf-8");
resp.getWriter().print("number: "+newN);
}
- doPost請求亂碼
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
//請求亂碼問題
req.setCharacterEncoding("utf-8");
//響應中文亂碼問題
resp.setContentType("text/html;charset=utf-8");
String number = req.getParameter("number");
System.out.println(number);
resp.getWriter().print("number: "+number);
}
三、分享與交流
最後有興趣一起交流的,可以關注我的公衆號:這裏你能夠學到很實用的技巧,不是常用的我不說,公衆號回覆提取碼即可獲取以下學習資料啦啦啦啦,喜歡就拿去吧!!
(鏈接時常會失效,若出現此類情況,可以加我微信:17722328325(加時請備註:學習資料))
-
Java web從入門到精通電子書
-
Python機器學習電子書
-
Python400集(北京尚學堂)
-
JavaScript項目案例、經典面試題
-
Java300集(入門、精通)
-
Java後端培訓機構錄集(同事培訓內部提供)
-
java重要知識pdf文檔(價值連城呀呀,不收藏你會後悔的)