本周的任务完成情况:实现了管理员登录、老师登录、学生登录和注册功能,暂时没有什么困难。
项目目录如下:

核心代码:
1、Servlet代码:
ExamService es = new ExamService();
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
String servletPath = request.getServletPath();
String pathname = servletPath.substring(1, servletPath.length() - 3);
System.out.println(pathname);
switch (pathname) {
case "adminlogin":
adminLogin(request, response);
break;
case "studentlogin":
studentLogin(request, response);
break;
case "studentadd":
studentAdd(request, response);
break;
case "teacherlogin":
teacherLogin(request, response);
break;
default:
break;
}
}
private void studentAdd(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
String tel = request.getParameter("tel");
StudentBean stuBean = new StudentBean(name, pwd);
stuBean.setS_tel(tel);
// 先用name查询数据库,有没有已经注册的账号,如果有,则不能注册
int count1 = es.stuSel(stuBean);
if (count1 > 0) {
request.setAttribute("message", "该账户已经被注册了!");
request.getRequestDispatcher("/register.jsp").forward(request, response);
} else {
int count2 = es.stuAdd(stuBean);
if (count2 > 0) {
PrintWriter out = response.getWriter();
out.write("alert('注册成功')");
response.sendRedirect("login.jsp");
} else {
request.setAttribute("name", name);
request.setAttribute("pwd", pwd);
request.setAttribute("tel", tel);
request.setAttribute("message", "没有注册成功,请重新填写内容注册账户");
request.getRequestDispatcher("/register.jsp").forward(request, response);
}
}
}
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
String servletPath = request.getServletPath();
String pathname = servletPath.substring(1, servletPath.length() - 3);
System.out.println(pathname);
switch (pathname) {
case "adminlogin":
adminLogin(request, response);
break;
case "studentlogin":
studentLogin(request, response);
break;
case "studentadd":
studentAdd(request, response);
break;
case "teacherlogin":
teacherLogin(request, response);
break;
default:
break;
}
}
private void studentAdd(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
String tel = request.getParameter("tel");
StudentBean stuBean = new StudentBean(name, pwd);
stuBean.setS_tel(tel);
// 先用name查询数据库,有没有已经注册的账号,如果有,则不能注册
int count1 = es.stuSel(stuBean);
if (count1 > 0) {
request.setAttribute("message", "该账户已经被注册了!");
request.getRequestDispatcher("/register.jsp").forward(request, response);
} else {
int count2 = es.stuAdd(stuBean);
if (count2 > 0) {
PrintWriter out = response.getWriter();
out.write("alert('注册成功')");
response.sendRedirect("login.jsp");
} else {
request.setAttribute("name", name);
request.setAttribute("pwd", pwd);
request.setAttribute("tel", tel);
request.setAttribute("message", "没有注册成功,请重新填写内容注册账户");
request.getRequestDispatcher("/register.jsp").forward(request, response);
}
}
}
private void teacherLogin(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String teaname = request.getParameter("name");
String teapwd = request.getParameter("pwd");
TeacherBean teaBean = new TeacherBean(teaname, teapwd);
int count = es.teaSel(teaBean);
if (count > 0) {
response.sendRedirect("index.jsp");
} else {
request.setAttribute("teaname", teaname);
request.setAttribute("teapwd", teapwd);
request.setAttribute("message", teaname + "账号不存在,请重新输入!");
request.getRequestDispatcher("/adminlogin.jsp").forward(request, response);
}
}
private void studentLogin(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String stuname = request.getParameter("name");
String stupwd = request.getParameter("pwd");
StudentBean stuBean = new StudentBean(stuname, stupwd);
int count = es.stuSel(stuBean);
if (count > 0) {
response.sendRedirect("index.jsp");
} else {
request.setAttribute("stuname", stuname);
request.setAttribute("stupwd", stupwd);
request.setAttribute("message", stuname + "账号不存在,请重新输入!");
request.getRequestDispatcher("/login.jsp").forward(request, response);
}
}
private void adminLogin(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
AdminBean adminBean = new AdminBean(name, pwd);
int count = es.adminSel(adminBean);
if (count > 0) {
response.sendRedirect("index.jsp");
} else {
request.setAttribute("name", name);
request.setAttribute("pwd", pwd);
request.setAttribute("message", name + "账号不存在,请重新输入!");
request.getRequestDispatcher("/login.jsp").forward(request, response);
}
}
throws IOException, ServletException {
String teaname = request.getParameter("name");
String teapwd = request.getParameter("pwd");
TeacherBean teaBean = new TeacherBean(teaname, teapwd);
int count = es.teaSel(teaBean);
if (count > 0) {
response.sendRedirect("index.jsp");
} else {
request.setAttribute("teaname", teaname);
request.setAttribute("teapwd", teapwd);
request.setAttribute("message", teaname + "账号不存在,请重新输入!");
request.getRequestDispatcher("/adminlogin.jsp").forward(request, response);
}
}
private void studentLogin(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String stuname = request.getParameter("name");
String stupwd = request.getParameter("pwd");
StudentBean stuBean = new StudentBean(stuname, stupwd);
int count = es.stuSel(stuBean);
if (count > 0) {
response.sendRedirect("index.jsp");
} else {
request.setAttribute("stuname", stuname);
request.setAttribute("stupwd", stupwd);
request.setAttribute("message", stuname + "账号不存在,请重新输入!");
request.getRequestDispatcher("/login.jsp").forward(request, response);
}
}
private void adminLogin(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
AdminBean adminBean = new AdminBean(name, pwd);
int count = es.adminSel(adminBean);
if (count > 0) {
response.sendRedirect("index.jsp");
} else {
request.setAttribute("name", name);
request.setAttribute("pwd", pwd);
request.setAttribute("message", name + "账号不存在,请重新输入!");
request.getRequestDispatcher("/login.jsp").forward(request, response);
}
}
2、EmpDaoImp实现类代码:
public class ExamDaoImp implements ExamDao{
public int adminSel(AdminBean adminBean) {
int count = 0;
Connection con = JDBCUtils.getCon();
String name = adminBean.getT_name();
String pwd = adminBean.getT_pwd();
String sql = "select * from t_admin where ad_name=? and ad_pwd=?";
try {
PreparedStatement pre = con.prepareStatement(sql);
pre.setString(1, name);
pre.setString(2, pwd);
ResultSet rs = pre.executeQuery();
while (rs.next()) {
count = 1;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
@Override
public int stuSel(StudentBean stuBean) {
int count = 0;
Connection con = JDBCUtils.getCon();
String name = stuBean.getS_name();
String pwd = stuBean.getS_pwd();
String sql = "select * from t_student where s_name=? and s_pwd=?";
try {
PreparedStatement pre = con.prepareStatement(sql);
pre.setString(1, name);
pre.setString(2, pwd);
ResultSet rs = pre.executeQuery();
while (rs.next()) {
count = 1;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
public int adminSel(AdminBean adminBean) {
int count = 0;
Connection con = JDBCUtils.getCon();
String name = adminBean.getT_name();
String pwd = adminBean.getT_pwd();
String sql = "select * from t_admin where ad_name=? and ad_pwd=?";
try {
PreparedStatement pre = con.prepareStatement(sql);
pre.setString(1, name);
pre.setString(2, pwd);
ResultSet rs = pre.executeQuery();
while (rs.next()) {
count = 1;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
@Override
public int stuSel(StudentBean stuBean) {
int count = 0;
Connection con = JDBCUtils.getCon();
String name = stuBean.getS_name();
String pwd = stuBean.getS_pwd();
String sql = "select * from t_student where s_name=? and s_pwd=?";
try {
PreparedStatement pre = con.prepareStatement(sql);
pre.setString(1, name);
pre.setString(2, pwd);
ResultSet rs = pre.executeQuery();
while (rs.next()) {
count = 1;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
@Override
public int teaSel(TeacherBean teaBean) {
int count = 0;
Connection con = JDBCUtils.getCon();
String name = teaBean.getName();
String pwd = teaBean.getPwd();
String sql = "select * from t_teacher where ad_name=? and ad_pwd=?";
try {
PreparedStatement pre = con.prepareStatement(sql);
pre.setString(1, name);
pre.setString(2, pwd);
ResultSet rs = pre.executeQuery();
while (rs.next()) {
count = 1;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
@Override
public int stuAdd(StudentBean stuBean) {
int count = 0;
Connection con = JDBCUtils.getCon();
String name = stuBean.getS_name();
String pwd = stuBean.getS_pwd();
String tel = stuBean.getS_tel();
String sql = "insert t_student(s_name,s_pwd,s_tel) values(?,?,?)";
try {
PreparedStatement pre = con.prepareStatement(sql);
pre.setString(1, name);
pre.setString(2, pwd);
pre.setString(3, tel);
count= pre.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
}
public int teaSel(TeacherBean teaBean) {
int count = 0;
Connection con = JDBCUtils.getCon();
String name = teaBean.getName();
String pwd = teaBean.getPwd();
String sql = "select * from t_teacher where ad_name=? and ad_pwd=?";
try {
PreparedStatement pre = con.prepareStatement(sql);
pre.setString(1, name);
pre.setString(2, pwd);
ResultSet rs = pre.executeQuery();
while (rs.next()) {
count = 1;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
@Override
public int stuAdd(StudentBean stuBean) {
int count = 0;
Connection con = JDBCUtils.getCon();
String name = stuBean.getS_name();
String pwd = stuBean.getS_pwd();
String tel = stuBean.getS_tel();
String sql = "insert t_student(s_name,s_pwd,s_tel) values(?,?,?)";
try {
PreparedStatement pre = con.prepareStatement(sql);
pre.setString(1, name);
pre.setString(2, pwd);
pre.setString(3, tel);
count= pre.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
}

浙公网安备 33010602011771号