引:历时四天,终于在视频的帮助下完成了基于SSH(struts2+hibernate3+spring4)的一个网站商城项目,也是自己第一次采用idea开发项目简单,谈谈收获和感想。
代码流程
- 导包
主要的文件:导三大框架的包
这里的包我也不贴图了,都是最基本的jar包 - 框架配置
这里我想说的是三个文件:- web.xml:配置struts核心过滤器和配置Spring的核心监听器
- struts.xml:配置各种action
- applicationContext.xml:作为大管家事情也就比较多了,有配置数据库C3P0连接池,配置Hibernate引入数据源,事务管理,管理action,service,dao
- 按层码代码
分层架构
- web层
主要使用action进行控制,这里使用了动态匹配,如userAction_*.action
其中要点:- 值栈:对于单个业务逻辑来说存取值实在是太方便了。
- 模型驱动:对于模块的对象使用模型存值也很方便
- 拦截器:对于后台范围一定要对访问进行控制,若未登录,请先登录
- ognl表达式:可以进行运算,除模型驱动以及值栈内取值之外都要加#
- service层
本次项目并未多少体现出来,我们只要注意添加spring事务注解 - dao层
此次使用的hibernate,要点如下- 实体映射文件:对于主外键一定要设置正确,懒加载问题,级联删除问题
- hql语句:join的用法,面向对象的语句编写
项目模块
这里只是简单说说作为一个商场应该具有的模块
- 前台
首页;前台用户 ;一级目录; 二级目录; 商品; 购物车; 订单 - 后台
后台用户;一级目录;二级目录;商品;订单
查bug方法
即使是按着视频来的,但是也还是会出错,有的时候还查了一个多小时,bug:码农的一生之敌呀!
回到正题:首先看控制台错误,分析错误类型
- 前台传数据错误
可以将表单的发送方式改为get,这个就可以从uri中看出错误了,自己好几次入坑,就是在参数填写的地方多了一个空格,欲哭无泪。 - 业务逻辑代码错误
其实最简单也最烦,就是利用debug。按逻辑顺序进行查错。 - 数据库查询出错
可以充分利用控制台输出的sql语句进行排错,将sql语句放到sql桌面程序中查询,是否与自己想要的结果一致,如果不一致,就很有可能是自己的hql语句写错,或者映射文件出错了。
感想
关于这个项目架构都是比较简单的,业务逻辑也都是CRUD也算简单,可能还有最重要的高并发问题没有考虑,但是整个项目做下来,自己也算理解了整个项目系统,但是自己绝对不能以CRUD为终点,继续向前加油!!!!