request物件的作用
HttpServletRequset:請求報文
代表:瀏覽器請求時的請求報文,請求到達伺服器伺服器將報文解析封裝為這個物件
獲取:請求到伺服器是,伺服器直接建立然後傳入到servlet方法中,最終傳入到doget中
作用:獲取請求報文中的所有資料
1、獲取請求引數【input表單項提交的資料】
2、獲取url地址中的所有資料
3、獲取請求轉發器轉發請求
轉發特點:
》通過request物件發起的
》轉發後的位址列地址沒有改變
》瀏覽器只發起了一次請求,最終顯示的是轉發後的介面
》瀏覽器不知道轉發的發生
》伺服器內部有兩個資原始檔處理了請求
案例:
使用者在login.html攜帶賬戶密碼提交登陸請求,請求交給LoginServlet處理
如果賬戶密碼正確,轉發到登入成功介面
建立一個servlet名為LoginServlet
package com.wangxizhuang.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class LoginServlet
*/
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//獲取使用者引數
String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println(username+"--"+password);//列印引數
if("admin".equals(username)&&"123456".equals(password)) {
request.getRequestDispatcher("1.html").forward(request, response);//轉發
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
建立一個登陸介面 Login.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="LoginServlet" >
賬戶:<input type="text" name="username"><br>
密碼:<input type="text" name="password"><br>
<input type="submit" value="登陸">
</form>
</body>
</html>
建立一個轉發後的頁面 1.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
恭喜你登陸成功了!!!!!
</body>
</html>