javaee-学生信息管理系统(课程设计报告)内含工程源码_第1页
javaee-学生信息管理系统(课程设计报告)内含工程源码_第2页
javaee-学生信息管理系统(课程设计报告)内含工程源码_第3页
javaee-学生信息管理系统(课程设计报告)内含工程源码_第4页
javaee-学生信息管理系统(课程设计报告)内含工程源码_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、孑科总女绞GUILINUNIVERSJTYOFELECTRONICTECHNOLOGYJAVAEE课程设计报告题目:学生信息管理系统学院:计算机科学与工程专业:计算机科学与技术学生姓名:指导教师:2015年7月1日目录引言错误!未定义书签。一、系统需求分析错误!未定义书签功能分析错误!未定义书签系统结构分析错误!未定义书签系统流程分析错误!未定义书签二、系统概要设计错误!未定义书签三、系统详细设计错误!未定义书签数据库设计错误!未定义书签设计原则错误!未定义书签数据库组成错误!未定义书签数据库表的结构错误!未定义书签系统模块设计错误!未定义书签登录模块错误!未定义书签系统管理模块错误!未定义书

2、签学籍管理模块错误!未定义书签成绩管理模块错误!未定义书签四、系统实现和演示错误!未定义书签系统Model层实现错误!未定义书签。系统配置和界面错误!未定义书签界面实现错误!未定义书签显示学生所选课程信息错误!未定义书签显示课程成绩错误!未定义书签修改学生信息错误!未定义书签管理员管理界面错误!未定义书签hibernate配置文件设置错误!未定义书签。Struts-config配置文件设置错误!未定义书签。五、开发过程中所用到的技术错误!未定义书签软件工程的思想方法错误!未定义书签MVC思想错误!未定义书签。错误!未定义书签六、总结错误!未定义书签参考文献错误!未定义书签。引言随着计算机技术的

3、迅速发展和网络技术的突飞猛进,人们迫切要求利用这些新技术以减轻个人的工作负担及提高工作效率。目前,学校工作繁杂、资料重多,管理信息系统已进入高校,但还未普及,而对于学生信息管理来说,还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。根据开发要求,它主要应用于教育系统,完成对日常学生基本信息以及成绩的录入查询更新删除等管理操作,实现学生信息管理的计算机化。开发学生信息管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理。因此,本文描述如何基于MVC框架,使用Hibernate和

4、Struts,开发一个“学生信息管理系统”。其中,Model由Hibernate来负责,Control则使用Struts来实现,利用mysql建立数据库。本系统是采用B/S模式进行开发的,系统的用户权限有三种:学生、教师和系统管理员,不同权限用户登入到不同的操作界面。该系统主要由学籍维护、选课管理、成绩查询等功能模块组成,本文具体介绍了各功能模块所包含的小模块的功能,学籍维护模块主要是对学生的基本信息进行添加、查询、修改、删除;选课管理模块主要是对选修的课程进行添加、删除、统计选修人数,以及学生进行选课和更改选课;成绩查询模块主要是对必修课进行添加、删除、录入成绩,以及学生进行查询成绩等功能。

5、项目开发的工具本系统采用+MySQL+开发MyEclipe简介MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。在结构上,MyEclipse的特征可以被分为7类:JavaEE模型WEB开发工具EJB开发工具应用程序服务器的连接器

6、JavaEE项目部署服务数据库服务MyEclipse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。MySql简介MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

7、与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。Tomcat简介Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总

8、是能在Tomcat中得到体现,Tomcat5支持最新的Servlet和JSP规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat是个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于个初学者来说,可以这样认为,当在一台机器上配

9、置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。这里的诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。3数据库的连接本系统采用JDBC连

10、接方式。JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBCAPI,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC

11、API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标

12、准的目标并且具有简单、严格类型定义且高性能实现的接口。Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是Java应用程序与各种不同数据库之间进行对话的方法。而JDBC正是作为此种用途的机制。JDBC扩展了Java的功能。例如,用Java和JDBCAPI可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库。企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有Windows、Macintosh和UNIX等各种不同的操作系统)。随着越来越多的程序员开始使用Jav

13、a编程语言,对从Java中便捷地访问数据库的要求也在日益增加。MIS管理员们都喜欢Java和JDBC的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务,Java和JDBC可为外部客户提供获取信息更新的更好方法。一、系统需求分析功能分析(1)用户登录:用户登录(一个界面)通过验证分为管理员,学生,老师登陆三个主页面。学生信息管理系统采用用户名

14、及密码验证模式,进入学生信息管理系统前,用户必须在登陆页面输入用户名及密码,只有验证通过的用户方可进入学生信息管理系统操作主页面。(2)学生信息管理:管理员对学生信息进行删除,查询和修改。3)课程信息管理:管理员也可以进行删除,修改和查询功能,同时学生可以选课和查询该课程成绩,和查询课程成绩。老师根据所授课程对学生录入成绩(4)用户管理:三种用户可进行注销进行切换,可以修改密码系统结构分析系统流程分析通过分析描述,可以很轻松的将系统的运行流程设计出来。系统运行流程如图所示:学生信息管理系统流程图如上图所示:通过对流程的分析,即可进行下一步工作系统的概要设计。二、系统概要设计运用面向对象的设计方

15、法,这个阶段设计一下系统的大体框架。最直接的方法就是直接将流程图直接映射成为项目文件。参照上一节的系统流程分析,直接将流程图中的流程变为JSP页面,流程之间测转换则映射成为Action和Struts的导航规则。系统中所有的数据库相关操作都由Hibernate中的DAO(数据访问对象)类来实现。由于使用了JSP页面,所以不仅可以使用HTML标签,同时还可以使用JSP中的EL语言和Struts中的标签。为了更好的配合JAVAEE开发,数据库采用MYSQL。三、系统详细设计数据库设计设计原则(1)密码管理:学生修改学生查询密码;教师可以修改查询密码。(2)每个教师可以查看所有学生的成绩,包括每门课程

16、的成绩、每门课程的平均成绩、每个分数段的成绩。学生根据自己的学号查询本人的成绩。管理员可以对学生、老师等信息进行增加、删除、修改等操作。数据库组成本系统中共用到了7个数据表,如下admin表:记录管理员信息;teacher表:记录教师信息;student表:记录学生学籍信息;kechengbiao表:记录选修课信息;chegnji表:记录学生基础课信息;成绩关联表:记录学生基础课成绩信息选课关联表:记录学生选课信息。数据库表的结构字段名字段描述是否主键数据类型长度约束说明admin_id管理员ID是varchar20Not主键nullpassword密码否varchar20Notnull表3-

17、1admin表字段名字段描述是否主键数据类型长度约束说明tno教师号是varchar20Notnull主键tpss密码否varchar20Notnulltname教师姓名否varchar20Notnullsex性别否varchar20Notnulljibie职称否varchar20Notnulltel电话号码否varchar20Notnull表3-2teacher表字段名字段描述是否主键数据类型长度约束说明name学生姓名否varchar20Notnullstu_id学号是varchar20Notnull主键password密码否varchar20Notnullsex性别否varchar20N

18、otnullzy专业否varchar20Notnullmz民族否char10Notnullzzmm政治面貌否varchan20Notnullcym曾用名否varchar20sfz身份证否varchar20csrq出生日期否varchar20jg籍贯否varchar20jkzk健康状况否varchar20rxnf入学年份否varchar20jtdz家庭地址否varchar50jtdh家庭电话否varchar20yzbm邮政编码否varchar10lxfs联系方式否varchar20email邮件否varchar20qtlxfs其他联系否varchar20bz备注否varchar203-3stud

19、ent表字段名字段描述是否主键数据类型长度约束说明学期号学期号varchar20cno课程号是varchar20Notnull主键cname课程名否varchar20Notnull学分学分否varchar20主讲教师主讲教师否varchar203-4chengji表字段名字段描述是否主键数据类型长度约束说明cno课程号是varchar20Notnull主键cname课程名否varchar20Notnulltno任课教师否varchar20星期几星期几否varchar20时间时间否varchar20classno上课教室否varchar20表3-5kecheng表字段名字段描述是否主键数据类型长

20、度约束说明id自动标识是int4Notnull主键stu_id学号否varchar20Notnullcno课程号否varchar20Notnull成绩成绩否varchar20Notnull重修成绩重修成绩否varchar20Notnull表3-6成绩关联表字段名字段描述是否主键数据类型长度约束说明id自动标识是int4Notnull主键stu_id学号否varchar20Notnullcno课程号否varchar20Notnull表3-7选课关联表系统模块设计登录模块为了系统的安全,在进入系统之前首先会出现一个登录模块,用户只有在输入正确的用户名和正确的密码之后,才能进入系统。用户登录窗体中放

21、置了两个文本框,用来输入用户名和密码;两个按钮用来确定或者重写登录。设置三个单选控件,供不同用户登录时选择用户权限,管理员拥有一切权限(包括添加删除和修改以及对用户的管理),教师和学生拥有受限制的权限(如查询及修改密码),提高了数据库的安全性。登录模块图如下图所示:系统管理模块添加用户窗体的创建进入系统后,将会出现一个主窗体,选择系统管理模块下的添加用户,就可以进入添加用户窗体,可以通过该窗体增加新的用户。在这个窗体中放置了五个文本框,用来输入用户名、密码出生时间、总学分和备注;一个下拉列表框和两个单选框用来确定专业和性别;两个按钮用来确定是否添加用户;修改密码窗体的创建在系统管理模块下,进入

22、修改密码窗体,用户可根据需要修改自己的密码。在这个窗体中放置了三个文本框,用来输入原始密码、新密码和确认新密码;两个按钮用来确定是否修改密码。学籍管理模块添加学籍信息功能选择主窗体中学籍管理模块下的添加学籍信息,就可进入添加学籍信息的窗体,在该窗体中我们可以对学生的学号、姓名、性别、出生日期、班号等学生的信息进行添加。添加的信息将全部存储到数据库中。在窗体上放置多个文本框和下拉式文本框,用来输入学籍信息;两个按钮用来确定是否输入学籍信息;一个按钮用来退出窗体;多个标签用来提示文本框中需要输入的内容。修改学籍信息功能点击学籍管理模块下的修改学籍信息,就进入修改学籍信息的窗体,在该窗体中我们可以对

23、前面添加的学籍信息进行修改。由于用户的需求不同,有的是要对学生的信息做个别的改动,有的是需要删除该条记录,所以该窗体同时包括了修改记录的功能和删除记录的功能。查询学籍信息功能进入学籍管理模块下的查询学籍信息窗体,在该窗体中可以对学生的信息进行查询,有三种查询方式。一方面考虑到简洁的因素,用户可以只设置一种查询方式进行查询;另一方面又为了避免数据的重复,用户可以输入详细的信息,也就是同时设置多种查询方式进行查询。进入查询窗体时,会显示出所有学生的学籍信息,如果不设置查询方式就进行查询,是无效查询,系统会给出提示。在设置好查询方式后,便开始查询,将显示出用户所需的学生的学籍信息。成绩管理模块成绩信

24、息管理功能点击成绩管理模块下的成绩信息浏览,进入成绩信息浏览窗体。点击工具条中的修改、添加和查询按钮就可分别进入修改成绩信息窗体、添加成绩信息窗体和查询成绩信息窗体。这三个窗体的界面设置分别类似于学籍管理下修改学籍信息窗体、添加学籍信息窗体和查询学籍信息窗体。四、系统实现和演示要明确的是,该项目是一个基于MVC结构的,其中使用作为整个MVC的实现,其中的Action又充当控制器的角色(当然包括了配置文件的导航作用),作为Model的实现。现在在MyEclipse10下新建空的web项目,然后在项目根目录src文件夹下建立两个包:-:田com.action:七Go-in.entityaction

25、包用来存放Action类,entity用于存放从hibernate逆向过来的实体类的java文件。系统Model层实现由于工程属于数据库先行的方法,因此需要将数据库逆向成为hibernate实体类,中提供了这样的工具。在逆向之前,我们需要对我们建立好的数据库在MyEclipse的Hibernate视图下建立连接。方法是,在Hibernate视图,左边DBBrowser鼠标右击-【new】,然后再弹出的对话框中填写好相关信息,点击【Finish】即新建一个数据库连接。建立好需要的数据库连接之后,就要为项目添加Hibernate组件了,方法是:方法是:在项目上点击鼠标右键-【MyEclipse】-

26、【AddHibernatecapabilities】,然后选择Hibernate版本,这里用的是,然后单击【Finish】接下来,就可以着手将数据表逆向到Hibernate实体类了,还是要到数据库视图,双击打开之前建立好的数据库连接,选择要逆向成为实体类的数据表,鼠标右击-【HibernateReserverEngineering】,在弹出来的对话框中,选择实体类生成的位置一一也就是之前建立的包。勾选生成DAO类,其余设置保持默认即可,点击【Finish】完成数据表的逆向,此时再回到工程视图,可以看见生成好的实体类和实体的DAO类。这里,每一个实体类实际上由三个完成Hibernate功能的添加

27、。田1corn.entiiyJJAbstractAdmin.jeiva,12AbstractCustomers-J4AbstractGe*nIg.jsvaAbstrattLogrecord.java!J|AbstractRe!erw,e.jawaj|AbEtractVisted.javaj|Admin.javaFi|AdminDAO.javeJBesbIHibsrnateDAO.jsvaJJCuatomers.jsvsCustomc-irsDAO.javaJJGenlog.javaJJlGcnlogDAO.javaIJlHib-ernateSe-ssionFactcuy,javeiITBase

28、HibernateDA.0.java衲LogrecQird.java4LogreroirdDAOjaaAIR&g&irve.javaIlIRe-zBirveDAO.javal|Viste-d.jsvaMVist&dDAO.Java文件组成:抽象实体类、具体实体类和实体数据库访问对象(DA0)。抽象类中包含了数据表的属性和一些抽象的方法,具体实体类中则是方法的具体实现,DAO类则是实现了对数据库记录的操作。Hibernate已经为DAO类提供了一些常用的方法,而Hibernate自身实际上是用hql语句对数据库进行操作的,如果在使用过程中需要自定义新的数据库操作方法,则可以在对应的DAO文件中编

29、写相应的方法。到此,Model层就实现了,由于使用了Hibernate.Model的实现变得非常容易。系统配置和界面界面实现围绕系统用例,从用例出发来设计所需的Action。那么按照用例,第一个Action的作用应当是实现用户的登陆,若登陆成功,该Action应当导航到用户登陆成功界面,失败则给出提示信息并停留在登陆页面。登录页面图如下:学生课程及成绩管理系统用户类型:学生V用户容:密码:*1登录登录页面代码如下:V麵page1anguage=f,javacontentType=t已Kt/htvwlfchars已七=总七于-E%-loginOtyletype=Jrt已乂古/匸55!-.styl

30、elcolor:9099FFifeint-weight:bold;font-size:xx-Larg已;.color;抨尸阳餉-Vtralign=J,centerr学生谋稳忑战毁雷岂罢縫t!t弔户iiZ+rlX学生角色登录系统成功后,会出现下面的页面:ilia页面代码如下:您已经成功诵讨验证!您可以使用如下服务ahref=/method三getDisplayCourse选修课程ahref二/method二geCheckmark查看成绩ahref=/method二getEditStudent&self=1更改信息ahref=/注销显示学生所选课程信息|斟耐吕pziSWta懺冊近毛日可匚k显示课程

31、成绩hph!5毗K/tr?.::Cu::gtdfOrEctiitWS-Si-olLlst-TiW-llstCIiAAM&lufi?,S(list.fcrti.jiOut?idbc:mtvslufHLLst.MoreJ/c;wt?/cr?-/cifcrEithsl/tabL*!代码如下:查看成绩您所有的成绩tableborder二1align二centerwidth二85%课程名称学分成绩Backftdn-li2S当前貝:1朗上一页第*页下一页砸修改学生信息褐故学生伫息学生姓名*L36K612332123电话020-38977S9邮件地址3677学生所在系曲机1困(管理员管理界面修改学生信息所有

32、学生学号姓容箱盍空码性别电话001那云南I;13计耳机13608912332123020-3897789002林华北京123电子索男13812396870731-482104S70-1.是记录当前页:1齐贞卜以第“页下一丈尾页修改老师信息所有袪师1L23as.2MSU#123WS.共Q页-1新餾豊页:1甘页上一页第17=页下一贡禺页修改课程信息flISS预曲IW1ja基础网|3ttw枷2tm开疑r修改综合lewISMtDS3OT7010K艇师4jBili999110-1MW-书m砥060901B老师ijav俱停110-2呈期一F二节aaa|w陡扶0页1采记录当前页.L百氏上一丙葩;“页下一贡亀

33、页MyEill附J跆-咛HMVI恥rShbR阳wcfgjwiMy呷罠颐即群呦0世聞苗hibernate配置文件设置F.k-Edtei:_Si_CME.ifJkriKrAaiDUMis.FrEipHH-=liKick*K:ed5upp:-MRelerfftoMLltarkt咄bAppLilriniijifrWqAi43.1hibernate.cfg.xmlFraiid*irTtrinalBrrwury&rbfcvrnalaIoEpmadBycirdaiiai.Vaar:anflfliFesihitcirfTKk/NHoii5ii呂TLIimUico*h*uiadrEjrcodngLiirruiTW:rmlMrSQLSarAijrimaniiGainer9r4ir5tB工urek_.*iPwpirtfp#ciyKltCliDiialbfiiHririvp*Dpartiai.SWWi.-MlI-iTiKnam

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论