导包
- commons-dbutils-1.7.jar
- druid-1.1.0.jar
- jstl.jar
- mysql-connector-java-5.1.46-bin.jar
- standard.jar
功能
(登录|注册)页面
<%@ page import="util.CookieUtils" %>
<%@ page import="java.net.URLDecoder" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="/common/common.jsp" %>
<html>
<head>
<title>Login</title>
</head>
<body>
<%-- 登录功能--%>
<c:if test="${cookie.noLoginName.value!=null}">
<script>
location.href="${path}/user/UserServlet?m=login&name=${cookie.noLoginName.value}&pwd=${cookie.noLoginPwd.value}"
</script>
</c:if>
<form action="${path}/user/UserServlet" method="post">
<input type="hidden" name="m" value="login">
姓名:<input type="text" name="name" value="${cookie.remName.value}">
<br>
密码:<input type="text" name="pwd" value="${cookie.remPwd.value}">
<br>
<input type="checkbox" name="rem" value="1"
<c:if test="${cookie.remName.value!=null}">checked</c:if>
/>记住密码
<br>
<input type="checkbox" name="noLogin" value="1" />7天免登录
<br>
<input type="submit" value="登录">
</form>
<a href="register.jsp">注册</a>
</body>
</html>
登录、注册servlet
//登录
public void login(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("------->login");
String name = req.getParameter("name");
String pwd = req.getParameter("pwd");
//看记住密码勾选了没
User user = new User(name, pwd);
boolean result = userService.userLogin(user);
//登录成功
if (result) {
//勾选后有值,没勾选为null
String rem = req.getParameter("rem");
if (rem!=null&&rem.length()!=0){
CookieUtils.write(resp,"remName",name);
CookieUtils.write(resp,"remPwd",pwd);
String noLogin = req.getParameter("noLogin");
if (noLogin!=null&&noLogin.length()!=0){
CookieUtils.write(resp,"noLoginName",name);
CookieUtils.write(resp,"noLoginPwd",pwd);
}
}else {
CookieUtils.remove(resp,"remName");
CookieUtils.remove(resp,"remPwd");
}
req.getSession().setAttribute("LoginName", name);
resp.sendRedirect(req.getContextPath()+"/girl/GirlServlet?m=list");
// req.getSession().setAttribute("name", name);
} else {
resp.sendRedirect(req.getContextPath()+"/user/fail.jsp");
}
}
//退出7天免登录
public void logout(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
CookieUtils.remove(resp,"noLoginName");
CookieUtils.remove(resp,"noLoginPwd");
req.getSession().removeAttribute("LoginName");
resp.sendRedirect(req.getContextPath()+"/user/login.jsp");
}
//注册
public void register(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException{
String name = req.getParameter("name");
String pwd = req.getParameter("pwd");
UserService userService = new UserServiceImpl();
//是否存在
User user=new User(name, pwd);
boolean result = userService.findUser(user);
req.setAttribute("name",name);
if(!result){
//注册
boolean i = userService.register(user);
if (i){
//注册成功
req.getRequestDispatcher("registerSuccess.jsp").forward(req,resp);
}
}else{
//跳转已经被注册页面
req.getRequestDispatcher("registerFail.jsp").forward(req,resp);
}
}
总结
登录注册是比较基础的内容,只需要理清楚基本的逻辑,先从登录界面的Input框中获取他们的值,用request.getParameter获取参数,在把参数跟数据库中的数据对比,相同就跳转到登录成功界面,若不成功就跳转登陆失败界面。