2011年写过java项目,使用的框架是struts1.2+spring2+hibernate3。这么多年过去架构已经升级了很多版本。今天特地尝试了下搭建新版本框架struts2.1+spring3.0+hibernate3.3。
下面就来介绍下框架搭建的步骤,以及需要注意的点:
一、新建工程SSHNew
jdk:需要1.6以上版本
库:使用javaEE5.0,对比j2EE1.4多了jstl库
二、导入框架
1、Add Struts Capabilities,选择Struts2.1版本
2、Add Spring Capabilities,选择Spring3.0版本
注意spring库的选择,有些不必要的可不选
3、打开MyEclipse DB Browser,新建数据库链接,提前把数据建好。
注意:这里需要引用对应数据库的jar包,从相关网站上下载好放到WebRoot/WEB-INF/lib下
4、Add Hibernate Capabilities,选择Hibernate3.3版本,设置的时候需要选择连接的数据库,sessionFactory等
详细步骤可参考:http://jingyan.baidu.com/article/f25ef2544dfc81482d1b8279.html
三、框架之间配置的引用
1、web.xml配置:struts和spring会自动注入部分配置到web.xml中。光这些还不够的。
(1)需要设置struts的<filter-mapping>,设置<url-pattern>*.action</url-pattern>,拦截jsp请求,struts2默认拦截/*,*.action,也可以配置*.do。
(2)需要设置spring的<context-param>,如下图:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext*.xml</param-value>
</context-param>
其中applicationContext*.xml是指所有spring的配置文件
2、applicationContext.xml配置:在设置hibernate的时候,也会自动把数据库驱动,sessionFactory配置进去。
依赖注入相关的配置都是在这里,也可以用applicationContext开头,自定义命名写配置。web.xml已经修改过相关设置。
这里有个小技巧,在配置完依赖注入的相关引用后,我们可以写一个带main方法的test程序,测试配置是否准确:
public static void main(String [] arg){
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
}
3、重点:struts和spring之间是如何引用的呢?
要下载struts2-spring-plugin-2.2.3.1.jar,把jar包放到WebRoot/WEB-INF/lib下
struts.xml中,在前面添加<constant name="struts.objectFactory" value="spring" />
用来表示:struts的action,使用spring初始化,以及配置相关引用。
四、编写代码逻辑
在这里我做了一个学生登陆,然后显示学生列表的demo
1、建立common包,这里放通用类,结构如下图:
DAO:接口,定义部分常用数据库操作。
DAOAdapter:Dao层适配器,继承了HibernateDaoSupport,继承DAO,调用hibernate操作数据库
BaseAction:Action基类,继承了ActionSupport,处理action相关逻辑
BaseForm:封装了数据结构体
BaseService:封装dao类的调用
EncodingFilter:字符格式转换过滤器,需要配置在web.xml中使用
2、建立具体业务操作模块:
模块结构如下图:
(1)从MyEclipse DB Browser中,把数据库相关结构体导出到bean包
(2)写Service逻辑,Dao逻辑
(3)在Action类中,编写checkLogin逻辑、showAll逻辑。属性:stuService,classService,list,stuInfo
(4)建立index.jsp,showAll.jsp,success.jsp,error.jsp
五、配置spring,struts
1、spring配置,如下图:
注意下:Dao的配置中sessionFactory,action配置中StuAction的配置。
2、配置struts.xml,如下图:
注意:class的值和applicationContext中Action配置的name名,保持一致,用来表示:struts的action,使用spring初始化,以及配置相关引用。
六、运行
1、登陆界面,代码和显示:
2、学生列表
今天在搭建过程中碰到了不少问题,最终都还算圆满解决。主要是因为这些步骤在网上有很多分享,出现的问题百度都能准确的定位,这些也比较基础。
框架搭建只是最基础部分,后期还要继续拓展功能,初步规划:
1、前端显示通过html5+css3美化
2、业功能在继续细化:增删改查,订单,支付等
3、tomcat服务器集群,dobbo框架,JMS测试
4、数据库:CURD,存储过程,事务
5、缓存数据库redis memcached的使用
路漫漫,任重而道远,继续前行吧。