JSP实现登录和注册(Map集合模拟数据库)

      • 1、login.jsp
      • 2、 loginSelect.jsp
      • 3、register.jsp
      • 4、 RegisterSelect.jsp
      • 5、 index.jsp

1、login.jsp

  • login.jsp中usernamepassword在LoginSelect.jsp验证是否一致
  • 使用session.setAttribute("login_msg","用户名或密码为空")设置login_msg的值
  • 使用session.getAttribute("login_msg")获取对象的值,判断输入框是否为空,如果为空,则提示用户名或密码为空。
<html><head><title>登录界面</title></head><body><div align="center"><h1>欢迎登录</h1><form action="LoginSelect.jsp" method="post" id="form"><p>用户名:&nbsp<input id="username" name="username" type="text">&nbsp&nbsp</p><p>密码:&nbsp<input id="password" name="password" type="password"></p><input type="submit" class="button" value="登录" onclick=""><button><a href="register.jsp">注册</a></button></form><div id="errorMsg" value="null"></div></div><script>if(document.getElementById("errorMsg").innerText==="null"||document.getElementById("errorMsg").innerText===""){document.getElementById("errorMsg").setAttribute('style',"display:none")} else {document.getElementById("errorMsg").setAttribute('style',"display:block")}</script></body></html>

2、 loginSelect.jsp

  • 利用Map集合存储账户和密码信息,模拟数据库
  • map.put("20201234","123456")设置初始数据
  • map.put(username,session.getAttribute(username).toString())这里是将注册的账户和密码添加到数据库中,username为键,session.getAttribute(username).toString()为值,两者都为字符串类型
<html><head><title>判断登录界面</title></head><body><%! Map<String,String> map = new HashMap<String,String>(); public boolean compare(String username,String password){ String pwd = map.get(username); if(pwd!=null&&password.equals(pwd)){ return true; } else{ return false; } }%></body></html>

3、register.jsp

  • register.jsp中usernamepassword在RegisterSelect.jsp验证是否一致
  • 使用session.setAttribute("register_msg","用户名或密码为空")设置register_msg的值
  • 使用session.getAttribute("register_msg")获取对象的值,判断输入框是否为空,如果为空,则提示用户名或密码为空。
<html><head><title>注册界面</title></head><div align="center"><h1>欢迎注册</h1><form action="RegisterSelect.jsp" method="post"><table><tr><td>用户名</td><td><input name="username" type="text" id="username"><br></td></tr><tr><td>密码</td><td><input name="password" type="password" id="password"><br></td></tr></table><input value="注 册" type="submit" id="reg_btn"><br><span>已有帐号?</span> <a href="login.jsp">登录</a></form><span id="register_msg" class="err_msg" ></span></div></body></div><script>if(document.getElementById("register_msg").innerText==="null"||document.getElementById("register_msg").innerText===""){document.getElementById("register_msg").setAttribute('style',"display:none")} else {document.getElementById("register_msg").setAttribute('style',"display:block")}</script></html>

4、 RegisterSelect.jsp

  • if else语句,if 判断账户或密码为空则提示"用户或密码为空"else 使用session.setAttribute(username,password) 创建对象存储新的账户和密码信息。
<html><head><title>Title</title></head><body></body></html>

5、 index.jsp

  • session.getAttribute("username")动态获取账户名称
<html><head><title>登录成功</title></head><body><div align="center"><h1>JSP管理系统</h1><h1> 欢迎您!</h1><a href="login.jsp">退出登录</a></div></body></html>