项目分为两个模块:用户模块 管理员模块
设计指标:
1)使用Struts2、Hibernate和Spring框架实现新闻管理系统的前台和后台。
前台功能(用户模块):
a)首页按新闻类型分块列表显示每类新闻;
每条新闻显示的内容包括新闻标题和发布时间,要求对标题设置超链接,点击该链接后新开一个页面显示该新闻标题、发布时间、内容和来源。
b)在首页中还可以实现标题的模糊查询以及发布时间的范围查询。
后台功能管理员模块():
a)后台必须具有权限的用户才可以登录。
b)进入后台的用户,可以管理新闻类型和新闻。
c)新闻类型管理包括:发布新闻类型、新闻类型查看。点击新闻类型后打开新闻类型列表。在列表中的每条类型可以执行删除和更新操作。
d)新闻管理包括:发布新闻、新闻查看。点击新闻类型后打开新闻类型列表。在列表中的每条类型可以执行删除和更新操作。
e)新闻列表显示时可分页显示(可选)
f)要求用户登录以及发布新闻类型时进行非空校验;发布新闻时进行标题、内容等项目的非空校验,另外要求新闻必须属于某个类型。
2)要求使用连接池和事务管理。
功能比较简单 意在熟悉使用ssh框架
进入正题
- 新建一个Web项目导入 hibernate5、Struts2、spring5 的jar包
2.建立项目结构
3.新建spring Struts2 hibernate 配置文件
4.注意在这里配置导入文件位置
5 Struts2 导入包配置文件 注意点,这里经常踩坑
6 添加库 以及服务器的包 这里也是坑
7 准备工作完成 可以开始新建数据库了,注意都要设置id为主键并且勾选自动递增
admin表
category表
news表
8 添加dataBase生成bean文件以及hbm配置文件
输入
数据库帐号、密码
端口号就是你的数据库端口 默认都是3306
Driver. 选择 MySQL for 5.1
点击TestConnection
有个绿色的勾这样就算成功了 然后点击schemas页 勾选你需要数据库以及表
左下角点击Persistence
右键选择
勾选你需要的数据表 生成bean文件以及hbm配置文件
点击确定就行了
然后再去相应的文件夹查看
idea有一些坑 就是生成的hbm配置文件需要自己修改 生成的并不好用 我只是懒得创建文档
还有bean文件也是要自己改的 在里面 加个toString函数对后面开发比较有用
按住ALT+INSERT键 选择 toString就行了
9 这个项目采用的是自动扫描注解
因此不用在applicationContext.xml配置 action Service 以及 Dao
10 贴部分关键代码
Action自动扫描注解代码1:
校检代码2:
关键代码(使用持久化对象)3:
范围模糊查询Dao代码:
内容模糊查询Dao代码:
拦截器配置文件代码:
Spring配置文件
分页查询Action代码:
分页查询Dao代码:
分页查询Jsp页面代码:
分页查询效果:
前端页面1:
模糊查询页面:
注解:
Newaction.java
NewDaoInterface.java
NewService.java
总结经验
ssh
1struts 是因为struts是基于mvc模式的,很好的将应用程序进行了分层,使开发者更关注业务逻辑的实现,struts有着丰富的标签库,能大大的提高开发效率
使用hibernate是一个轻量级的持久层框架,功能丰富
使用spring 是因为他的控制翻转和aop框架多层的j2ee系统框架
2 在表示层中,首先通过jsp页面实现交互界面,负责传送请求和接收相应,然后后struts根据配置文件 将actionServlet接收到的request发给action处理
在业务层中,管理服务组件的spring ioc容器负责向action提供业务模型组件 和组件的协作对象处理组件完成业务逻辑,并提供事务处理,缓冲池等容器组件以提升系统性能和保证数据的完整性
在持久层,则依赖hibernate的对象化映射好数据库交互 处理dao组件请求的数据 病房会处理结果