SSH项目初体验

引:历时四天,终于在视频的帮助下完成了基于SSH(struts2+hibernate3+spring4)的一个网站商城项目,也是自己第一次采用idea开发项目简单,谈谈收获和感想。

代码流程

  1. 导包
    主要的文件:导三大框架的包
    这里的包我也不贴图了,都是最基本的jar包
  2. 框架配置
    这里我想说的是三个文件:
    1. web.xml:配置struts核心过滤器和配置Spring的核心监听器
    2. struts.xml:配置各种action
    3. applicationContext.xml:作为大管家事情也就比较多了,有配置数据库C3P0连接池,配置Hibernate引入数据源,事务管理,管理action,service,dao
  3. 按层码代码

分层架构

  1. web层
    主要使用action进行控制,这里使用了动态匹配,如userAction_*.action
    其中要点:
    1. 值栈:对于单个业务逻辑来说存取值实在是太方便了。
    2. 模型驱动:对于模块的对象使用模型存值也很方便
    3. 拦截器:对于后台范围一定要对访问进行控制,若未登录,请先登录
    4. ognl表达式:可以进行运算,除模型驱动以及值栈内取值之外都要加#
  2. service层
    本次项目并未多少体现出来,我们只要注意添加spring事务注解
  3. dao层
    此次使用的hibernate,要点如下
    1. 实体映射文件:对于主外键一定要设置正确,懒加载问题,级联删除问题
    2. hql语句:join的用法,面向对象的语句编写

项目模块

这里只是简单说说作为一个商场应该具有的模块

  1. 前台
    首页;前台用户 ;一级目录; 二级目录; 商品; 购物车; 订单
  2. 后台
    后台用户;一级目录;二级目录;商品;订单

查bug方法

即使是按着视频来的,但是也还是会出错,有的时候还查了一个多小时,bug:码农的一生之敌呀!
回到正题:首先看控制台错误,分析错误类型

  1. 前台传数据错误
    可以将表单的发送方式改为get,这个就可以从uri中看出错误了,自己好几次入坑,就是在参数填写的地方多了一个空格,欲哭无泪。
  2. 业务逻辑代码错误
    其实最简单也最烦,就是利用debug。按逻辑顺序进行查错。
  3. 数据库查询出错
    可以充分利用控制台输出的sql语句进行排错,将sql语句放到sql桌面程序中查询,是否与自己想要的结果一致,如果不一致,就很有可能是自己的hql语句写错,或者映射文件出错了。

感想

关于这个项目架构都是比较简单的,业务逻辑也都是CRUD也算简单,可能还有最重要的高并发问题没有考虑,但是整个项目做下来,自己也算理解了整个项目系统,但是自己绝对不能以CRUD为终点,继续向前加油!!!!