# 基于 Struts2+Hibernate4+Spring4+EasyUI+MySQL 的网上商城项目实战源码
## [我的 CSDN 博客地址](http://blog.csdn.net/eson_15/)
## 0. 写在前面
项目基本完成了,与这个项目相关的博客也写了 30 篇了。总结一下这个网上商城的项目,我不会面面俱到,主要分为几个模块来总结,包括 用到了哪些技术等等,具体的细节我会在文章中附上快速链接,大家可以查看具体的某篇博文。
该项目总共可以分为这些主要的模块:
> - **项目环境的搭建**
> - **搭建后台管理系统**
> - **搭建前台显示页面**
> - **购物车相关功能**
> - **在线支付功能**
> - **邮件和短信的发送功能**
> - **域名的申请和项目的部署**
> - **表单验证和报表的显示**
下面针对每个模块,做一下具体的分析。
## 1. 项目环境的搭建
这是每个工程都少不了的环节,而且也会出现很多乱七八糟的问题,刚开始学 SSH 的时候,总是苦于搭建环境,因为不太熟练,但是熟练了就好了,主要是要“有节奏的”去搭建,也就是说搭建一个环境工程得一步步来,很多人上来就把 jar 包啪叽一下全导进去了,然后什么配置文件啊啪叽一下全写好或者从其他地方粘贴来,然后一运行,挂了……然后各种去找问题,何苦呢?这样的话就算搭建 10 次也不能得心应手。饭要一口口的吃,路要一步一步的走。
SSH 的环境搭建,我个人遵循的流程是:
> Spring --> Hibernate --> Spring 整合 Hibernate --> Struts2 --> Spring 整合 Struts2
每一步做完写个测试类测试一下,这很重要,因为一步步往下走的话,出错了也知道错在哪一步,去哪找问题,最重要的是,这种流程熟练了,下次再搭环境的时候就易如反掌了。关于 SSH 环境搭建的详细信息请看下面的博文:
[整合 Struts2、Hibernate4.3 和 Spring4.2](http://blog.csdn.net/eson_15/article/details/51277324)
[基本增删查改、Service 和 Action 的抽取以及使用注解替换 xml](http://blog.csdn.net/eson_15/article/details/51297698)
## 2. 搭建后台管理系统
后台管理系统我用的是 EasyUI 搭建的,说真的,EasyUI 我也是一知半解,前端的东西我了解的都不深,但是懂一点,具体用的时候也是各种去查的,也没系统的学过,所以没有一个良好的知识体系,但是也不影响去玩。程序猿都喜欢说玩一个技术啥的,听起来好像挺高大上的,慢慢的我也受到一些影响,也喜欢这么说了,不过我对于前端就真的在玩了……
jQuery EasyUI 是一组基于 jQuery 的 UI 插件集合体,而 jQuery EasyUI 的目标就是帮助 Web 开发者更轻松的打造出功能丰富并且美观的 UI 界面。开发者不需要编写复杂的 JavaScript,也不需要对 CSS 样式有深入的了解,开发者需要了解的只有一些简单的 HTML 标签。
EasyUI 的请求都是 AJAX 请求,不会有新的页面出来,全都都在 tab 选项卡中或者弹出一个窗口之类的。后台管理系统主要分为三部分:商品的类别管理、商品的管理以及销售管理。销售管理放在最后再说。
### 2.1 商品类别的管理
该部分主要涉及到了 **EasyUI 环境和后台框架的搭建**、**数据库的级联查询和分页**、**DataGrid 数据显示**、**Struts2 整合 JSON** 以及**商品类别的添加、删除、更新和搜索**。这也是遵循了该部分的一个完成的顺序。
DataGrid 以表格的形式展示数据,开发人员不需要具备特定的知识就可以操作它,它有个很好的帮助文档,比较详细,在本项目中我也介绍了创建 DataGrid 的几种方式,并且也简单介绍了一下 DataGrid 的部分属性,算是入门吧,我也是入门,多多开发才能掌握这个技术。
类别的添加、删除、更新和搜索功能,主要都是利用 EasyUI 自带的验证功能,添加商品类别的时,验证输入框的输入是否正确,是否必填等;删除时是否先选中的某一行或某几行;更新的时候每次只能更新一行等,所有这些都是 AJAX 请求。
关于这部分内容的详细信息,我已经归类了,请参考这些博文:
[使用 EasyUI 搭建后台页面框架](http://blog.csdn.net/eson_15/article/details/51312490)
[EasyUI 菜单的实现](http://blog.csdn.net/eson_15/article/details/51297705)
[数据库的级联查询和分页](http://blog.csdn.net/eson_15/article/details/51320212)
[基于 DataGrid 的数据显示功能](http://blog.csdn.net/eson_15/article/details/51322262)
[Struts2 和 Json 的整合](http://blog.csdn.net/eson_15/article/details/51332758)
[DataGrid 实现查询和删除功能](http://blog.csdn.net/eson_15/article/details/51338991)
[DataGrid 实现添加和更新功能](http://blog.csdn.net/eson_15/article/details/51347734)
下面是我自己遇到的问题:
[Struts2 和 Json 整合中的懒加载异常问题](http://blog.csdn.net/eson_15/article/details/51394302)
[Hibernate4 执行 save()或 update()无效](http://blog.csdn.net/eson_15/article/details/51383298)
### 2.2 商品的管理
商品的管理也有添加删除等操作,跟类别管理道理上是一样的,有个地方就是商品的添加,需要上传商品的照片,这里涉及到了 **Struts2 实现文件上传**的功能,我们需要在服务器端建一个文件夹专门用来存储上传文件的,然后写一个 model 来接收文件,关于文件上传,要专门写一个工具类,项目中开发就是这样的,共性的代码一定要抽取,哪怕只有一句代码也要抽取!这是习惯,也是必须要做的。具体细节参下面列出的这些的博文:
[商品类基本模块的搭建](http://blog.csdn.net/eson_15/article/details/51354932)
[查询和删除商品功能的实现](http://blog.csdn.net/eson_15/article/details/51360804)
[添加和更新商品功能的实现](http://blog.csdn.net/eson_15/article/details/51366370)
[Struts2 实现文件上传功能](http://blog.csdn.net/eson_15/article/details/51366384)
## 3. 搭建前台显示页面
当然,前台的页面不是我设计的,这一块内容我总结的是跟前台显示相关的一些后台技术,比如:**监听器获取首页数据**、**定时器同步首页数据**、**Hibernate 二级缓存处理热门商品的缓存**等。
以前在学习 serlvet 的时候,首页显示数据我是这么干的,用一个 frame,右边显示数据,那么 index.jsp 中右边的部分我跳转到一个 servlet,然后 servlet 中去数据库中取出所有商品,放到 request 域中带过去新的 JSP 页面显示。这虽然能实现,但是很笨。在这里我用了监听器来干这件事,首先自己定义一个监听器,在项目启动的时候把数据库中所有商品信息给取出来,放到 application 域中,然后首页中直接用 EL 表达式从 application 域中去取即可。
还有个问题,当我在管理系统中添加一个新的商品时,我必须要重启一下 Tomcat 才能将新的商品加到 application 域中,因为第一次取出来后就一直在 application 域中了,就定死了,后面新添加的就不在 application 域里面,为了解决这个问题,我使用了定时器来同步首页数据。于是改写了之前写好的监听器,在监听器中设置一个定时器,获取数据库中商品的数据的代码放到定时器任务中,第一次开启立马执行,然后每 6 个小时执行一次(时间可以自己随便设定),也就是说每 6 个小时重新获取一下数据库中的商品,存到 application 域中。一般网站也是这么干的,像 CSDN 的个人博客主页也是,每天更新一次排名,大概是晚上 10 点左右吧,具体时间我忘了。那个时候刷新就会看到数据的更新,�
没有合适的资源?快使用搜索试试~ 我知道了~
基于Struts2+Hibernate4+Spring4+EasyUI+MySQL实现网上商城项目【100012647】

共663个文件
html:172个
css:135个
png:133个

1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
10 浏览量
2023-06-07
14:08:06
上传
评论
收藏 4.78MB ZIP 举报
温馨提示
本项目为基于Struts2+Hibernate4+Spring4+EasyUI+MySQL的网上商城项目。该项目包含后台管理系统、前台显示页面和数据库。具体实现的功能有:购物车相关功能、在线支付功能、邮件和短信的发送功能等。
资源推荐
资源详情
资源评论
























收起资源包目录





































































































共 663 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论


神仙别闹
- 粉丝: 2347
- 资源: 7304

下载权益

C知道特权

VIP文章

课程特权

开通VIP
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
