JSP+Mysql网上在线答疑系统的研究与设计(3)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

JSP+Mysql网上在线答疑系统的研究与设计(3)


(1)用户信息表:该表主要包括用户编号、登陆名、姓名、密码、性别、电子邮件及用户角色等信息。
(2)问题信息表:该表主要包括问题编号、学生提问的问题、老师的回答、学生编号和教师编号等信息。
数据库逻辑结构设计:在数据库设计中,一般要使用E-R图对需求分析阶段的数据进行分类,形成实体,并确定实体之间的关系,并根据前面的需求分析得到系统各个实体间的关系,主要包括管理员,教师,学生。详细的数据库总体E-R图如图2所示。
 
图2  系统数据库总体E-R图
5.2数据库表
经过上面数据库需求分析和逻辑结构的设计,及其系统的总体的E-R图的设计,最终确立了数据库表的创建。系统数据库主要有两个重要的表,分别是用户表和问题表,具体信息如表1,表2所示。
表1  用户信息表
字段名称    数据类型    字段大小    是否主键    说  明
id    int    N/A    是    用户编号
username    varchar    20    否    用户登陆名
nickname    varchar    20    否    用户姓名
password    varchar    20    否    用户密码
sex    varchar    2    否    用户性别
role    int    N/A    否    用户角色
email    varchar    50    否    电子邮件
表2  问题信息表
字段名称    数据类型    字段大小    是否主键    说  明
id    int    N/A    是    提问编号
question    varchar    255    否    提问问题
answer    varchar    255    否    问题答案
sid    int    N/A    否    学生编号
tid    int    N/A    否    老师编号
6.系统实现
经过前面的系统需求的分析和数据库的创建,网上答疑系统的基本的雏形也产生了,大致分为公共类设计,登陆注册模块,学生模块,教师模块,管理模块。
6.1公共类实现
在程序开发过程中,一般会用到一些公共模块,如数据库连接及操作的类、字符串处理的类等。因此,数据库操作类用来完成数据库的连接操作,以及数据库的查询、添加、删除和修改操作。将这几种操作编写到一个公共类里,可以减少重复代码的编写,有利于代码后期的文护。
该系统中,用到的公共模块主要分为两种,一种是与数据库的连接,这个部分的公共模块在com.dao包中,其中的DbUtil类提供与MySQL数据库的连接,而JdbcUserDao类则是提供前台各个功能操作数据库的增、删、改、查的方法;另外一种是前台显示的功能模块部分,比如,myInfo页面,则是根据登陆用户的信息进行显示的,myPassword是对密码进行修改的页面,学生端,老师端和管理员端都是通过该页面进行密码修改。在前面的基础上,明确了系统实现的大致的流程,接下来就是各个功能模块的实现了。
6.2功能模块实现
6.2.1登陆注册模块
在使用Struts开发的过程中,有时候一个动作要对应到一个Action,但是这些Action中有些属性或方法是相同的,例如都要用到访问数据库的Bean等,如果在每个Action里重复书写,代码就显得冗长而乏,所以首先定义一个类Action,包含一些通用的属性和方法,以后每个Action继承它即可。 (责任编辑:qin)