package login; public class AccountBean { String account; String password; String type; public String getAccount() { return account; } public void setAccount(String account) { this.account = account; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getType() { return type; } public void setType(String type) { this.type = type; } }
package login; import dao.Con_CloseSql; import java.sql.*; public class AccountDao { public AccountBean checkAccount(String user, String password) throws Exception { Connection connect = new Con_CloseSql().getConnect(); Statement stat = connect.createStatement(); String sql = "select * from account where account = '" + user + "' and password = '" + password + "'"; ResultSet rs = stat.executeQuery(sql); AccountBean accountBean = new AccountBean(); if (rs.next()){ accountBean.setAccount(rs.getString("account")); accountBean.setPassword(rs.getString("password")); accountBean.setType(rs.getString("type")); } Con_CloseSql.closeConnection(connect); return accountBean; } }
package login; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class JudgeServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); resp.setCharacterEncoding("utf-8"); resp.setContentType("text/html;utf-8"); String account = req.getParameter("account"); String password = req.getParameter("password"); String type = req.getParameter("type"); AccountDao dao = new AccountDao(); try { AccountBean bean = dao.checkAccount(account, password); String type1 = bean.getType(); if(type1.equals(type)) { if(type.equals("学生")) req.getRequestDispatcher("stuhome.jsp").forward(req,resp); if(type.equals("教师")) req.getRequestDispatcher("teahome.jsp").forward(req,resp); if(type.equals("管理员")) req.getRequestDispatcher("Adminhome.jsp").forward(req,resp); } } catch (Exception e) { resp.getWriter().print("<script>alert(\"账号或用户名出错\"); </script>"); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form method="post" action="judge"> 账号:<input type="text" name="account"><br> 密码:<input type="password" name="password"><br> 用户类型: <select name="type"> <option value="学生" name="xuesheng">学生</option> <option value="教师" name="jiaoshi">教师</option> <option value="管理员" name="guanliyuan">管理员</option> </select><br> <input type="submit" value="登陆"> </form> </body> </html>
数据库表结构为
其中account与password是用户密码
type是该用户类型
如果全部匹配就可进入对应界面