# Struts2、Spring与Hibernate整合应用:基于SSH框架的学生成绩管理系统
> 最近一个实验课程,需要做一个基于`SSH框架`的`学生成绩管理系统`。就简简单单做了一下……
## 1. 要求原文
> 其实这个要求文档,网上有......
### 1.1 实验要求:
(1) 整合Struts2、Spring和Hibernate框架
(2) 实现“登录”功能
(3) 实现“学生信息管理”功能
(4) 实现“学生成绩管理”功能
(5) 实现分页功能
### 1.2 实验目的:
+ 掌握Struts2的开发步骤
+ 掌握Hibernate的开发步骤
+ 掌握Spring的开发步骤,理解依赖注入、AOP、事务管理等
+ 掌握Struts2、Spring和Hibernate框架的整合
+ 掌握分页技术
### 1.3 实验思路:
1、 建库建表
2、 利用分层思想,建package
3、 添加Spring开发能力
4、 添加Hibernate开发能力
5、 生成Hibernate所需的POJO类和映射文件
6、 开发DAO层
(1) 新建DAO层接口。
(2) 新建DAO层实现类(该类要实现DAO层接口,继承HibernateDaoSupport类)。
(3) 在Spring配置文件中增加该DAO层实现类的定义,并需要依赖注入一个SessionFactory bean的引用。
7、 开发Service层
(1) 新建Service层接口。
(2) 新建Service层实现类,该类中需要声明所调用DAO层接口,并生其setter方法。
(3) 在Spring配置文件中增加该Service层实现类的定义,并需要依赖注入DAO层的bean。
8、 实现WEB层
(1) 在web.xml中增加struts2的过滤器和Spring的监听器。
(2) 增加Spring和Struts2的整合文件struts.properties。
(3) 新建所需的jsp文件。
(4) 新建Action类,该类要继承ActionSupport,同时该类要依赖注入Service的bean(声明+setter方法)。
(5) 在Spring配置文件中增加该Action类的定义,并注入Service层的bean。
(6) 在struts.xml中增加该Action的定义,其中class的属性是在Spring中定义的该Action bean的id。
9、部署运行
### 1.4 创建数据库:
> 在原文中,项目要求建立的数据库有相信的说明。这里不再赘述。
>
> 完整的数据库文件,请见 database/j2ee_student_db.sql
数据表主要有:
1. 登录表User
2. 学生信息表Student
3. 专业表Major
4. 课程表Course
5. 成绩表Grade
## 2. 项目实现
### 2.1 技术栈与开发环境
+ 后台基于`SSH`框架、采用`Maven`进行包管理,使用`Idea 2018`进行开发
+ 前端基于 `JSP`,使用`JQuery`,使用`ymPrompt`框架的弹窗
+ 数据库 `MySQL`,版本为`5.5.62`,编码格式为 `UTF-8`
+ 容器为 `Tomcat`,版本为 `8.0`
+ 全部字符集编码为 `UTF-8`
### 2.3 项目运行图
> 以下截图中的数据,非真实数据
**登录页面:**
![image-20210419203255142](md_images/image-20210419203255142.png)
**后台主页:**
![image-20210419203309031](md_images/image-20210419203309031.png)
> 如果直接访问后台主页,拦截器进行拦截,并返回登录页。
**学生管理之学生列表页:**
![image-20210419203417776](md_images/image-20210419203417776.png)
> 主要是分页显示数据。
**学生模糊查询页面**
![image-20210419203530244](md_images/image-20210419203530244.png)
![image-20210419203750906](md_images/image-20210419203750906.png)
**新增学生页面:**
![image-20210419203621881](md_images/image-20210419203621881.png)
> 其中学号是不可编辑的,由系统生成!
**添加成功后:**
![image-20210419203706243](md_images/image-20210419203706243.png)
> 添加成功后,提示“添加成功”,并且页面自动刷新加载新数据
**查看学生详细信息页:**
![image-20210419203848655](md_images/image-20210419203848655.png)
> 只能查看,不可编辑(主要是查看照片)
**编辑学生信息页:**
![image-20210419203932264](md_images/image-20210419203932264.png)
> 加载原始信息(包括照片),修改后,所有信息替换成新的。学号不可编辑。
**删除学生提示页:**
![image-20210419204012532](md_images/image-20210419204012532.png)
> 需要两步确认
**学生成绩管理页:**
![image-20210419204404388](md_images/image-20210419204404388.png)
> 这里懒得写分页了,逻辑和学生列表一致。
**筛选查询:**
![image-20210419204457727](md_images/image-20210419204457727.png)
**编辑成绩:**
![image-20210419204522067](md_images/image-20210419204522067.png)
> 关于成绩管理模块,上图中的“新增”和“删除”功能未实现,如有需要可扩充。
**课程管理:**
![image-20210419204642204](md_images/image-20210419204642204.png)
> 上图"新增"、“编辑”、“删除”功能未写。
**专业管理:**
![image-20210419204649661](md_images/image-20210419204649661.png)
> 上图"新增"、“编辑”、“删除”功能未写。
### 参考资料
1. 后台SSH框架基于:https://github.com/sysuKinthon/SSHLearning_pure_version
2. 前端模板来自:https://www.oneyuanma.com/code/27d4ceb7bc7c4741a9247b69143bc9bd.html
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于SSH(Struts2、Spring与Hibernate)框架的学生成绩管理系统 (1) 整合Struts2、Spring和Hibernate框架 (2) 实现“登录”功能 (3) 实现“学生信息管理”功能 (4) 实现“学生成绩管理”功能 (5) 实现分页功能 + 掌握Struts2的开发步骤 + 掌握Hibernate的开发步骤 + 掌握Spring的开发步骤,理解依赖注入、AOP、事务管理等 + 掌握Struts2、Spring和Hibernate框架的整合 + 掌握分页技术
资源推荐
资源详情
资源评论
收起资源包目录
基于SSH(Struts2、Spring与Hibernate)框架的学生成绩管理系统.rar (272个子文件)
main.css 9KB
style.css 5KB
ymPrompt.css 2KB
ymPrompt.css 2KB
ymPrompt.css 2KB
login.css 2KB
ymPrompt.css 2KB
ymPrompt.css 2KB
common.css 1KB
jHsDate.css 1KB
logoBg.gif 404KB
Logo.gif 19KB
ico-arrow.gif 9KB
ico-arrow.gif 9KB
ico-arrow.gif 9KB
ico-arrow.gif 9KB
ico-arrow.gif 9KB
btn.gif 4KB
menu.gif 3KB
btn_del_hover.gif 3KB
btn_config_hover.gif 3KB
btn_del.gif 3KB
btn_save2_hover.gif 3KB
btn_config.gif 3KB
btn_save2.gif 3KB
99.gif 3KB
btn_recycle_hover.gif 3KB
btn_checked_hover.gif 3KB
9.gif 3KB
btn_nochecked_hover.gif 3KB
btn_recycle.gif 3KB
btn_count_hover.gif 3KB
btn_checked.gif 3KB
btn_nochecked.gif 3KB
btn_count.gif 3KB
btn_export_hover.gif 3KB
btn_add_hover.gif 3KB
btn_export.gif 3KB
btn_add.gif 3KB
ask.gif 2KB
ask.gif 2KB
ask.gif 2KB
ask.gif 2KB
ask.gif 2KB
side_top.gif 2KB
info.gif 2KB
info.gif 2KB
info.gif 2KB
err.gif 2KB
err.gif 2KB
err.gif 2KB
err.gif 2KB
err.gif 2KB
topleft.gif 2KB
top.gif 2KB
columns.gif 2KB
info.gif 2KB
info.gif 2KB
right.gif 2KB
right.gif 2KB
right.gif 2KB
right.gif 2KB
right.gif 2KB
tab1.gif 2KB
tab2.gif 2KB
btn_search.gif 2KB
login-icon.gif 1KB
user.gif 1KB
btn_bg.gif 1KB
userBG.gif 1KB
titleBg.gif 1KB
here.gif 1KB
close.gif 1KB
side_li.gif 1KB
topBg.gif 1KB
footer.gif 1KB
bom_bg.gif 1KB
shugang.gif 1KB
btn_search_hover.gif 974B
btn_bg.gif 966B
close.gif 893B
btn_bg.gif 789B
btn_bg.gif 789B
titleIco.gif 780B
side_h3_on.gif 770B
side_h3.gif 769B
1_131023153541_1_08dd.gif 760B
close.gif 742B
pwd.gif 701B
username.gif 692B
close.gif 632B
btn_bg.gif 400B
close.gif 350B
bg.gif 324B
title_bg_left.gif 315B
title_bg_right.gif 312B
side_li_on.gif 308B
title_bg_right.gif 305B
title_bg_right.gif 297B
content_bg.gif 261B
共 272 条
- 1
- 2
- 3
资源评论
中年老码农
- 粉丝: 9
- 资源: 72
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- SpringBoot 视频点播系统:从设计蓝图到落地实现的探索之旅
- 使用 Fluent 在 2D 中模拟单个 气泡在水中上升 包括流畅的案例文件
- C#ASP.NET网盘管理源码数据库 Access源码类型 WebForm
- 深入解析 C++ std::thread 的.detach () 方法:原理、应用与陷阱
- Vue 条件渲染之道:v-if 与 v-else 的深度应用与最佳实践
- PHP网址导航书签系统源码带文字搭建教程数据库 MySQL源码类型 WebForm
- C++ 线程安全日志系统:设计、实现与优化全解析
- OpenGL使用OpenGL基于Instancing实现粒子系统
- 使用 ansys Fluent 进行径向弯曲散热器热分析
- 构建可复用 Vue 组件的实战指南与深度解析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功