I believe I can fly

虫虫的Blog

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  8 随笔 :: 2 文章 :: 2 评论 :: 0 Trackbacks
由于SSH组合开发在实际的大型项目中是用得最多的,所有SSH的环境搭配对于开发人员来说也是比较重要的。
SSH的环境搭配主要包括两个方面:Struts与Spring的组合;Hibernate与Spring的组合.
SSH的组合工作主要有两步:导入需要的Jar包;实现SSH的组合
第一步,导入需要的Jar包
在MyEclipse中,导入SSH的顺序应该是Spring、Hibernate、Struts。
导入的操作比较简单,其中最需要注意的就是在导入Hibernate的时候要选择通过Spring的applicationContext.xml文件对Hibernate进行管理,即不需要创建hibernate.cfg.xml的原因。这也是为什么Spring在Hibernate之前导入的原因了。
第二步,实现SSH的组合,这也是SSH组合的重点
首先是Struts与Spring的组合,他们的组合无非就是将Struts的Action交给Spring管理,这需要添加一个插件,在struts-config.xml文件中生成等如下的代码:
1    <plug-in
2        className="org.springframework.web.struts.ContextLoaderPlugIn">
3        <set-property property="contextConfigLocation"
4            value="/WEB-INF/classes/applicationContext.xml" />
5    </plug-in>

在上述代码中是添加了一个ContextLoaderPlugIn插件,并添加了一个属性contextConfigLocation,其指向的是/WEB-INF/classes/applicationContext.xml,即Spring的控制文件,除此之外,还需要添加一个controller,所以最终在struts-config.xml文件生成的代码为:
1    <controller
2        processorClass="org.springframework.web.struts.DelegatingRequestProcessor">
3    </controller>
4
5    <plug-in
6        className="org.springframework.web.struts.ContextLoaderPlugIn">
7        <set-property property="contextConfigLocation"
8            value="/WEB-INF/classes/applicationContext.xml" />
9    </plug-in>

其中的controller的作用是对所有的Struts的请求都叫给Spring管理。
struts-config.xml文件修改完了以后,还需要在web.xml文件中添加一个context-param,具体代码如下:
1<context-param>
2        <param-name>contextConfigLocation</param-name>
3        <param-value>
4            /WEB-INF/classes/applicationContext.xml
5        </param-value>
6    </context-param>

这一点是与struts-config.xml文件中的plugin中的属性相对应的。
到此为止,Struts与Spring的组合搭配就算完成了。
然后就是Hibernate与Spring的搭配了,现在的applicationContext.xml文件应该为如下的内容:
 1    <bean id="dataSource"
 2        class="org.springframework.jndi.JndiObjectFactoryBean">
 3        <property name="jndiName" value="java:comp/env/jdbc/demo"></property>
 4    </bean>
 5    <bean id="sessionFactory"
 6        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
 7        <property name="dataSource">
 8            <ref bean="dataSource" />
 9        </property>
10        <property name="hibernateProperties">
11            <props></props>
12        </property>
13    </bean>

在上述代码中,应在sessionFactory的HibernateProperties属性中添加相应内容,最后的效果如下:
 1<bean id="sessionFactory"
 2        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
 3        <property name="dataSource">
 4            <ref bean="dataSource" />
 5        </property>
 6        <property name="hibernateProperties">
 7            <props>
 8                <prop key="hibernate.dialect">
 9                    org.hibernate.dialect.MySQLDialect
10                </prop>
11                <prop key="hibernate.connection.autocommit">true</prop>
12                <prop key="hibernate.show_sql">true</prop>
13            </props>
14        </property>
15        <property name="mappingResources">
16            <list>
17            </list>
18        </property>
19    </bean>

接着在applicationContext.xml文件添加如下的节点:
1    <bean id="hibernateTemplate"
2        class="org.springframework.orm.hibernate3.HibernateTemplate">
3        <property name="sessionFactory">
4            <ref bean="sessionFactory" />
5        </property>
6    </bean>

最后是在web.xml文件添加对session的管理代码:
1    <filter>
2        <filter-name>opensession</filter-name>
3        <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
4    </filter>
5    <filter-mapping>
6        <filter-name>opensession</filter-name>
7        <url-pattern>*.jsp</url-pattern>
8    </filter-mapping>
完成这一步以后呢,那么整个SSH组合的搭配基本也就结束了,你就可以利用Spring的强大功能完成对Struts和Hibernate的控制了。
在以后的文章中我会介绍这样组合以后如何使用各个框架,以上这些也是我在学习SSH的过程中的一些总结吧,希望能对各位同样的JAVA爱好有一定的帮助。

QQ交流群:90623790
posted on 2009-06-21 18:44 虫虫 阅读(265) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: