首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

SSH调整(低版本)

2012-10-23 
SSH整合(低版本)SSH整合(低版本)手动配置SSH1.添加Hibernate支持a)添加Hibernate核心jar包及它所依赖的jar

SSH整合(低版本)
SSH整合(低版本)
手动配置SSH
1.添加Hibernate支持
a)添加Hibernate核心jar包及它所依赖的jar包
i.hibernate-3.2\hibernate3.jar
ii.hibernate-3.2\lib\*.jar
b)添加Hibernate核心配置文件
i.hibernate-3.2\etc\ hibernate.cfg.xml
ii.hibernate-3.2\etc\ log4j.properties
c)创建实体类pojo\Product.java
d)创建Product.hbm.xml实体映射文件
e)创建工具类util\ExportDB.java类(该工具类的作用为生成数据库表)
2.添加Spring支持
a)添加Sping核心jar包及相关jar包
i.spring-framework-2.0\dist\ spring.jar
ii.spring-framework-2.0\lib\ aspectj\*.jar
iii.spring-framework-2.0\lib \jakarta-commons\ commons-logging.jar
iv.spring-framework-2.0\lib \jakarta-commons\ commons-dbcp.jar
v.spring-framework-2.0\lib \jakarta-commons\ commons-pool.jar
vi.spring-framework-2.0\lib \log4j\*.jar
b)添加Spring配置文件
i.spring-framework-2.0\samples\jpetstore\war\WEB-INF\ applicationContext.xml
c)创建数据访问层
i.定义dao\IProductDao接口
ii.定义dao\impl\ProductDaoImpl
1.ProductDaoImpl需要继承HibernateDaoSupport实现IProductDao接口
a)HibernateDaoSupport是Spring对Hibernate进行持久化操作的封装类,相当于BaseHibernateDao,需要注意的是在利用HibernateDaoSupport进行持久化操作时,需要为HiberanteDaoSupport类注入SessionFactory。
d)创建业务逻辑层
i.定义biz\IProductBiz接口
ii.定义biz\impl\ProductBizImpl
e)将sessionFactory  , Dao  ,  Biz配置到spring配置文件中(因为他们三者之间存在着依赖关系,我们需要使用Spring的IOC容器和DI思想实现依赖注入)
i.注意sessionFactory的配置。
<bean id="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="proBiz" ref="proDao"></property>
</bean>



3.添加Struts支持
a)添加struts-1.2.9-bin\struts-1.2.9-bin\lib\*.jar
b)添加struts核心配置文件
struts-1.2.9-bin\webapps\struts-blank\WEB-INF\struts-config.xml
c)在web.xml文件中配置ActionServlet
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
d) 创建struts两大核心组件(Action和ActionForm),在action中定义proBiz成员变量并,提供set方法
e)在struts配置文件中配置ActionForm与Action,Struts文件中的Action为DelegatingActionProxy(因为需要利用Spring的IoC容器和DI技术                                                                                                                                                                                                                                                                                                                                                                                                                                                                         将proBiz注入给Action,因此Struts中的Action就应该交由Spring来创建和管理。Struts中的所有Action都由DelegatingActionProxy来代替。DelegatingActionProxy的主要作用是获的Beanfactory,再通过请求路径从Spring管理容器中找到由Spring负责创建和管理的Action对象)
<action path="/product" name="proForm" parameter="operate" type="org.springframework.web.struts.DelegatingActionProxy">
<forward name="add_ok" path="/ok.jsp"></forward>
<forward name="add_fail" path="/pro_add.jsp"></forward>
</action>
f)在sping配置文件中配置Action,并将proBiz注入给Action
<bean name="/product" ref="proBiz"></property>
</bean>

4.由于DelegatingAction需要获取Beanfactory,而BeanFactory是Spring框架的核心控件,是个重量级JavaBean,它的创建和销毁都相当消耗资源和性能,因此一个应用程序最好只需要创建一个该对象就OK,从而引出了Struts和Spring的两种整合方案,一种是监听器整合,一种是通过Struts的插件Plugin进行整合
5.通过监听器整合
a)在web.xml中配置监听器
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
解释:该监听器的主要作用主要是创建Beanfactory对象,而创建该对象时需要提供spring的核心配置文件,通过上下文参数可以提供给该监听器
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param>
6.通过struts插件plugin整合
a)在struts核心配置文件中配置插件
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="classpath*:applicationContext.xml"/>
</plug-in>

热点排行