355基于JAVA平台的学生信息管理系统设计及优化2Word下载.docx
- 文档编号:14876968
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:15
- 大小:302.86KB
355基于JAVA平台的学生信息管理系统设计及优化2Word下载.docx
《355基于JAVA平台的学生信息管理系统设计及优化2Word下载.docx》由会员分享,可在线阅读,更多相关《355基于JAVA平台的学生信息管理系统设计及优化2Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
班级编号
b_nianji
20
年级
b_banji
班级名称
b_yuanxi
院系名称
b_zhuanye
专业名称
b_beizhu
200
备注
(2)学生信息表
学生信息表包括学生学号、姓名、性别、所属班级、出生年月日、家庭住址等学生基本信息,学生信息表的具体设计如表4-2所示:
表4-2学生信息表(t_xuesheng)
x_id
x_xuehao
学号
x_xingming
10
姓名
x_xingbie
2
性别
x_banji
x_shengri
日期/时间
出生年月日
x_zhuzhi
家庭住址
x_beizhu
(3)课程信息表
课程信息表包括了课程名称、班级编号、人数、教室、教师名称等信息。
课程信息表的具体设计如表4-3所示:
表4-3课程信息表(t_kecheng)
t_id
t_banji
t_renshu
数字
人数
t_jiaoshi
教室名称
t_teacher
教师名称
(4)成绩信息表
成绩信息表主要包括课程名称、学生学号、学期、类型、分数等信息。
学习成绩信息表的具体设计如表4-4所示:
表4-4成绩信息表(t_chengji)
c_id
c_xuehao
学生学号
c_kecheng
课程名称
c_xueqi
学期
c_leixing
必修课或选修课
c_fenshu
考试得分
(5)缴费信息表
缴费信息表包括学生学号、学期、缴费金额、欠费金额、缴费日期以及操作员等信息。
缴费信息表的具体设计如表4-5所示:
表4-5缴费信息表(t_jiaofei)
j_id
j_xuehao
j_xueqi
j_jiaofei
缴费金额
j_qianfei
欠费金额
j_riqi
缴费日期
j_renyuan
操作人
4.2系统框架设计
系统主要采用了J2EE的架构,但是使用EJB的经典J2EE架构实现起来比较麻烦,学习曲线陡峭。
因此,在信息管理系统具体的开发时使用了Struts+Spring+Hibernate轻量级J2EE架构,这种开源的轻量级J2EE架构,不仅保留了经典J2EE的优点,而且具备更大的灵活性。
在系统中需要编写配置文件来获取各种框架的支持,并进行各种组件直接的协调。
在系统中使用了web.xml总控制器来进行全局配置:
<
servlet>
<
servelt-name>
action<
/servlet-name>
servelt-class>
mon.BaseServlet<
/servlet-class>
init-param>
param-name>
config<
/param-name>
param-value>
/WEB-INF/config/sturts-config.xml<
/param-value>
/init-param>
configFiles<
service.xml,database.xml<
/servlet>
其中的struts-config.xml是配置Struts框架的配置文件;
service.xml是Spring框架的配置文件,通过service.xml的配置,系统将bean的定义都放在其中,实现了系统中业务逻辑类之间的依赖反转;
database.xml对框架中的Hibernate进行了配置,其中包含了数据源、映射关系以及实体类之间的关系。
4.2.1表现层设计
友好的表现层实现,不仅仅体现在人性化的用户管理界面,更加重要的是必须对MVC分层原理的遵循。
分层原理能够将程序逻辑与页面渲染分开管理,从而避免了编码的混乱。
在控制器实现方面,系统定义了继承自Struts框架中ActionServlet类的BaseServlet类来作为前端控制器,并且重写了父类中的init()和destory()方法,congenial实现在系统初始化过程中进行日志记录。
在web.xml中指定了Struts配置文件的路径,在容器初始化的过程中,由ActionServlet自动对struts-config.xml文件进行加载和解析。
并通过doGet()和doPost()方法将控制权转交给处理具体业务的Action对象。
如果Action处理器直接继承struts框架中的org.apche.struts.action.Action类,并且重写父类中的execute方法,那么Action就只能实现一个业务逻辑,这样造成每个业务逻辑必须有一个Action类来支持,使得整个系统的逻辑非常混乱。
为此,系统使用Struts提供的DispatchAction抽象类,对其中的execute()方法进行重写,可以将一些功能类似的Action放到同一个Action处理器中。
在具体的工作中,通过对参数的判断来决定选取合适的方法。
其类图如图4-1所示:
图4-1表现层的实现图
4.2.2业务逻辑层设计
业务逻辑层为系统中的Action提供了Model(业务模型)组件,并且封装了数据访问的接口,为系统中的业务提供了面向对象的数据访问服务。
除此之外,还对系统中的缓冲池组件、权限控制以及事务进行管理,从而保证系统数据安全性和完整性,提高整个系统的性能。
Spring层实现的结构图如图4-2所示:
图4-2Spring实现结构图
采用面向接口的思想,使得层与层之间、模块与模块之间不是直接的提供服务,服务提供者不会被服务调用者直接实例化,而是定义了一系列的接口,服务提供者根据接口提供服务,而服务调用者更具接口调用服务,这样使得服务提供者和服务调用者之间没有直接的依赖关系,这样提高了系统的灵活性。
在系统中,针对每个业务模块都设计了一系列的接口对服务进行抽象。
业务逻辑层暴露接口给Action调用,所有的业务接口都继承了IBaseService接口。
在IBaseService接口中对服务调用的通用方法进行了定义。
这样的要出在于能系统中功能模块都封装在Service类中,方便对功能的统一管理。
并且减少了DAO层中类的数量。
4.2.3数据持久层设计
(1)ORM实现
Hibernate中的ORM的主要功能是完了数据库表到Java实体对象之间的映射。
Hibernate中的ORM映射图如图4-3所示:
图4-3HibernateORM映射图
在图4-3中,左边是数据库表USERS,右边是与之对应的Java持久化类User。
其中定义了各种属性的set()和get()方法,在Hibernate中使用了Uer.hbm.xml配置文件来完成其间的配置。
经过配置之后,系统中的功能模块只需要调用User类中的一些函数即可实现对数据库的操作,而不必要写update、insertinto等复杂的SQL语句。
通过User.hbm.xml配置问及那就可以实现数据库表和Java持久化类之间的对应关系。
(2)对数据源的配置
通过Spring与Hibernate的结合,可以由Spring对Hibernate框架提供数据源的配置支持,而不必要使用Hibernate风格的配置方法。
统一采用Springbean风格的配置方法。
!
--数据库连接、表、操作相关-->
beanid="
dataSource"
class="
com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="
close"
>
propertyname="
driverClass"
value>
com.microsoft.sqlserver.jdbc.SQLServerDriver<
/value>
/property>
jdbcUrl"
jdbc:
sqlserver:
//localhost:
1433;
databaseName=press<
/bean>
其中的dataSource属性是指定了系统所使用的数据库,数据源;
driverClass属性指明了Hibernate所使用的数据库驱动类;
jdbcUrl制定了系统中数据库的访问地址;
除此之外还有一些其他的属性,来为数据库的连接配置提供消息的配置参数(比如连接等待空闲时间或者连接池等设置)。
4.3具体功能实现
从第三章系统分析可以看出,基于Java的学生管理系统主要包括六个主要共功能,总计20个子功能模块,其主要的功能实现如下所示:
4.3.1系统登录
为了保证系统中数据的安全,系统需要对用户的系统登录用户名和密码进行验证后才能够正常使用系统所提供的功能。
系统登录流程如图4-4所示:
图4-4系统登录流程
系统登录实现的界面如图4-5所示,用户填写用户名和密码信息,点击“登录”按钮后,系统将会对用户提交的用户名和密码信息进行验证,从而确认是具有登入系统的权限。
图4-5系统登录界面
当用户点击主页“登录”按钮进行登录时,系统页面首先会根据用户是否在“用户名”、“密码”输入框中输入了相应的信息进行判断,从而减轻了服务器的压力。
其实现的大致流程如下所示:
(1)如果用户名没有输入用户名和密码,则系统提示用户输入用户名和密码,给出提示对话框,并且转到系统出错页面。
%
name=trim(request(“username”))
pwd=trim(request(“password”))
ifpwd=””andname=””then
response.write“<
scriptlanguage=javascript>
{alert(‘用户名和密码为空!
’);
window.location.href=’javascript:
history.go(-1)’}<
/script>
”
response.end
%>
(3)如果用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 355 基于 JAVA 平台 学生 信息管理 系统 设计 优化