青岛科技大学本科毕业设计(论文)
boolean delStudent0(long id[]);//delete students by id(假) boolean delStudent1(long id[]);//delete students by id(真) boolean undoDel(long id[]);//撤销
List
Student queryStudentById(long id,int flag);//通过主键和状态查询 boolean queryStudentById(long id);
boolean queryStudentByName(String name);//通过name模糊查询 boolean updateStudent(Student student);//跟新 int getRowNum();//获得总记录数 int getRowNumRB();//回收站记录
List
List
List
4.3本章小结
本章主要完成了系统的框架设计工作,完成了系统的总体架构,为之后的具体编码实现打好了基础。
13
基于B/S架构的大学生成绩管理系统设计与实现
第五章 详细设计和实现
本系统的准备工作到此已经完毕,在本章开始对系统功能的编码实现。
5.1 登录模块
本系统为成绩信息管理系统,不能被随意进入,所以需要通过登录来进行身份验证。登录页面是本系统的客户入口,所以首先被设计。 5.1.1功能分析
1、本页面要完成两种用户验证的功能,即用户需要在本页面输入用户名和密码以及用户类型。
2、本页面应该具备一定的动态效果,用来拦截错误的登录过程,比如用户名为空等;后台完成账号密码匹配功能。
3、页面设计应美观、大方。 5.1.2 代码实现
该页面的最终效果图如下图所示:
图 5-1 学生成绩管理系统登陆页面
Fig.5-1 Student achievement management system login page
用户通过在此页面输入用户名和密码及选择用户类型后(在页面上通过javascript控制用户名和密码不可为空),在后台(LoginServlet.java)通过与数据库中信息进行匹配,匹配成功则会进入用户类型相应的用户操作界面,失败则会返回登陆页面并有提示信息:
图 5-2 管理员登陆成功页面 Fig.5-2 Administrator login success page
14
青岛科技大学本科毕业设计(论文)
图5-3 学生登录成功 Fig.5-3 Student login success page
图 5-4 学生成绩管理系统登陆失败
Fig.5-4 Student achievement management system login failed
1、在jsp页面为了防止用户过多的访问服务器,减少服务器的工作量,通过JavaScript实现在客户端验证登录信息的完整性:
function checkName(n){//验证姓名是否为空 if(n.value==\
alert(\用户名不可为空\ } }
function checkPwd(n){//验证密码是否为空 if(n.value==\
alert(\密码不可为空\ } }
function checkAll(){//登录验证
if(document.getElementById(\document.getElementById(\
return true; }else{
alert(\有信息为空\ return false; } }
2、当用户点击登录按钮之后,会把用户名等信息通过post的方式提交到
LoginServlet,验证是否为真实用户;信息匹配成功时重定向到welcome.jsp页面,否则携带者“密码或用户名错误”的信息转发到login.jsp。LoginServlet关键代码如下:
// 读取request
String name = request.getParameter(\); String pwd = request.getParameter(\); String user = request.getParameter(\); // 根据用户类型分别进行用户名和密码匹配 if (user.equals(\)) {
int stuid = new StudentBizImpl().matchStudent(name, pwd);
15
基于B/S架构的大学生成绩管理系统设计与实现
if (stuid > 0) {
SimpleDateFormat sf = new SimpleDateFormat(\); String loginTime = sf.format(new Date());
// 把用户名、学号、登陆时间和用户类型记录到session request.getSession().setAttribute(\, name); request.getSession().setAttribute(\, stuid);
request.getSession().setAttribute(\, loginTime); request.getSession().setAttribute(\, user); // 重定向到welcome.jsp
response.sendRedirect(\);
} else {
// 匹配失败转发到login.jsp
request.setAttribute(\, \用户名或密码错误\); request.getRequestDispatcher(\).forward(request,
response);
}
}
if (user.equals(\)) {
Manager m = new Manager(name, pwd); if (new ManagerBizImpl().matchManager(m)) {
SimpleDateFormat sf = new SimpleDateFormat(\);
16

