CRM的SSH框架整合

Struts2,Spring,Hibernate5框架整合简称:SSH

零:CRM项目总结

这几天利用一点时间,把SSH框架整合了一下,顺便感受了一个SSH框架带来的好处。个人感觉SSH框架重点在前期的环境搭建,也就是配置文件的配置。配置好后,一切就水到渠成,如同火车行驶一样,一切就按部就班的写。下面来细细说说。

一:SSH框架整合前戏

1:导入Struts2的Jar包:一共有14个Jar包;
2:导入Hibernate5的Jar包:一共有20个Jar;
3:导入Spring4的Jar包:一共15个Jar包;
*注意:其中有重复的冲突包(删除包的原则,删除低版本的jar包)
4:Struts2的配置文件:在web.xml中配置前端核心拦截器;在src目录下配置struts.xml的配置文件
5:Hibernate的配置文件:在src目录下配置hibernate.cfg.xml;在JavaBean类所在目录配置JavaBean的类名.hbm.xml
6:Spring的配置文件:在src目录下配置applicationContext.xml;在web.xml中配置监听器;

7:日志的配置文件:在src目录下配置log4j.properties

----------------------------------------------------------------------------------------------------------------------------------------------------------------

1:CRM整合前奏
1:创建数据库,crm_ssh;
2:创建表,base_dict,cst_customer,cst_linkman,sale_visit,sys_user;
3:创建包结构,com.crm_ssh01.web.action,com.crm_ssh01.service,com.crm_ssh01.dao,com.crm_ssh01.domain;
4:在com.crm_ssh01.domain包下创建数据库表对应的持久化类,基本类型数据都用包装类型
5:导入UI界面;
2:CRM整合前戏
1:导入Jar包;
2:创建config资源包,开始配置配置文件;
WEB层:(Action层,Struts框架)
struts.xml  config目录下创建struts的核心配置文件,引入头文件
web.xml     Struts的前端控制器,核心过滤器
业务层:(Service层,Spring框架)
applicationContext.xml   config目录下创建spring的核心配置文件,引入头文件
   加载hibernate.cfg.xml核心配置文件,配置事务管理器平台,开启事物注解
web.xml                  配置Spring的监听器,加载Spring的核心配置文件
   配置session在web层开启,在web层关闭
log4j.properties         config目录下创建日志的配置文件
持久层:(Dao层,Hibernate框架)
hibernate.cfg.xml        config目录下创建hibernate的核心配置文件:引入头文件,
   配置数据库的4大参数,配置数据库方言,配置可选参数,配置C3P0连接池,加载资源映射文件
Xxx.hbm.xml              在domain目录下,创建与持久化类对应的资源映射文件
             在配置客户的资源映射文件时,来源,行业,级别这三个单方面的配成一对多的关系
             在配置客户联系人时,一方客户用set去配,多方联系人用many-to-one去配置

             主外键的维护关系交给多方去维护

--------------------------------------------------------------------------------------------------------------------------------------------------------------

二:SSH框架整合高潮

*上面是Jar包以及配置文件配置完毕。

*下面开始整合SSH的项目:完成保存客户的功能

1:导入UI的jsp的文件,进入menu.jsp的页面修改添加客户的按钮,使其跳转到添加客户的界面;
2:进入/jsp/customer/add.jsp页面里,修改其路径配置Action:customer_add.action;
3:创建com.day38_ssh1.web.action包,并创建CustomerAction类,继承ActionSupport。创建添加客户的方法public String add();
4:在struts.xml文件中配置此Action,用通配符的方式去配置。开启项目去测试是否能跳转,并执行add()方法;
5:创建数据库,并创建表,如果想想创建的话,不创建只要字段配置好,hibernate会帮助我们创建好。编写JavaBean,使其成为持久化类,并编写对象的Customer.hbm.xml文件的配置;

6:CustomerAction类去实现ModelDriven<Customer>,并实现模型驱动,封装数据。要实例化即new;在add方法中输出测试。Action编写好了;
7:编写Service业务层。创建com.day38_ssh1.service包,并创建CustomerService及其实现类。在其实现类中创建public void save(Customer customer);
8:在Spring中配置此业务类。在Action中注入CustomerService属性。并创建set方法。在Action的add方法中调用Service的save()方法。测试;
9:上面有一个小的优化,就是把Action的创建交由Spring管理,在applicationContext中编写CustomerAction的bean,并注入CustomerService;在struts.xml中把class改为在spring创建Action的id,并在Spring中声明Action为多例的。scope="prototype",再次测试;
10:编写持久层dao.创建com.day38_ssh1.dao包,并创建CustomerDao及其实现类。并编写public void save(Customer customer)方法
11:在applicationContext.xml文件中配置此持久层类。在Service的save方法中调用Dao的save()方法,测试是否成功。
12:自此,SSH框架的骨干中的SH就整合通了。
13:在CustomerDao中创建HibernateTemplate属性,并实现set方法。调用HibernateTemplate的save方法保存数据。
14:在applicationContext.xml文件中配置HibernateTemplate的bean,并在并注入dao。
15:加载hibernate.cfg.xml文件创建bean.LocalSessionFactoryBean,并加载hibernate的核心配置文件。
16:配置事物平台管理器,HibernateTransactionManager。
17:开启事物注解,并在ServiceImpl类上加上事物注解。

18:完整测试,添加客户看是否成功。

-------------------------------------------------------------------------------------------------------------------------------------------------------

crm整合配置文件(以用户注册、登录、退出为例)

1:在web层创建UserAction,继承ActionSupport,实现ModelDriven<User>,set注入userService;

2:在Service层创建UserService接口,UserServiceImpl实现类,在实现类中set注入customerDao,开启@Transactional注解
3:在dao层创建CustomerDao接口,CustomerDaoImpl实现类继承HibernateDaoSupport;
4:在struts.xml配置文件中配置用户的action,但是创建UserAction交由Spring管理,所以action中的class写spring创建Action的id;

5:在applicationContext.xml的配置文件中配置Action,配置Service,配置Dao;

CRM整合高潮(实现用户注册、登录和退出)

1:用户注册功能.首先先要用Ajax异步判段注册名字是否相同,如果相同必须换用户名字,异步判断设置url为user_checkCode.action,提交给action接收。
2:在UserAction编写checkCode去实现判断用户名是否相同,调用UserServiceImpl,业务层再调用持久层UserDaoImpl,去数据库中查询是否有
      相同的名字。有在action返回no字符串告诉不可以用这个用户名注册,否则可以用这个用户名注册。
3:注册实现,在页面form表单的action提交动作出改为user_regist.action,然后在UserAction中去接收用户名密码等信息,调用Service的方法,在业务层要设置
      密码加密,设置用户状态等,调用持久层把数据插入到数据库.
4:在UserAction中做跳转,跳转到登录页面.
5:用户注册完成,进行测试调试.
6:用户登录功能.首先查看login.jsp的用户名和密码字段是否和持久化类的字段名称是否一致,不一致的话修改一致,然后修改form表单的action.
7:在Action编写用户登录的方法login(),调用业务层的登录方法,业务层将密码加密,用户状态封装到User对象中,再调用持久层的login(user)方法,
      进行有条件的查询,查询到返回User对象,否则返回null,在Action判断如果为空,跳转到登录页面,否则,将用户封装到Session中,跳转到主页.
8:用户退出功能。修改用户退出超链接为user_loginout.action.

9:在Action中编写loginout(),获取session,从session中移除存在的用户,返回登录页面.

-------------------------------------------------------------------------------------------------------------------------------------------------------------

三:完整项目

https://download.csdn.net/download/u013132035/10375111

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值