Struts2框架实战之J2EE网购整合(Struts2+Hibernate)

版权声明:翀版 https://blog.csdn.net/biggerchong/article/details/84671214

5、Struts2框架实战之J2EE网购整合


说明:此次Struts2实战是在Hibernate的实战的基础上引入Struts2,最终实现Struts2+Hibernate5的框架。

上接Struts2拦截器&UI标签:https://blog.csdn.net/biggerchong/article/details/84633068

目录

5、Struts2框架实战之J2EE网购整合

5.1 引入Struts2框架环境

5.2 取代servlet模块

  5.2.1 重构登录模块

5.2.2 重构商品模块

5.2.3 重构购物车模块

5.3 权限管理(拦截器实现)   

5.4 总结


5.1 引入Struts2框架环境

         首先在github上下载Hibernate整合后的源码,用MyEclipse启动后,之后引入Struts2的jar包和struts.xml的配置文件,最后在web.xml中添加struts2的核心过滤支持,这样Struts2环境就引入进来了。

扫描二维码关注公众号,回复: 4599690 查看本文章


5.2 取代servlet模块

我们知道,Struts2是一种web层的MVC框架,使用Struts2就可以取代传统J2EE开发中servlet模块,利用Struts2的Action类将源码中的servlet的模块完全取代。

  5.2.1 重构登录模块

在登录模块中,

(1)首先更改登录模块的的myLogin.jsp与myRegister.jsp页面表单action属性;

(2)然后在struts.xml中配置package与package下的对应表单请求的action;

3)创建UserAction类,利用接口依次实现                                                                                                             UserServiceàUserServiceImplàUserDaoàUserDaoImpl;

(4)在UserDaoImpl中来利用Hibernate来实现与数据库交互的具体功能。

下面列出部分细节:

         struts.xml文件:

        

         UserAction类:

        

         个人中心信息显示:

 

5.2.2 重构商品模块

显然商品模块与前面的登录模块是差不多的,关键点是hibernate的处理,这里主要来说商品查询后如何在显示页面显示的问题,在这里我才用struts2的标签iterator属性来实现,如下图:

5.2.3 重构购物车模块

购物车模块中应该使用多个ShoppingCarAction的方法,这里为了减少代码量只用了一个方法,购物车和个人信息中心都应该设置权限管理,这部分将在后面设置访问权限(Struts2的拦截器来实现),这一板块这里还是主要关心页面显示,如下图:


5.3 权限管理(拦截器实现)   

登录权限管理:当用户未登录时,无法访问个人中心并要求用户登录;无法访问购物车(可以浏览商品)并要求用户登录。

首先编写拦截器,对登录时传入session中的userInfo进行查询,如果userInfo存在(不为null)不做处理;如果userInfo不存在(为null)进行拦截并且跳转页面至登录界面。

 

拦截器privilageInterceptor如下:

 

struts.xml中配置拦截器进行拦截:

         定义拦截器

         在指定位置拦截


5.4 总结

在整个整合过程中需要保持思路清晰,struts2框架就是一套流程,慢慢熟练起来将大大提升开发效率,对于框架的使用还是比较简单的,但是框架的原理?

尤其是对于SSH这种经典框架我们更应该知其然并知其所以然,当你足够理解SSH这套经典框架的原理后,对于Java开发中那上百种框架也能得心应手,在框架的学习中我们学会使用框架是框架的入门,理解框架开发的深层原理才是重中之重的精髓。当然目前博主还只是入门阶段,之后还需要看适当的书籍进一步加深理解,等我的功力练成那么随之而来将是深入理解SSH框架原理系列的大波福利,欢迎大家关注本人的CSDN博客。


最后当然是源码了呀!已上传至github:

         Struts2整合前源码:https://github.com/SCAsMessi/JavaStudy/tree/master/CSDN/%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8F%8A%E6%A1%86%E6%9E%B6%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/myWeb%EF%BC%88Hibernate%E6%95%B4%E5%90%88%E5%90%8E%EF%BC%89

         Struts2整合后源码:https://github.com/SCAsMessi/JavaStudy/tree/master/CSDN/%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8F%8A%E6%A1%86%E6%9E%B6%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/myWeb(Strtus2%2BHibernate%E6%95%B4%E5%90%88%E5%90%8E)

                                                                                                          ---Thanks             ----知飞翀

猜你喜欢

转载自blog.csdn.net/biggerchong/article/details/84671214
今日推荐