会话跟踪案例-用户登录-Cookie
// LoginServlet.java
@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
private UserService service = new UserService();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 1. 获取用户名和密码
String username = request.getParameter("username");
String password = request.getParameter("password");
// 2. 调用service查询
User user = service.login(username, password);
// 3. 判断
if (user != null){
// 登录成功,跳转到查询所有的BrandServlet
// 将登录成功后的user对象,存储到session
HttpSession session = request.getSession();
session.setAttribute("user", user);
String contextPath = request.getContextPath(); // 动态获取虚拟目录 /brand-demo
response.sendRedirect(contextPath + "/selectAllServlet");
} else {
// 登录失败
// 存储错误信息到request
request.setAttribute("login_msg", "用户名或密码错误");
// 跳转到login.jsp
// 在request域中存储的数据只能用getRequestDispatcher
// 为什么不用session,因为不需要每次请求都显示该信息
request.getRequestDispatcher("/login.jsp").forward(request, response);
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}