JavaEE学生选课系统实验报告

更新时间:2024-03-23 09:35:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验报告

一、 二、

实验目的:使用JavaEE语言,由Struts2、Hibernate、Spring这三个功能描述:该系统具有登录、学生信息查询、实现学生信息的增加、删框架组合开发实现一个学生信息管理系统。

除和修改等操作。在登录学生信息管理系统时,如果没有登录成功,就回到登录界面,登录成功后方可进行各种操作,所以需要创建三个表:XSB表、ZYB表、DLB表。 三、

实验步骤:

1 打开SQLServer,将已有的数据库XSCJ还原到SQL数据库中。

2 打开MyEclipse,新建一个名为xscjManage_ZYW的Web Project。将lib包

复制到项目中,并且右击项目,打开【Build Path】→【Configure Build Path?】菜单项,选择【Add Jars?】,选择项目中刚考进去的lib包中的jar包,点OK。

3 选中项目,打开菜单项中的【Windows】→【show view】→【other】→【DB

Browser】,在【MyEclipse Derby】下新建一个名为test的数据连接驱动,并将jtds的jar包添加到Driver Jars中。其中Template用jtds,Connection URL为“jdbc:jtds:sqlserver://localhost:1433/xscj”,user name以及password都为“sa”。并且打开数据库连接。

4 选中xscjManage_ZYW,选择菜单项中的【MyEclipse】→【Project

Capalibities】→【Add Spring Capalibities?】,去掉MyEclipse的勾选,单击Next,去掉Enable AOP Builder的勾选,点Finish完成Spring的添加。

5 继续选择菜单项中的【MyEclipse】→【Project Capalibities】→【Add

Hibernate Capalibities?】, 去掉MyEclipse Libraries的勾选,单击Next,选择”Spring configuration file”, 单击【Next】,选择”Exisiting Spring configuration file”, 单击【Next】,在DB Driver中选择刚才创建的数据库连接驱动test, 单击【Next】,去勾选”Create SessionFactory class”, 单击【Finish】,完成Hibernate的添加。

6 打开test,打开xscj下的TABLE,右击DLB,选择【Hibernate Reverse

Engineering?】,在文本框中的”Java src folder”下点【Browse?】,选择xscjManage_ZYW下的src,新建包org.model,勾选Create POJO?和Java Data Object?并去掉Create abstract class的勾选。单击【Next】,将Id Generator选择为identity,单击【Finish】。生成DLB表对应的POJO类及

相应的映射文件。对XSB表和ZYB表进行同样的操作,只是XSB表的Id Generator应选择为assigned。 在映射文件Xsb.hbm.xml中添加代码:

7 实现DAO

在web项目下新建包org.dao,在该包下新建接口DlDao_ZYW,创建学号和口令查找、插入用户以及判断是否存在该学生的用户的方法。

新建接口XsDao_ZYW,创建插入学生、根据学号删除学生、修改学生信息、根据学号查询学生信息,分页显示学生信息,查询一共多少条学生信息的方法。

新建接口ZyDao_ZYW,创建插入专业信息、根据专业ID查找专业信息、查找所有专业信息的方法。

并新建包org.dao.imp,在该包下新建实现类DlDaoImp_ZYW.java、XsDaoImp_ZYW.java、ZyDaoImp_ZYW.java并使用Spring整合Hibernate后提供的HibernateDaoSupplort类,分别实现DlDao_ZYW.java、XsDao_ZYW.java和ZyDao_ZYW.java中的方法。

8 基于HibernateDaoSupport的DAO组件必须获得一个SessionFactory的引

用,然后才可以完成持久化访问。因此把这些DAO组件交由Spring容器的Bean来管理,而且在后面的业务逻辑中也要用到这些组件,所以要在Spring 配置文件中进行配置。

9 实现业务逻辑层

业务逻辑组件是为控制器提供服务的,他依赖于DAO组件,是对DAO的封装,通过其封装让控制器无需直接访问DAO的方法,而是调用业务逻辑的方法。

新建包org.service,在包下新建接口DlService_ZYW.java,创建DlDao

中的方法,并以同样的方法新建ZyService_ZYW.java。

org.service.imp,

XsService_ZYW.java下

和类、

DlServiceManage_ZYW.javaXsServiceManage_ZYW.java

ZyServiceManage_ZYW.java,分别实现DlService_ZYW.java、

XsService_ZYW.java、ZyService_ZYW.java中的方法。

把业务逻辑交由Spring容器的Bean管理,在Spring配置文件中进行配置:

class=\> class=\> 10 实现Web层

打开web.xml,在其中配置相应的过滤器和监听器。

contextConfigLocation /WEB-INF/classes/applicationContext.xml org.springframework.web.context.ContextLoaderListener

在src下新建文件命名为struts.properties,代码如下:

struts.objectFactory=spring 11 分页实现

新建包org.tool,在该包下新建类Pager.java,实现页面分页操作。 12 项目主界面

将所需要的图片直接复制到WebRoot目录下。

在WebRoot下新建jsp页面head.jsp,实现页面如图1,left.jsp如图2, foot.jsp页面如图3,right.jsp页面以及main.jsp如图4。

图1

图2

图3

图4

13 登录页面

在left.jsp中,超链接都是转向Action的,交由Struts2框架来处理,因为Struts 2 可以自己配置拦截器,用来验证用户是否已经登录,如果没有登录就跳转到登陆界面。而登录成功后就会跳转到成功界面。在包org.tool下新建拦截器MyFilter.java。

在Struts的核心配置文件struts.xml中对实现left.jsp中超链接跳转的Action进行配置:

login.jsp /xsInfo.jsp

/success.jsp /existXs.jsp /addXsInfo.jsp

在WebRoot目录下新建login.jsp页面,实现登录界面。 在struts.xml中进行配置:

login_success.jsp login.jsp

在src下新建包org.action,同时在该包下新建基于ActionSupport的类DlAction_ZYW.java。

由于Action实例是由Spring完成的,所以在applicationContext.xml文

4) 修改某学生信息

单击【修改】按钮,会跳转到学生信息修改页面。【修改】超链接交给Action且传递了该学生的学号作为参数:

/updateXsView.jsp 具体的方法实现在XsAction中。在Action类处理完毕后,跳转到修改页面updateXsView.jsp,页面如图11所示:

图11

当填写要修改的内容后,单击【修改】按钮,提交到updateXs.action:

/success.jsp

实现修改的方法在XsAction中实现。修改成功后会跳转到success.jsp页面,显示操作成功。

5) 添加某学生信息

在主界面中单击【学生信息录入】超链接,要实现学生信息的添加。超链接提交的Action配置在前面拦截器中已经进行配置,故这里不用再重复配置。添

加的实现方法还是在XsAction中。在XsAction类中添加一个List属性,并生成其getter和setter方法,用来保存专业集合,这样在页面中就可以直接调用。显示页面在addxsInfo.jsp中,显示如图12所示:

图12

输完学生信息后,单击【添加】按钮,提交给addXs.action,配置如下: /success.jsp /existXs.jsp 对应的实现方法在XsAction中。若是添加不成功或学号信息已经存在,就会跳转到existXs.jsp中,显示学好已存在。 四、

实验总结

本实验主要实现学生信息管理系统中学生信息的添加、删除、查询以及修改等操作。在操作过程中,遇到一些问题,比如说:存在配置文件时命名的相对应问题,代码输入问题以及一些开始创建项目的时候前期工作上的一些小错误,这些都容易导致后面的运行不能成功。

在本次实验中,我更深入的了解了Java EE方面的知识。

本文来源:https://www.bwwdw.com/article/nnp8.html

Top