您的位置:首页 > 其它

S2SH项目搭建及使用详解

2010-07-06 15:30 417 查看
本篇初衷:前不久有个朋友初入Java领地,在打好必要的基础后,应聘了家软件公司,对方要求其用S2SH 框架做个小项目以考验其基本开发能力。朋友经过两天的动手,也翻找了网上相关资料,还是不能搭建出来。于是本人抽空将S2SH的搭建进行一次详至的介绍,便于初学者入门,少走些弯路。

1.新建web工程S2SHBuild,引入Struts2,Hibernate,Spring三者筛选后的Jar文件:
右击工程->Build Path->add Libraries->User Library->next->User Libraries->new->键入User libray name:ssh_lib->OK->Add JARs->选择本地准备好的jar文件->OK->Finish
Jar引入后:



2.为工程加入Struts2支持:
web.xml内添加Struts2过滤器:



src下创建xml文件,命名为struts.xml并引入struts2文档声明:



3.为工程加入Spring2支持:
web.xml内添加spring装载器:



创建conf.spring包,添加xml文件,命名为applicationContext.xml,并引入Spring2文档声明:



4.给工程添加Hibernate3支持:
首先在Tomcat的lib下添加ojdbc14.jar,在conf/context.xml中<Context/>标签内配置JNDI:



然后在Spring的配置文件applicationContext.xml中配置数据源及sessionFactory:





至此,S2SH搭建并整合完毕并启动成功:



接下来以用户登陆为例演示三者如何协调完成业务的:

首先根据用户业务按如下包结构创建类:



其中:
action包下放Struts2的Action类(继承ActionSupport)【这里为UserAction类】;
service包下放业务接口,【这里为UserService接口】;
impl包下放业务接口实现类,【这里为UserServiceImpl类】;
dao包下放数据库操作层的类(继承HibernateDaoSupport),【这里为UserDao类】;
model包下放javabean及对应的Hibernate映射文件,【这里为User类及User.hbm.xml】;

接着对Spring进行对象bean的配置:



因为Spring配置文件采用了default-autowire="byName"进行自动装配,因此此处不必显式配置依赖的bean。

修改UserAction及UserServiceImpl类,用set方法注入所依赖的其他对象:





创建登陆jsp页面:



页面头部要引入<%@ taglib prefix="s" uri="/struts-tags"%>

然后在struts.xml的<package/>标签中配置<action/>:



UserAction类中引入User属性(提供get、set方法),并编写输入校验方法validateLogin()及业务方法login():



当程序执行到Action类时,会先进行Struts2的类型转换阶段,即将页面的name属性值绑定到Action类的属性上,(此处为private User user);
然后调用业务逻辑方法(此处为login())所对应的验证方法(此处为validateLogin())进入Struts2的校验阶段;
输入校验通过后再派遣调用业务逻辑方法(即login())进入Struts2的业务处理阶段;

业务逻辑方法按顺序调用到dao层:







至此,完成了S2SH的整合及使用演示。

备注:实际开发中因业务庞大,为了便于维护和管理,一般将Struts和Spring配置拆分为多个,并分别在总配置文件中引入子配置文件。也可以Spring来管理Hibernate事务。另外关于本钱各框架在运用上更详细的信息请参考其分类文章
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: