标签:
Struts2——负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,主要负责MVC的C层。
Spring——将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。
Hibernate——持久化对象pojo,采用Hibernate作为ORM框架,主要负责MVC的M层。
一般是web project。
导入SSH的jar包和数据库驱动的jar包,即将必须的jar包拷贝到webRoot/WEB-INF/lib文件中,会自动加载到该项目中。
搭建好的三指标:
*添加一个struts的核心配置文件(自动)
*在web.xml中引入struts2的过滤器(自动)
*在struts.xml中引入spring约束(手动):
<constant name="struts.objectFactory" value="spring"></constant>
其中,web.xml文件中增加的过滤器的标签及配置参考代码如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
src目录下自动生成applicationContext.xml的spring配置文件。此外还得再web.xml中配置spring容器实例化的监听器。关键代码如下:
<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>
a.搭建的步骤:Hibernate的配置文件选择spring configuration file(applicationContext.xml),在选择Existing spring configuration file,其他默认。接着选择数据库,注意修改当前项目数据库名。接着,create SessionFactory class?勾选掉。
b.搭建成功结果:
在applicationContext.xml文件中生成dataSource的bean和sessionFactory的bean。参考代码如下
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/该项目所在数据库名"></property>
<property name="username" value="root"></property>
<property name="password" value="123456"></property>
</bean>
<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>
</props>
</property>
</bean>
将该web工程发布到服务器端,若正常启动,则成功,否则失败。
环境搭建好后接着是MVC的操作过程。注意:M,V层与原来的一样。但,C层变化:Action配置跟以前不一样了。具体变化是: Struts2中的action标签中的class属性:原先写的是Action类的全名(包名类名)。现在写的是Spring配置文件中用来映射该Action类的<bean>的id。
标签:
原文地址:http://www.cnblogs.com/liuyonga/p/4690366.html