




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WEB综合实训设计报告专业班级: 学生姓名: 学生学号: 成绩:年 月 日一、系统功能需求*管理系统从功能上可分为教师管理程序、学生管理程序和管理员后台管理程序,教师管理程序部分主要实现学生信息、课程信息、课程进度信息、评价作业的增删改查,学生管理程序部分主要实现了学生选课、课程分组、提交作业。管理员具有系统的完全权限;管理员具有添加和删除教师、学生的权限。1.1、系统主要功能模块具体描述如下:1.1.1、教师模块主要包括课程管理模块,学生管理模块,课程过程管理模块,教师个人信息模块。课程管理模块,主要功能:开课信息,选课信息。学生管理模块,主要功能:学生查询,学生添加。课程过程管理模块,主要功能:发布课程过程、管理课程过程。教师个人信息模块,主要功能:个人资料,密码修改,退出系统。1.1.2、管理员模块主要包括学生管理模块、教师管理模块,管理员信息模块。学生管理模块,主要功能:学生添加,学生修改,学生删除,学生查询。教师管理模块,主要功能:教师添加,教师修改,教师删除,教师查询。管理员个人信息模块,主要功能:个人资料,密码修改,退出系统。1.1.3、学生模块主要包括学生选课模块、课程分组模块、作业管理模块、学生个人信息模块。学生选课模块,主要功能:查询课程、注册课程。课程分组模块,主要功能:建立分组、加入分组。作业管理模块,主要功能:上交作业,作业查询。学生个人信息管理模块,主要功能:个人资料,密码修改,退出系统。1.2、系统模块结构图系统结构模块主要分三大模块,分别是管理员模块、教师模块和学生模块,其结构如下图所示登录学生登录教师登录管理员登录课程管理过程管理个人信息作业管理个人信息学生管理个人信息教师管理选课管理分组管理学生管理。图1.1系统结构图二、数据库设计利用MySQL建立一个数据库TeachingWeb,包含有6个表。CREATE DATABASE TeachingWeb CHARACTER SET gbk;USE TeachingWeb;2.1、管理员表AdminCREATE TABLE admin ( ID int(11) NOT NULL AUTO_INCREMENT, LoginName varchar(20) DEFAULT NULL, LoginPwd varchar(50) DEFAULT NULL, Privileges varchar(50) DEFAULT NULL, PRIMARY KEY (ID) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT=系统管理员表;2.2、用户表UserLoginCREATE TABLE UserLogin ( LoginName varchar(100) NOT NULL, ID int(11) DEFAULT NULL, LoginPwd varchar(200) DEFAULT NULL, UserType int(11) DEFAULT NULL, LastLoginTime Datetime DEFAULT NULL, LoginTimes int(11) DEFAULT NULL, Flag Varchar(2) DEFAULT NULL, PRIMARY KEY (LoginName) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT=用户登录表;2.3、教师信息表TeachersCREATE TABLE Teachers ( ID int(11) NOT NULL AUTO_INCREMENT, Name varchar(20) DEFAULT NULL, Gender int(11) DEFAULT NULL, Birthday varchar(20) DEFAULT NULL, Dgree int(11) DEFAULT NULL, Title int(11) DEFAULT NULL, Phone varchar(20) DEFAULT NULL, Degree int(11) DEFAULT NULL, Duty varchar(20) DEFAULT NULL, Fax varchar(20) DEFAULT NULL, Department varchar(50) DEFAULT NULL, Email varchar(50) DEFAULT NULL, Address varchar(100) DEFAULT NULL, Postcode varchar(100) DEFAULT NULL, Research varchar(100) DEFAULT NULL, Teaching varchar(500) DEFAULT NULL, AcademicResearch varchar(500) DEFAULT NULL, Question varchar(100) DEFAULT NULL, Answer varchar(100) DEFAULT NULL, PhotoPath varchar(100) DEFAULT NULL, PhotoType varchar(20) DEFAULT NULL, Gschool varchar(100) DEFAULT NULL, Gmajor varchar(100) DEFAULT NULL, PRIMARY KEY (ID) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT=教师信息表;2.4、学生信息表StudentsCREATE TABLE Students ( ID int(11) NOT NULL AUTO_INCREMENT, Name varchar(20) DEFAULT NULL, Gender int(11) DEFAULT NULL, Birthday varchar(20) DEFAULT NULL, College Varchar(100) DEFAULT NULL, Grade Varchar(4) DEFAULT NULL, Major varchar(100) DEFAULT NULL, Class1 varchar(100) DEFAULT NULL, Email varchar(50) DEFAULT NULL, Phone varchar(20) DEFAULT NULL, Question varchar(100) DEFAULT NULL, Answer varchar(100) DEFAULT NULL, PhotoPath varchar(100) DEFAULT NULL, Pototype varchar(20) DEFAULT NULL, HomePhone varchar(20) DEFAULT NULL, Address varchar(200) DEFAULT NULL, Remark varchar(500) DEFAULT NULL, PRIMARY KEY (ID) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT=学生信息表;2.5、课程信息表CoursesCREATE TABLE Courses ( ID int(11) NOT NULL AUTO_INCREMENT, TiID int(11) DEFAULT NULL, CourseName Varchar(50) DEFAULT NULL, Year Varchar(9) DEFAULT NULL, Term Varchar(1) DEFAULT NULL, TotalHours int(11) DEFAULT NULL, TheoryHours int(11) DEFAULT NULL, ExperimentHours int(11) DEFAULT NULL, Remark Varchar(500) DEFAULT NULL, TeachersVisits int(11) DEFAULT NULL, StudentsVisits int(11) DEFAULT NULL, PRIMARY KEY (ID) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT=课程信息表;2.6、课程进度列表CoursesScheduleCREATE TABLE CoursesSchedule ( ID int(11) NOT NULL, CiID int(11) DEFAULT NULL, Title Varchar(100) DEFAULT NULL, Content Varchar(500) DEFAULT NULL, Other Varchar(500) DEFAULT NULL, StudentsVisits int(11) DEFAULT NULL, CreateDate Datetime DEFAULT NULL, PRIMARY KEY (ID) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT=课程进度表;2.7、课程分组列表CoursesGroupCREATE TABLE CoursesGroup ( ID int(11) NOT NULL, CiID int(11) DEFAULT NULL, CsiID int(11) DEFAULT NULL, GroupName Varchar(100) DEFAULT NULL, HeaderID int(11) DEFAULT NULL, MaxUserLimit int(11) DEFAULT NULL, TaskTitle Varchar(50) DEFAULT NULL, PRIMARY KEY (ID) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT=课程分组表;2.8、学生选课分组列表StudentsCourseCREATE TABLE StudentsCourse ( ID int(11) NOT NULL, CiID int(11) DEFAULT NULL, CgiID int(11) DEFAULT NULL, Work Varchar(200) DEFAULT NULL, flag int(11) DEFAULT NULL, PRIMARY KEY (ID) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT=学生选课分组信息表;2.9、学生作业列表SubmitTaskCREATE TABLE SubmitTask ( ID int(11) NOT NULL, CiID int(11) DEFAULT NULL, CsiID int(11) DEFAULT NULL, SiID int(11) DEFAULT NULL, Flag int(11) DEFAULT NULL, Content varchar(8000) DEFAULT NULL, SubmitDate datetime DEFAULT NULL, IsCheck varchar(1) DEFAULT NULL, Comment varchar(1000) DEFAULT NULL, CommentDatetime datetime DEFAULT NULL, PRIMARY KEY (ID) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT=学生提交作业信息表;2.10、菜单列表MenuCREATE TABLE Menu ( ID int(11) NOT NULL, ParentID int(11) DEFAULT NULL, Name varchar(100) DEFAULT NULL, PRIMARY KEY (ID) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT=菜单表;2.11、流量统计表TrafficCREATE TABLE traffic ( ID int(11) NOT NULL AUTO_INCREMENT, SourceURL varchar(200) DEFAULT NULL, TargetURL varchar(200) DEFAULT NULL, IP varchar(20) DEFAULT NULL, Area varchar(40) DEFAULT NULL, VisitDate datetime DEFAULT NULL, PRIMARY KEY (ID) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT=流量统计表;2.12、IP地址表IpCREATE TABLE ip ( ipid int(11) NOT NULL AUTO_INCREMENT, startip decimal(10,0) DEFAULT NULL, endip decimal(10,0) DEFAULT NULL, address varchar(100) DEFAULT NULL, PRIMARY KEY (ipid) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT=IP地址表;三、系统实现本系统使用SSH框架实现便捷开发在web.xml文件中配置Spring。通过Spring 配置文件applicationContext.xml配置C3P0 、sessionFactory、事务管理器、事物拦截器集成ORM中间件Hibernate,在DAO组件中继承HibernateDaoSupport调用Hibernate。在Struts2的配置文件struts.xml中将对象工厂ObjectFactory设置为spring,装配Struts2的Action实例(在Struts2处理请求时,不同的请求均会生成一个相应的Action实例负责处理,在配置时使用原型模式,确保每次生成都是全新的Action实例)。在Struts2的配置文件struts.xml中配置Action映射,class属性不使用类全名,而是用Spring配置文件中定义的相应Bean实例名。TeachingWeb下包及其它资源:com.TeachingWeb.bean 存放其他JavaBeancom.TeachingWeb.DAO存放同意数据库访问接口DAO类com.TeachingWeb.ORM存放Hibernate的ORM映射文件及持久化类com.TeachingWeb.service存放所有业务逻辑接口com.TeachingWeb.service.Impl存放实现所有业务逻辑类com.TeachingWeb.struts.action存放Struts的Actioncom.TeachingWerceptor存放Struts的自定义拦截器com.TeachingWeb.tld存放自定义标签类com.TeachingWeb.util存放Java工具类messageResource_zh_CN.properties国际化资源文件perties日志信息管理perties表格显示标签3.1登录界面与代码图3.1主页该页面的程序如下:img src=/images/head.png /a target=_self href=/index.jsp首 页a target=_self href=/webs/searchCourses.jsp个人课程a target=_self href=/webs/forum.jsp个人分组a target=_self href=/webs/searchCourses.jsp查看进度a target=_self href=/webs/forum.jsp选 课a target=_self href=/webs/searchCourses.jsp讨论区修改密码修改资料 用户名:密码:input type=image src=/images/login.jpg onclick=checkForm(); return false;/定义一个变量用于存放XMLHttpRequest对象var xmlHttp;/定义一个变量用于存放登录状态,默认为未登录var loginStatus=false; /该函数用于创建一个XMLHttpRequest对象function createXMLHttpRequest() if (window.ActiveXObject) xmlHttp = new ActiveXObject(Microsoft.XMLHTTP); else if (window.XMLHttpRequest) xmlHttp = new XMLHttpRequest();/这是一个启动AJAX异步通信的方法function checkLogined()var now = new Date();/创建一个XMLHttpRequest对象createXMLHttpRequest();/将状态触发器绑定到一个函数xmlHttp.onreadystatechange = processResponse;/通过GET方法向指定的URL建立服务器的调用,加个临时参数,以便标识一个全新的请求xmlHttp.open(GET, /webs/isLogined.action?tmp=+now.getTime();/发送请求xmlHttp.send(null);/这是一用来处理状态改变的函数function processResponse()/定义一个变量用于存放从服务器返回的响应结果var responseContext;if(xmlHttp.readyState = 4) /如果响应完成if(xmlHttp.status = 200) /如果返回成功/取出服务器的响应内容responseContext = xmlHttp.responseText;if(responseContext.indexOf(Not Logined!)!=-1)/未登录document.getElementById(loginform).style.display=inline;else/已登录loginStatus=true; document.getElementById(logined_span).innerHTML=responseContext;/通过异步通信检查当前用户的登录状态checkLogined();/表单验证function checkForm()if (document.getElementById(loginName).value=)alert(对不起,登录用户名不能为空!);else if (document.getElementById(loginPwd).value=)alert(对不起,登录密码不能为空!);else/提交表单loginform.submit();/修改注册资料function editUserLogin()if (!loginStatus)alert(对不起,您尚未登录,请登录后再修改注册资料,谢谢合作!);elsewindow.location=/webs/editReg.jsp?tmp=+(new Date().getTime();/响应搜索按钮function search()var p1 = document.getElementById(searchtype).value;var p2 = document.getElementById(keyword).value;if (p2=)alert(对不起,请先输入关键字然后再搜索,谢谢合作!);elseif (p1=newmer | p1=prommer)/搜索课程window.location=/webs/searchMer.jsp?searchtype=+p1+&keyword=+encodeURIComponent(p2);else if (p1=news)/搜索姓名window.location=/webs/searchNews.jsp?keyword=+encodeURIComponent(p2);类型:课程课程姓名姓名分组名分组名 关键字:input type=image src=/images/search_right.jpg name=submit onclick=search()/首页-link href=/css/style.css rel=stylesheet type=text/css / 您现在的位置:首页 校园链接 公共课 校园新闻 讨论帖e:msgdialog basepath= height=1020 top=140关于我们 | 帮助中心 Powered by zzq(Build: 5 December 2012) document.write(img src=/webs/traffic.jsp?fromUrl=+escape(top.document.referrer)+&toUrl=+escape(top.document.URL)+ style=display:none/);当点击登录后,Ajax检测登录的用户是否正确,跳转/webs/loginUser.action到struts.xml下文件里查找loginUser这个Action中的login和isLogined方法,其代码如下:/* 处理登录请求 */public String login()/调用业务逻辑组件进行会员登录验证UserLogin tempUserLogin = service.UserLogin(model.getLoginName(), MD5.MD5Encode(model.getLoginPwd();if(tempUserLogin!=null)/在session中保存当前会员实例ServletActionContext.getRequest().getSession().setAttribute(userLogin,tempUserLogin);/更新最登录时间及登录次数tempUserLogin.setLastLoginTime(new Date();tempUserLogin.setLoginTimes(tempUserLogin.getLoginTimes().intValue()+1);service.saveOrUpdateUserLogin(tempUserLogin);/调用业务逻辑组件更新会员资料return INPUT;elseaddActionError(getText(login_fail);return INPUT;/* 供AJAX访问的登录验证方法 */public String isLogined()String result = Not Logined!;try /取得当前Action的原始PrintWriter对象,以便直接输出响应结果,而不用跳转到某个视图HttpServletResponse response = ServletActionContext.getResponse();response.setCharacterEncoding(gbk);response.setContentType(text/plain);PrintWriter out = response.getWriter();/判断是否已经登录UserLogin userLogin = (UserLogin)ServletActionContext.getRequest().getSession().getAttribute(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 牧业财务管理办法
- 2026届吉林省长春市宽城区市级名校中考数学适应性模拟试题含解析
- 职能员工管理办法
- 肺炎期间管理办法
- 网格营销管理办法
- 财务账户管理办法
- 紧急开关管理办法
- 2026届辽宁省大连协作校中考联考数学试卷含解析
- 山东省武城县达标名校2026届中考数学考前最后一卷含解析
- 辽宁省营口市2026届中考联考语文试题含解析
- 助理人力资源管理师考试真题及答案
- 《机电安装工程质量检验评定表》
- 贵州省公民文明手册
- 兰吉尔电表DLMS集成手册
- YS/T 320-2014锌精矿
- GB/T 9123-2010钢制管法兰盖
- 青蓝工程师徒结对师傅总结9篇
- 09S304 卫生设备安装图集
- 解三角形专题 - (解析版)
- 农业行政处罚中违法所得实务分析课件
- 传染病疫情演练脚本
评论
0/150
提交评论