2022-10-29
處理請求與回應的介面
一、HttpServletRequest
(1)HttpServletRequest的含義:HttpServletRequest是一個介面,是ServletRequest介面的子介面,內部封裝了HTTP請求的相關資訊,
(2)HttpServletRequest的功能:
①獲得請求頭資訊
String header = request.getHeader("User-Agent");
System.out.println("header = " + header);
②獲得url的路徑資訊
//獲得背景關系路徑 String contextPath = request.getContextPath(); System.out.println("contextPath = " + contextPath); //獲得主機名 String serverName = request.getServerName(); System.out.println("serverName = " + serverName); //獲得埠號 int serverPort = request.getServerPort(); System.out.println("serverPort = " + serverPort);
③獲得請求引數
//獲得請求引數 String username = request.getParameter("username"); System.out.println("username = " + username); String password = request.getParameter("password"); System.out.println("password = " + password); String gender = request.getParameter("gender"); System.out.println("gender = " + gender); String[] hobbies = request.getParameterValues("hobby"); for (String hobby : hobbies) { System.out.println("hobby = " + hobby); } System.out.println("------------------"); //方式二 Map<String, String[]> parameterMap = request.getParameterMap(); Set<String> strings = parameterMap.keySet(); for (String string : strings) { System.out.println("key = " + string); String[] strings1 = parameterMap.get(string); for (String s : strings1) { System.out.println("value = "https://www.cnblogs.com/isDaHua/p/+ s); } }
④轉發(進行頁面跳轉的方式之一)并共享資料
轉發中有可能存在轉發到第一個servlet后,又將內容轉發到第二個servlet的操作,使用的步驟是:獲得轉發器物件,進行轉發的操作,
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("訪問到了hahaServlet..."); request.getRequestDispatcher("heihei").forward(request,response); }
說明:request.getRequestDispatcher("heihei").forward(request,response); 陳述句就是將訪問到第一個servlet(上述命名為“haha”)轉發給第二個servlet(為“heihei”)
2022-10-30
超鏈接中加入請求引數的方式:可以按照get請求一樣,拼接請求引數,如:
<a href="https://www.cnblogs.com/isDaHua/p/haha?username=abc&id=666">點擊訪問hahaServlet</a>
2022-10-31
二、HttpServletResponse
(1)功能:
①通過輸出流將回應資料輸出給客戶端
PrintWriter writer = response.getWriter();
writer.write("haha...");
②可以設定亂碼回應(方式是通過設定回應頭)
例如:在如果在書寫“writer.write("haha...");”中里面輸出的內容添加了中文的話,會出現亂碼,設定的方式如下:
response.addHeader("content-Type","text/html;charset=utf-8");
添加的位置在輸出流的前面,
簡寫形式:
response.setContentType("text/html;charset=utf-8");
③重定向
頁面跳轉的主要手段之一(可以跳轉至第二個servlet也可以跳轉至其他頁面)
重定向到另一個servlet:
response.sendRedirect("第二個servlet的url-pattern");
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/525861.html
標籤:Java
上一篇:LeetCode刷題第一周
