登录注册和增删改查(jsp+servlet)
(一)功能介绍
1.用户输入正确的密码进行登录
2.新用户可以进行注册
3.登录后显示学生的信息表
4.可以添加学生
5.可以修改学生已有信息
6.可以删除已有学生
7.可以显示登录的用户学号(每个页面都可以通过调用session显示)
8.可以记录浏览量
(二)页面展示
登录页面
注册页面
学生信息页面
添加页面
添加之后的学生信息表
修改页面
修改之后的学生信息表
删除之后的学生信息表
(三)项目代码
package entity; public class Student { private String sno; private String password; private String name; public Student(String sno, String password, String name) { this.sno = sno; this.password = password; this.name = name; } public String getSno() { return sno; } public void setSno(String sno) { this.sno = sno; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
package util; import entity.Student; import java.util.HashMap; public class StudentUtil { public static HashMap<String, Student> map=new HashMap<String,Student>(); static{ map.put("101",new Student("101","123","lili")); map.put("102",new Student("102","123","lisa")); map.put("103",new Student("103","123","coco")); map.put("104",new Student("104","123","mark")); } public static boolean log(Student stu){ boolean b=false; for(String s:map.keySet()){ if(map.get(s).getSno().equals(stu.getSno())&&map.get(s).getPassword().equals(stu.getPassword())){ b=true; } } return b; } public static boolean reg(Student stu){ map.put(stu.getSno(),stu); return true; } }
package servlet; import entity.Student; import org.omg.CORBA.Request; import util.StudentUtil; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/LoginServlet") public class LoginServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String sno=req.getParameter("sno"); String password=req.getParameter("password"); Student s=new Student(sno,password,null); boolean b=StudentUtil.log(s); if(b==true){ req.setAttribute("sno",sno); req.getRequestDispatcher("logon.jsp").forward(req,resp); }else{ req.getRequestDispatcher("error.jsp").forward(req,resp); } } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } }
package servlet; import entity.Student; import util.StudentUtil; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/RegisterServlet") public class RegisterServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String sno=req.getParameter("sno"); String password=req.getParameter("password"); String name=req.getParameter("name"); StudentUtil.reg(new Student(sno,password,name)); req.getRequestDispatcher("/index.jsp").forward(req,resp); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } }
package servlet; import entity.Student; import util.StudentUtil; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/InsertServlet") public class InsertServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String sno=req.getParameter("sno"); String password=req.getParameter("password"); String name=req.getParameter("name"); StudentUtil.map.put(sno,new Student(sno,password,name)); req.getRequestDispatcher("student.jsp").forward(req,resp); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } }
package servlet; import util.StudentUtil; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/UpdateServlet") public class UpdateServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String sno=req.getParameter("sno"); String password=req.getParameter("password"); String name=req.getParameter("name"); StudentUtil.map.get(sno).setName(name); StudentUtil.map.get(sno).setPassword(password); req.getRequestDispatcher("student.jsp").forward(req,resp); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } }
package servlet; import util.StudentUtil; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/DeleteServlet") public class DeleteServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String sno= req.getParameter("sno"); StudentUtil.map.remove(sno); req.getRequestDispatcher("student.jsp").forward(req,resp); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } }
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form action="LoginServlet" method="post"> <div class="log"> <h2>登录</h2> 学号:<input type="text" name="sno"><br> 密码:<input type="password" name="password"> <br> <input type="submit" value="确认登录"> <a href="register.jsp" >注册</a> </div> </form> </body> </html>
register.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form action="RegisterServlet" method="post"> 学号:<input type="text" name="sno"><br> 密码:<input type="text" name="password"><br> 姓名:<input type="text" name="name"><br> <input type="submit" value="确认"> </form> </body> </html>
logon.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <% session.setAttribute("sno",request.getAttribute("sno")); Object o=application.getAttribute("count"); if(o==null){ application.setAttribute("count",1); }else{ int c=Integer.parseInt(o.toString()); application.setAttribute("count",c+1); } %> <% request.getRequestDispatcher("student.jsp").forward(request,response); %> </body> </html>
student.jsp
<%@ page import="util.StudentUtil" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <a href="insert.jsp">增加</a> <span>用户:<%=session.getAttribute("sno")%></span> <span>浏览量:<%=application.getAttribute("count")%></span> <table> <tr> <td>学号</td> <td>密码</td> <td>姓名</td> <td></td> </tr> <% for(String s: StudentUtil.map.keySet()){%> <tr> <td><%=StudentUtil.map.get(s).getSno()%></td> <td><%=StudentUtil.map.get(s).getPassword()%></td> <td><%=StudentUtil.map.get(s).getName()%></td> <td><a href="update.jsp?sno=<%=StudentUtil.map.get(s).getSno()%>&&password=<%=StudentUtil.map.get(s).getPassword()%>&&name=<%=StudentUtil.map.get(s).getName()%>">修改</a> <a href="DeleteServlet?sno=<%=StudentUtil.map.get(s).getSno()%>">删除</a></td> </tr> <% } %> </table> </body> </html>
error.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> 账户名或密码错误 <a href="index.jsp">返回登录</a> </body> </html>
insert.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form action="InsertServlet" method="post"> 学号:<input type="text" name="sno"/><br> 密码:<input type="text" name="password"/><br> 姓名:<input type="text" name="name"/><br> <input type="submit" value="确认添加"> </form> </body> </html>
update.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form action="UpdateServlet" method="post"> <table> <tr> <td>学号</td> <td><input type="text" name="sno" value="<%=request.getParameter("sno")%>"></td> </tr> <tr> <td>密码</td> <td><input type="text" name="password" value="<%=request.getParameter("password")%>"></td> </tr> <tr> <td>姓名</td> <td><input type="text" name="name" value="<%=request.getParameter("name")%>"></td> </tr> </table> <input type="submit" value="确认修改"> </form> </body> </html>