Spring 3.0 + Struts 1.3 + Hibernate 3.3 框架整合小结
?
?
导读:
?
?????? 前一阵对SS2H整合进行过小结。今天把SS1H整合的过程小结一下。
?
?????? 其中主要的区别在于Struts的版本不同,Struts 2虽然吸收了部分Struts 1的优点,并且在使用的过程中更加的灵活方便,但是因为它的主要核心是WebWork,所以导致在整合和使用的过程中都有着不小的改动。
?
?????? 在这里特别说明一点。本次S+Struts1+H小结完全是和上次S+Struts2+H对比着进行的。也就是说,上次小结所描述过的地方,在这里不会再重复描述。尤其是对于Hibernate部分来说,和Struts2时一样,直接省略掉了。
?
?????? 若带来不便,请谅解!
?????? 在此特别附上:
Spring 3.0 + Struts 2.1 + Hibernate 3.3 框架整合小结的URL地址,以便大家对比参照:
http://maxpin.iteye.com/blog/1151840
??????
?
进入正题,本次同样是采用添加功能支持的方式进行框架整合:
( MyEclipse à? add xxxx capabilities )
?
操作步骤仍然是? Spring? à? Hibernate? à? Sturts 1.3
?
?
创建Web Project略。
?
?
?
一、Spring
?
?
1. 添加jar包到项目中
?

?
与Struts 2不同的地方在于 需要额外 导入Spring 3.0 Web Libraries 这一架包。
此jar包在后面配置struts-config.xml文件时会用到。这里不多做解释。
?
为了方便,还选择了将jar包拷贝到了WEB-INF/lib目录下。
?
?
2. 创建Spring的bean配置文件applicationContext.xml
?
??? 步骤相同(略)。
?
?
?
二、Hibernate
所有步骤都相同(略)。
?
?
?
三、Struts 1.3(手动搭配)
1.?????? 选择项目中使用的Struts 1.3 版本 和 URL 访问的路径模式。
??? ? 设置应用程序资源文件存放的位置,之后点击Finish即可。
?
?
?
?
2、自定义Action类,继承动态Action类:DispatchAction
?
?????? 例如:这里使用UserAction为自定义Action类名,想要实现的效果是登录功能。
?
?
?
在自定义的UserAction类中,编写完成登录功能的doLogin方法。
?
?
?
3、创建FormBean,这里命名为UserForm,继承ActionForm类。
?
?
?
在类中实例化一个Userinfo的实体类对象,生成getter&setter方法,便于对数据的存取操作。
?
需要注意的是,这里很容易忘记new出对象。
?
?
?
至此,可以看到目前项目的目录结构如图所示:
?
?
?
4、自定义Action,FormBean创建完毕后,下一步可以进行struts-config.xml文件的配置了。
?

<form-bean>中:
name用于定义一个ActionForm。
type属性是指定ActionForm的完全限定类名。
?
<action>中:
name属性用于关联FormBean的name。
path属性指定访问这个Action的路径,以“/”开头,不需要加“.do”。
type属性指定这个Action的类名,这里使用DelegatingActionProxy。
????????????? parameter属性的值用于在页面调用此action时确定哪个方法被调用。
?
<forward>中:
????????????? name属性是在action类中定义好的页面逻辑名。
????????????? path属性指定页面的物理路径,对应于页面逻辑名。
?
<plug-in>中:
????????????? className属性指定上下文加载插件。
????????????? 子标签<set-property>中:
??????????????????????????? property属性定义本地上下文配置信息。
??????????????????????????? value属性指定Spring的配置文件applicationCntext.xml的所在位置。
?
?
5、接下来在Spring的applicationContext.xml文件中配置Action的Bean,这时不再使用id而是使用name,并且name的值就是第4步操作中struts-config.xml里的action元素中的path的值。注意不要忘记“/”。
?
?
?
6、页面调用
?
method参数名来自于第4步操作时的struts-config.xml配置文件中action的parameter=method
相对应的参数值代表着此Action类中哪个方法被调用。
?
下图表示此表单提交时会调用userAction类中的doLogin方法来处理请求。
?
?
?
?
?
?
?
?
?
这次总结的有些仓促。
着重于整合过程中的部署和配置步骤,忽略了大部分jar包、属性或语义上的解释。
有兴趣研究的童鞋自行查阅相关API吧。
?
其余的我抽时间再完善,若有描述不正确的位置,欢迎火速告知。