Myeclipse实现一个简单SSH框架
一、新建Web项目
PS:选择Java EE 5.0
二、添加Struts1.3框架支持文件
三、添加Hibernate Database Explorer数据库连接
四、添加Hibernate 3.1框架支持文件
PS:取消勾选Hibernate 3.1 Core Libraries包和Hibernate 3.1 Advanced Support Libraies包
五、添加Spring 2.0框架支持文件
PS:取消勾选Spring 2.0 Persistence JDO Libraries包、Spring 2.0 Persistence IBATTS Libraries包、Toplink Essentials 包、OPenJPA包。
六、删除相冲突的包
PS:出去asm.jar、asm-attrs.jar、cglib-2.1.3.jar这三个包。
注意事项:
一、Struts-config文件部分
<controller
processorClass="org.springframework.web.struts.DelegatingRequestProcessor">
</controller>
<message-resources parameter="struts.ApplicationResources" />
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml" />
</plug-in>
PS:如果是SSH+DWR(AJAX)整合时,去掉Struts中的<plug-in>节点,在web.xml文件中加入以下代码:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
二、applicationContext文件部分
<!-- 将All_DAO中的属性table1dao进行注入:ref="Table1DAO" -->
<bean id="all_dao" class="com.dao.All_DAO">
<property name="table1dao" ref="Table1DAO"></property>
</bean>
<!-- 对service.Tablel1——Service服务中的all_dao属性进行注入:ref="all_dao" -->
<bean id="table1_service" class="com.service.Table1_Service">
<property name="all_dao" ref="all_dao"></property>
</bean>
<!-- 将零散的服务Service类注入到All_Service类中 -->
<bean id="all_service" class="com.service.All_Service">
<property name="table1_service" ref="table1_service"></property>
</bean>
<bean id="base" class="struts.action.BaseAction">
<property name="all_service" ref="all_service"></property>
</bean>
<bean name="/add_table1" class="struts.action.Add_table1Action" parent="base"/>
三、乱码问题
<filter>
<filter-name>Spring character encoding filter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Spring character encoding filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
四、避免Hibernate的懒加载异常,能够让Session在请求解释完成之后再关闭
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>