通过自己简单的学习,总结如下:
struts主要表现为显示层,有就是说你从数据库得到的数据,想把数据呈现给用户,那struts就用的上了
hibernate是主要和数据库打交道,它轻量级的封装了一些JDBC方法,是开发更加的快速,当然hibernate还包括很多东西,
spring我的理解就是个大箱子,里面装的东西就是JAVABEAN,而这些JAVABEAN统一由spring来管理,那spring是怎么管理的呢?是通过applicationContext.xml文件,将这些JAVABEAN都写到这个文件里,好让spring知道他需要管理哪些JAVABEAN,这些JAVABEAN是包括ACTION,DAO接口,DAOIMPL接口实现类.
使用这三个框架整合开发的好处我觉得是降低了代码之间的偶合性,而且编码也规范了,因为用表现层的框架的好处之一就是无论谁写的代码,看上去都差不多.
当然SSH整合开发不是把三个框架加到工程下就可以了,而是需要一定的配置,让三个毫无关系的框架整合到一起,让他们三个互相认识,如何让他们互相认识?就要通过配置一些XXXX.xml文件来让他们认识
applicationContext.xml,这个里面的内容是我自己写的一个小项目里的相关配置,我想不难理解吧,估计都能看懂,其他的也按照这个方法加配置就可以了!
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.connection.autoconmmit">true</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/xy/myblog/vo/User.hbm.xml</value>
<value>com/xy/myblog/vo/Article.hbm.xml</value></list>
</property></bean>
<bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="userdao" class="com.xy.myblog.dao.UserDao" abstract="true">
</bean>
<bean id="userdaoimpl" class="com.xy.myblog.daoimpl.UserDaoImpl" parent="userdao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate"/>
</property>
</bean>
<bean name="/jsp/user" class="com.xy.myblog.struts.action.UserAction">
<property name="userdao">
<ref bean="userdaoimpl"/>
</property>
</bean>
struts-config.xml,将我写的这两个内容添加进去就可以了
<controller
processorClass="org.springframework.web.struts.DelegatingRequestProcessor">
</controller>
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>
web.xml文件下添加如下内容
<filter>
<filter-name>encoding</filter-name>
<filter-class>com.xy.myblog.util.EncodingFilter</filter-class>
<init-param>
<param-name>charset</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>opensession</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>opensession</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
添加好上述内容后,基本上SSH项目的整合就已经OK了,因为本人没有进过软件公司,所以很多东西可能都不规范大家就凑合看吧!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)