request請求轉發和request域運用


1.請求轉發
1.概述:讓服務器跳轉到另一個資源上
2.方法
    1.request.getRequestDispatcher("跳轉資源路徑").forward(request, response);
2.域對象
1.作用:實現servlet與servlet之間的數據傳輸功能
2.例如:Request本質上就是一個域對象, 域對象就是一個容器。
3.域對象的方法
1.request.setAttribute(key,value);往request對象中存數據
2.requet.getAttribute(key) 從request對象中取數據
3.request.removeAttribute(key) 刪除request中的數據。
4.域對象存儲數據的方式是鍵值對
4.代碼
1.Html代碼:
<html>
<head>
<title>reg.html</title>
</head>
<body>
<form action="/day36_login/userServlet" method="post">
用戶名:<input type="text" name="username"/><br/>
密碼:<input type="password" name="password"/><br/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
2.UserServlet代碼:
public class UserServlet extends HttpServlet {
private UserDao userDao = new UserDao();
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//解決亂碼
request.setCharacterEncoding("utf-8");
//獲取請求參數
String userName = request.getParameter("username");
String password = request.getParameter("password");
User user = new User(userName,password);
//把數據存儲到數據庫中
userDao.save(user);
// 往request域對象存儲數據
request.setAttribute("USER",user);

//跳轉到另外一個Servlet上顯示注冊是否成功的信息。
request.getRequestDispatcher("/infoServlet").forward(request, response); //請求轉發,跳轉到infoServlet

}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
3.InfoServlet代碼:
public class InfoServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//從域對象對象中取出數據
User user = (User) request.getAttribute("USER");(強轉)
OutputStream out = response.getOutputStream();
out.write(("<h1>恭喜"+user.getUsername()+"注冊成功</h1>").getBytes());
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM