安徽商贸职业技术学院
表3-13作业详情表tb_job
字段名称 数据类型 可否为空 说明 JOBID JOBNAME STATUE PATH PCID USERID UPLOADTIME
Number VARCHAR2(20) VARCHAR2(20) VARCHAR2(100) VARCHAR2(20) NUMBER DATE NO NO NO NO NO NO NO 作业id 作业名称 Yes已批改no未批改 上传作业保存路径 批次id 学生用户id 上传时间 表3-14作业评价表tb_comment
字段名称 数据类型 可否为空 说明 COMMENTID JOBID USERID CONTENT SCORE
Number Number Number VARCHAR2(1000) DECIMAL NO NO NO YES NO 评价id 作业id 学生id 作业评语 作业评分
表3-15学生教师交流信息表tb_message
字段名称 数据类型 可否为空 说明 ID JOBID FROMUSERID TOUSERID MESSAGE MESSAGETIME MESSAGESTATE
Number Number Number Number VARCHAR2(1000) DATE VARCHAR2(20)
- 20 -
NO NO NO NO YES NO NO 交流信息id 作业id 发送方id 接收方id 信息内容 发送时间 信息状态 安徽商贸职业技术学院
表3-16公告信息表tb_public
字段名称 数据类型 可否为空 说明 ID TITLE CONTENT TIME
5、据库各表的描述说明
Number VARCHAR2(30) VARCHAR2(4000) DATE NO YES NO NO 公告信id 公告标题 公告内容 发布时间 tb_user表存放的是用户信息。
tb_stumsg表存放的是班级所有学生详细信息 tb_managermsg表存放的是管理员详细信息 tb_tcmsg表存放的是班级所有授课教师详细信息 tb_class表存放的是班级所有课程信息。 tb_pc表存放的是教师布置的作业信息。 tb_job表存放的是学生提交的作业信息。 tb_comment表存放的是教师对作业的批改信息。 tb_message表存放的是学生教师互相交流的信息。 tb_public表存放的是管理员发布公告的信息
四、系统实现
本系统功能的实现采用了三层架构的思想。本系统的三层构架思想既页面表示层、业务逻辑层、数据访问层。三层之间的关系是页面表示层调用业务逻辑层,业务逻辑层调用数据访问层。采用三层构架其实也就是一种模块化的思想,它的优点是分工明确,处理效率高,代码重用性高,从而使系统性能能够得以提高,与此同时系统的安全性也大大提高了。
本系统有如下主要功能模块设计: (一)管理员模块设计
管理员模块主要实现对教师信息、学生信息、课程信息、公告的增删改查和看个人信息、改密码。
1.用户登录界面如图4-1所示:
- 21 -
安徽商贸职业技术学院
图4-1用户登录界面
重点代码如下:
private void doLogin(HttpServletRequest request,
if (code == null || !code.equalsIgnoreCase(sCode)) { }
User user = dao.findUserByNameAndPwd(userName, pwd); System.out.println(user.getLevel()+user.getName());
request.setAttribute(\, \验证码不正确\); request.getRequestDispatcher(\)
.forward(request, response);
return;
HttpServletResponse response) {
request.setCharacterEncoding(\);
response.setContentType(\); String userName = request.getParameter(\); System.out.println(userName);
String pwd = request.getParameter(\); System.out.println(pwd);
String code = request.getParameter(\); String sCode = (String) try {
request.getSession().getAttribute(\);
int level=user.getLevel();
HttpSession session = request.getSession() ;
if (user == null) {
request.setAttribute(\, \用户名或者密码不正确\); request.getRequestDispatcher(\)
.forward(request, response);
} else {
session.setAttribute(\, user.getUserid());
- 22 -
安徽商贸职业技术学院
}
}
session.setAttribute(\, user.getName()); session.setAttribute(\, user.getLevel()); session.setAttribute(\, user.getStunum()); if(level==1){
response.sendRedirect(\); }else if(level==2){ } }
// TODO Auto-generated catch block e.printStackTrace();
response.sendRedirect(\); response.sendRedirect(\); }else if(level==3){
} catch (Exception e) {
2.员添加学生的界面如图4-2所示:
图4-2员添加学生的界面
重点代码如下:
private void doaddStudent(HttpServletRequest request,
HttpServletResponse response) { User user=new User(); StuMsg stumsg=new StuMsg();
- 23 -
安徽商贸职业技术学院
boolean flag=false; try {
request.setCharacterEncoding(\);
response.setContentType(\);
String stuname=request.getParameter(\); String stunum=request.getParameter(\); String stupwd1=request.getParameter(\); String stupwd2=request.getParameter(\); String stusex=request.getParameter(\); String stuage=request.getParameter(\);
String stuaddress=request.getParameter(\); String stuqq=request.getParameter(\); String stuphunm=request.getParameter(\); String stuemail=request.getParameter(\); if(stupwd1.equals(stupwd2)){
user.setLevel(1); user.setName(stuname); user.setPassword(stupwd2); user.setStunum(stunum); stumsg.setSex(stusex);
stumsg.setAge(Integer.parseInt(stuage)); stumsg.setAddress(stuaddress); stumsg.setQq(stuqq);
stumsg.setPhonenum(stuphunm); stumsg.setEmail(stuemail);
flag=dao.addStudent(user, stumsg); System.out.println(\+flag); if(flag){
System.out.println(\添加成功\);
request.getRequestDispatcher(\
}
}
// TODO Auto-generated catch block e.printStackTrace();
}
on=addordel\).forward(request, response);
}else{
System.out.println(\两次输入密码不正确\); }
} catch (Exception e) {
3.添加教师的界面如图4-3所示:
- 24 -