ITKeyword,专注技术干货聚合推荐

注册 | 登录

搭建一个struts2+spring+hibernate框架

u010924878 分享于 2016-02-03

推荐:SSH框架整合之Struts2和Spring整合

      今天在整合SSH框架的过程中,发现Struts2和Spring的整合稍微复杂一些,想想还是记一下笔记为妙,免得以后就忘了。        整合Struts2和Spring框架,可以

2019阿里云双11返场狂欢继续,
地址https://www.aliyun.com/1111/2019/home

    我们使用的开发工具是Myeclipse,数据库是mysql

1、创建一个web工程:


建好的项目是:


2、引入jar包

首先我们引入struts2的jar包

在我们下载的struts2的包中struts-2.3.15.3\apps\struts2-blank.war\WEB-INF\lib\*.jar里面存放。

使用JSon的包
struts-2.3.15.3\lib\struts2-json-plugin-2.3.15.3.jar
struts-2.3.15.3\lib\struts2-spring-plugin-2.3.15.3.jar

配置文件:需要配置web.xml和struts.xml

   web.xml

<span style="font-family:KaiTi_GB2312;font-size:18px;"><!--   配置struts2核心过滤器 -->
  <filter>
  	<filter-name>struts2</filter-nam
  	<filter-class>
  		org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  	</filter-class>
  </filter>
  
  <filter-mapping>
  		<filter-name>struts2</filter-name>
  		<url-pattern>/*</url-pattern>
  	</filter-mapping></span>

* struts.xml

因为自己建立的项目中没有所以需要找到一个Struts.xml文件复制过来。可以在自己下载的struts2的包中查找。


在项目中的结果


第二个是Spring

* jar包:
Spring3.2 开发最基本jar包
spring-beans-3.2.0.RELEASE.jar
spring-context-3.2.0.RELEASE.jar
spring-core-3.2.0.RELEASE.jar
spring-expression-3.2.0.RELEASE.jar
com.springsource.org.apache.commons.logging-1.1.1.jar
com.springsource.org.apache.log4j-1.2.15.jar
AOP开发
spring-aop-3.2.0.RELEASE.jar
spring-aspects-3.2.0.RELEASE.jar
com.springsource.org.aopalliance-1.0.0.jar
com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
Spring Jdbc开发
spring-jdbc-3.2.0.RELEASE.jar
spring-tx-3.2.0.RELEASE.jar
Spring事务管理
spring-tx-3.2.0.RELEASE.jar
Spring整合其他ORM框架整合Hibernate
spring-orm-3.2.0.RELEASE.jar
Spring在web中使用
spring-web-3.2.0.RELEASE.jar
Spring整合Junit测试
spring-test-3.2.0.RELEASE.jar
     拷贝一个applicationContext.xml可以在Spring开发的jar包里面查找。


拷贝的位置


* 配置文件:web.xml和applicationConte.xml
 * web.xml

<span style="font-family:KaiTi_GB2312;font-size:18px;"> <!-- 配置Spring的核心监听器 -->
   <listener>
   	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>	
   <context-param>   <!-- 全局的参数 -->
   	<param-name>contextConfigLocation</param-name>
   	<param-value>classpath:applicationContext.xml</param-value>
   </context-param></span>
  * applicationContext.xml
  * log4j.properties
 
* Hibernate:
* jar包:
* hibernate-distribution-3.6.10.Final\hibernate3.jar
* hibernate-distribution-3.6.10.Final\lib\required\*.jar
* hibernate-distribution-3.6.10.Final\lib\jpa\*.jar
* slf4j-log4j整合的jar包 :
* 数据库驱动:
* 连接池:(c3p0连接池)
* 配置文件:Hibernate的配置文件是可以被整合到spring中的。
* 没有hibernate的核心配置文件的方式整合:
* 映射文件:是必须要有的。

解释一下这里的映射文件是指:


 
 配置基本配置信息: C3P0连接池:和事物管理以及一些Hibernate的一些信息,这些都可以在spring中进行的。
* C3P0连接池:
* 引入外部属性文件:
* jdbc.properties
内容:
jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql:///shop
jdbc.user = root
jdbc.password =root


推荐:整合开发Struts2,Hibernate,Spring简单框架的搭建详解

                        整合开发Struts2,Hibernate,Spring简单框架的搭建   第一步:整合开发Struts2,Hibernate,Spring需要的JAR 如图所示: 第二步:在sp


* 配置连接池:在spring的文件applicationContext.xml中进行配置。

<span style="font-family:KaiTi_GB2312;font-size:18px;"><!-- 配置连接池: -->
	<!-- 引入外部属性文件 -->
	<context:property-placeholder location="classpath:jdbc.properties"/>
	<!-- 配置C3P0连接池: -->
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="driverClass" value="${jdbc.driver}"/>
		<property name="jdbcUrl" value="${jdbc.url}"/>
		<property name="user" value="${jdbc.user}"/>
		<property name="password" value="${jdbc.password}"/>
	</bean><span style="font-family: KaiTi_GB2312; background-color: rgb(255, 255, 255);">	</span><span style="font-family: KaiTi_GB2312; background-color: rgb(255, 255, 255);"> </span>
* Hibernate相关信息:也是在applicationContext.xml
<pre name="code" class="html"><bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
	<!-- 注入连接池 -->
	<property name="dataSource" ref="dataSource"/>
	<!-- 配置Hibernate的其他的属性 -->
	<property name="hibernateProperties">
		<props>
		<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
			<prop key="hibernate.show_sql">true</prop>
			<prop key="hibernate.format_sql">true</prop>
			<prop key="hibernate.connection.autocommit">false</prop>
			<prop key="hibernate.hbm2ddl.auto">update</prop>
		</props>
	</property>
	<!-- 配置Hibernate的映射文件  如果有映射文件的话可以在这里进行配置 
        <property name="mappingResources">
<span style="white-space:pre">	</span>    <list>
<span style="white-space:pre">	</span>      <value>cn/itcast/shop/user/vo/User.hbm.xml</value>
             </list>
<span style="white-space:pre">	</span></property>
       -->
</bean></span>


  * 事务管理:也是在applicationContext.xml 
<span style="font-family:KaiTi_GB2312;font-size:18px;"><!-- 事务管理: -->
	<!-- 事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
	<property name="sessionFactory" ref="sessionFactory"/>
</bean>
	
 <!-- 开启注解事务 -->
<tx:annotation-driven transaction-manager="transactionManager"/></span>

3.引入页面:
 引入静态页面:我们的页面一般不会直接放到webroot 下面因为在这里可以直接被浏览器访问到,我们一般放到web-inf中

我们可以编写一个JSP页面,可以创建一个默认的JSP命名为Index。


* 在WEB-INF/jsp/
* 将静态页面复制到jsp下.
* 将css/js 放到 WebRoot下.

下面只是一个例子图片


7. 访问首页:只是完成了页面的跳转
建包的格式:
* cn.itcast.shop.index
* action
* cn.itcast.shop.user
* action
* service
* dao
* vo

下面图片只是一个例子


4. 编写Action:
* IndexAction

  

<span style="font-family:KaiTi_GB2312;font-size:18px;">package cn.itcast.shop.index.action;
import com.opensymphony.xwork2.ActionSupport;

public class IndexAction extends ActionSupport {
	public String execute(){
		return "index";
	}
}
</span>


5. 配置Action
* 配置applicationContext.xml 这是使用Spring来管理我们的Action

<span style="font-family:KaiTi_GB2312;font-size:18px;"><!-- Action的配置  将我们的Action交给Spring管理 ===========================-->
	
	<!-- 首页访问的Action -->
	<bean id="indexAction" class="cn.itcast.shop.index.action.IndexAction" scope="prototype">
		<property name="categoryService" ref="categoryService"/>
		<property name="productService" ref="productService"/>
	</bean></span>

配置struts.xml

<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
	<constant name="struts.devMode" value="false" />

	<package name="shopTest" extends="struts-default" namespace="/">
		<!-- 配置首页访问的Action -->
		<action name="index" class="indexAction">
			<result name="index">/WEB-INF/jsp/index.jsp</result>
		</action>
	</package>
</struts>
</span>
整个项目的目录结构


接下来我们就可以在浏览器中访问了。ip:端口号/项目名字/需要跳转的Action



     在这个项目中如果我们没有在mysql中创建一个mysql数据库,暂时不用建表,那么我们的hibernate配置就没有使用到,所以在启动的时候要将hibernate配置注释掉。

     咱们框架搭建好了之后接下来会详细的解析的。

推荐:Spring2.5、Struts2、Ibatis开发框架搭建

  一、框架下载 1.1   Struts2框架 Struts2框架发展于WebWork,现在捐献给了Apache开源组织,最新版本的Struts2框架可以从位于Apache官方网站的Struts2项目中获

    我们使用的开发工具是Myeclipse,数据库是mysql 1、创建一个web工程: 建好的项目是: 2、引入jar包 首先我们引入struts2的jar包 在我们下载的struts2的包中struts-2.3.15.3\apps\struts2-bl

相关阅读排行


用户评论

游客

相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。