package Controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import Dao.AdministratorDao;
import Dao.StudentDao;
import Dao.UserDao;
import Model.Administrator;
import Model.Student;
import Model.User;
/**
* Servlet implementation class LoginServlet
*/
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
String username = request.getParameter("username");
String password = request.getParameter("password");
String identity = request.getParameter("identity");
String autoLogin = request.getParameter("autologin");
String checkCode = request.getParameter("check_code");
String savedCode = (String) request.getSession().getAttribute("check_code");
System.out.println(username + " " + password + " " + checkCode + " "
+ savedCode + " " + identity);
if(username != null && password != null){
System.out.println("账号密码不为空");
//账号密码不为空
if(checkCode.equals(savedCode)) {
//验证码正确
System.out.println("验证码正确");
if(identity !=null) {
if(identity.equals("admin")){ //教师
try{
System.out.println("进入教师");
AdministratorDao adminDao = new AdministratorDao();
Administrator admin = adminDao.find(username);
if (admin != null){
if (admin.getTcPassword().equals(password)) {
System.out.println("ok");
function1(username, password, autoLogin, 1, request, response);
}
} else {
request.setAttribute("errerMsg", "没有该教师");
request.getRequestDispatcher("/Jsp/Login.jsp").forward(request, response);
}
} catch (Exception ee) {
ee.printStackTrace();
}
} else if (identity.equals("student")){ //学生
try{
System.out.println("进入学生");
StudentDao stuDao = new StudentDao();
Student student = stuDao.find(username);
if (student != null) {
if (student.getStuPassword().equals(password)){
System.out.println("ok");
function1(username, password, autoLogin, 2, request, response);
}
} else {
request.setAttribute("errerMsg", "没有该学生");
request.getRequestDispatcher("/Jsp/Login.jsp").forward(request, response);
}
} catch (Exception ee) {
ee.printStackTrace();
}
}
} else {
request.setAttribute("errerMsg", "身份为空");
request.getRequestDispatcher("/Jsp/Login.jsp").forward(request, response);
}
} else {
//验证不正确
request.setAttribute("errerMsg", "验证码错误");
request.getRequestDispatcher("/Jsp/Login.jsp").forward(request, response);
}
} else {
//账号或密码为空
request.setAttribute("errerMsg", "用户名或密码不能为空");
request.getRequestDispatcher("/Jsp/Login.jsp").forward(request, response);
}
}
private void function1(String username, String password, String autoLogin, int num,
HttpServletRequest request, HttpServletResponse response) throws IOException{
//将用户状态user对象存入session域
User user = new User();
user.setUsername(username);
user.setPassword(password);
if (num == 1) {
user.setIdentity("admin");
} else if (num ==2) {
user.setIdentity("student");
}
request.getSession().setAttribute("user", user);
//登陆记录
UserDao userDao = new UserDao();
userDao.insert(user);
//发送自动登陆的cookie
if(autoLogin != null){
//注意cookie中的密码要加密
if(num == 1){
Cookie cookie = new Cookie("autologin", username + "-" + password + "-" + "1");
cookie.setMaxAge(Integer.parseInt(autoLogin));
cookie.setPath(request.getContextPath());
response.addCookie(cookie);
}else if (num == 2){
Cookie cookie = new Cookie("autologin", username + "-" + password + "-" + "2");
cookie.setMaxAge(Integer.parseInt(autoLogin));
cookie.setPath(request.getContextPath());
response.addCookie(cookie);
}
}
if (num == 1) { //教师
//跳转至首页
response.sendRedirect(request.getContextPath() + "/Jsp/Admin.jsp");
} else if (num == 2){ //学生
//跳转至首页
response.sendRedirect(request.getContextPath() + "/Jsp/Student.jsp");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
编写该系统的目的是为了对学生的成绩进行信息化管理,降低教师管理的成本,提高工作效率。该系统有六张数据表:学生表、教师(管理员)表、成绩表、课程表、班级表、登录表。学生表和教师表用来存储系统用户;成绩表用来存储学生成绩;课程表用来储存课程信息;班级表用来存储班级信息;登录表用来存储登录信息。该系统使用了MVC设计模式,实现了权限管理、登录登出、自动登录、验证码,成绩的增加、删除、修改、查询等功能。
资源推荐
资源详情
资源评论
收起资源包目录
GradeManage.zip (66个子文件)
GradeManage
src
Util
JDBCUtils.java 1KB
Controller
UpdScoreServlet.java 2KB
DelScoreServlet.java 2KB
FindScoreServlet.java 2KB
LogoutServlet.java 1KB
ExitServlet.java 1KB
CheckServlet.java 3KB
LoginServlet.java 5KB
AutoLoginFilter.java 2KB
AddScoreServlet.java 3KB
Model
Grade.java 1KB
Student.java 921B
Course.java 752B
Classes.java 549B
User.java 558B
Administrator.java 892B
Dao
AdministratorDao.java 4KB
CourseDao.java 4KB
ClassesDao.java 3KB
GradeDao.java 4KB
StudentDao.java 4KB
UserDao.java 898B
.classpath 1KB
build
classes
Util
JDBCUtils.class 2KB
Controller
ExitServlet.class 2KB
FindScoreServlet.class 3KB
LoginServlet.class 5KB
AutoLoginFilter.class 3KB
AddScoreServlet.class 4KB
UpdScoreServlet.class 3KB
LogoutServlet.class 2KB
DelScoreServlet.class 4KB
CheckServlet.class 4KB
Model
Course.class 1KB
User.class 899B
Grade.class 1KB
Classes.class 919B
Administrator.class 1KB
Student.class 1KB
Dao
StudentDao.class 5KB
AdministratorDao.class 5KB
GradeDao.class 5KB
ClassesDao.class 5KB
UserDao.class 2KB
CourseDao.class 5KB
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.common.project.facet.core.xml 345B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.component 485B
.jsdtscope 567B
org.eclipse.jdt.core.prefs 364B
WebContent
META-INF
MANIFEST.MF 39B
Jsp
FindScore.jsp 2KB
Student.jsp 1KB
Admin.jsp 1KB
UpdDelScore.jsp 4KB
AddScore.jsp 2KB
Login.jsp 2KB
Foot.jsp 944B
WEB-INF
lib
commons-beanutils-1.9.3.jar 240KB
mysql-connector-java-8.0.11.jar 1.94MB
commons-logging-1.2.jar 60KB
jstl-1.2.jar 405KB
standard-1.1.2.jar 384KB
web.xml 4KB
.project 911B
共 66 条
- 1
资源评论
- weididiwei2020-03-21很可以,比较符合我个人的代码思路
- 飞翔的罗伯特2019-10-05资源珍贵啊。就是一个简单的demo、啊
偶尔写博客
- 粉丝: 275
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功