在Java Web開發(fā)中,用戶登錄和注冊是非常常見的功能要求。下面我們將講解Java用戶登錄和注冊的實現(xiàn)方法。
用戶注冊實現(xiàn)
public void register(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); String email = request.getParameter("email"); UserDao userDao = new UserDaoImpl(); User user = userDao.findUserByUsername(username); if (user != null) { // 用戶名已存在 request.setAttribute("errorMsg", "該用戶名已被注冊!"); request.getRequestDispatcher("/register.jsp").forward(request, response); return; } user = new User(); user.setUsername(username); user.setPassword(password); user.setEmail(email); userDao.addUser(user); request.getSession().setAttribute("user", user); response.sendRedirect(request.getContextPath() + "/index.jsp"); }
上面代碼中,register方法首先獲取注冊頁面提交的用戶名、密碼和Email信息,然后調用UserDao對象的findUserByUsername方法判斷該用戶名是否已存在。如果用戶名已存在,會將錯誤提示信息存入request域中,并轉發(fā)到注冊頁面。
如果用戶名不存在,就創(chuàng)建User對象,設置屬性值,然后調用UserDao對象的addUser方法將新用戶插入到數(shù)據(jù)庫中。最后將新用戶信息存入session中,并重定向到首頁。
用戶登錄實現(xiàn)
public void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); UserDao userDao = new UserDaoImpl(); User user = userDao.findUserByUsername(username); if (user == null) { // 用戶名不存在 request.setAttribute("errorMsg", "用戶名不存在!"); request.getRequestDispatcher("/login.jsp").forward(request, response); return; } if (!password.equals(user.getPassword())) { // 密碼錯誤 request.setAttribute("errorMsg", "密碼錯誤!"); request.getRequestDispatcher("/login.jsp").forward(request, response); return; } request.getSession().setAttribute("user", user); response.sendRedirect(request.getContextPath() + "/index.jsp"); }
上面代碼中,login方法首先獲取登錄頁面提交的用戶名和密碼信息,然后調用UserDao對象的findUserByUsername方法查找該用戶名對應的用戶信息。
如果用戶名不存在,會將錯誤提示信息存入request域中,并轉發(fā)到登錄頁面。
如果用戶名存在,再判斷密碼是否正確,如果不正確也會將錯誤提示信息存入request域中,并轉發(fā)到登錄頁面。
如果用戶名和密碼都正確,會將用戶信息存入session中,并重定向到首頁。
通過以上代碼,我們可以實現(xiàn)Java語言下的用戶登錄和注冊功能。
上一篇nvl() oracle
下一篇ajax中取jsp中的值