Java网络开发(Tomcat异步登陆+注册)——登陆和注册功能 的 迭代升级 &; 从Jsp到JavaScript
// 假设已经有了UserService和UserDao,以下是Servlet中的核心方法示例:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = request.getParameter("action");
if ("login".equals(action)) {
login(request, response);
} else if ("register".equals(action)) {
register(request, response);
}
}
private void login(HttpServletRequest request, HttpServletResponse response) throws IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
User user = userService.login(username, password);
if (user != null) {
// 登录成功,保存用户信息到session,并重定向到主页
request.getSession().setAttribute("user", user);
response.sendRedirect("index.jsp");
} else {
// 登录失败,保存错误信息到request,并跳转回登录页面
request.setAttribute("error", "用户名或密码错误");
request.getRequestDispatcher("login.jsp").forward(request, response);
}
}
private void register(HttpServletRequest request, HttpServletResponse response) throws IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
User user = userService.register(username, password);
if (user != null) {
// 注册成功,保存用户信息到session,并重定向到主页
request.getSession().setAttribute("user", user);
response.sendRedirect("index.jsp");
} else {
// 注册失败,保存错误信息到request,并跳转回注册页面
request.setAttribute("error", "用户名已存在");
request.getRequestDispatcher("register.jsp").forward(request, response);
}
}
在这个示例中,我们使用了doPost
方法来处理登录和注册请求,并在login
和register
方法中调用了UserService的相应方法。根据方法的返回值,我们将用户信息存储到session中或设置错误信息,并且根据操作结果进行重定向或转发到相应的页面。这里使用了异步登录和注册的方式,提高了系统的响应性能。
评论已关闭