`
fjg0427
  • 浏览: 41986 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

struts+hibernate+spring

 
阅读更多
1、 把Hibernate的相关jar包复制到lib目录下:


① HIBERNATE_HOME/lib 下的相关的依赖的第三方包
② HIBERNATE_HOME/hibernate3.jar Hibernate的核心实现
③ 引入入相关的JDBC驱动

2、 在src目录下创建相关的配置文件:hibernate.cfg.xml


可以从以下目录中拷贝过来修改:

HIBERNATE_HOME \etc\ hibernate.properties 旧版本的Hibernate实用的核心配置文件,这个文件列举了相关的Hibernate配置,在配置文件时可以参考该文件。
HIBERNATE_HOME \etc\ hibernate.cfg.xml 如果存在这个文件则会覆盖上面的properties文件
HIBERNATE_HOME\hibernate-3.2\etc 日志记录文件

3、 编写hibernate.cfg.xml文件:


<hibernate-configuration>
    <session-factory>
       <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
       <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/数据库名称</property>
       <property name="hibernate.connection.username">用户</property>
       <property name="hibernate.connection.password">密码</property>
       <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
       <property name="hibernate.show_sql">true</property>
       <!--
       <property name="hibernate.format_sql">true</property>
        -->     
       <mapping resource="com/test/User.hbm.xml"/>
    </session-factory>
</hibernate-configuration>
4、 编写*.hbm.xml等实体映射文件


<hibernate-mapping>
    <class name="com.test.User">
       <id name="id">
           <generator class="uuid"/>
       </id>
       <property name="name" column=”user_name”/>
       <property name="password"/>
    </class>
</hibernate-mapping>创建完映射文件之后,记得把hbm.xml文件添加到hibernate.cfg.xml文件中

<mapping resource="com/test/User.hbm.xml"/>
       (在session-factory标签里property标签后)
5、 生成数据库

创建hibernate.cfg.xml中指定的数据库
可以使用SchemaExport生成相关表

Configuration cfg = new Configuration().configure();
SchemaExport export = new SchemaExport(cfg);
export.create(true, true);也可以在hibernate.cfg.xml中进行相关的配置使之自动生成

<property name="hibernate.hbm2ddl.auto">create</property>配置Spring环境:

1、 把spring相关的jar包复制到lib目录中


SPRING_HOME\dist\spring.jar spring核心jar包
SPRING_HOME \lib\log4j\log4j-1.2.14.jar 记录日志
SPRING_HOME \lib\jakarta-commons\commons-logging.jar

2、 在WEB-INF下建立applicationContext.xml


可从SPRING_HOME\ samples\jpetstore\war\WEB-INF\目录下拷贝applicationContext.xml


3、 提供log4j.properties配置文件

可从下面目录中拷贝:

G:\software_programming\Java\SSH\spring\spring-framework-2.0.8-with-dependencies\spring-framework-2.0.8\samples\jpetstore\war\WEB-INF\ log4j.properties


4、把初始化Hibernate的SessionFactory接口交给spring管理


<bean id="sessionFactory"
       class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
       <property name="configLocation" value="classpath:hibernate.cfg.xml">
       </property>
</bean>注意:这里的数据库相关配置信息是写到了hibernate.cfg.xml文件中,也可以通过在spring配置jdbc datasource对数据库进行管理,然后通过datasource注入sessionFactory的方式来创建会话工厂。


5、配置spring为hibernate配置的数据库访问操作的封装类hibernateTemplate


<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
       <property name="sessionFactory" ref="sessionFactory" />
</bean>
6、在applicationContext.xml文件中配置数据库的事务(也可以使用AOP进行配置)


<!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
    <bean id="transactionManager"
       class="org.springframework.orm.hibernate3.HibernateTransactionManager">
       <property name="sessionFactory">
           <ref bean="sessionFactory" />
       </property>
    </bean>

    <!-- 设置事务传播特性,对应于AOP中的 <tx:advice />  -->
    <bean id="transactionInterceptor"
       class="org.springframework.transaction.interceptor.TransactionInterceptor">
       <property name="transactionManager">
           <ref bean="transactionManager" />
       </property>
       <property name="transactionAttributes">
           <props>
              <prop key="get*">PROPAGATION_REQUIRED, readOnly
              </prop>
              <prop key="*">PROPAGATION_REQUIRED</prop>
           </props>
       </property>
    </bean>  
     <!-- 定义BeanNameAutoProxyCreator,配置哪些类和哪些方法使用事务对应于AOP中的 <aop:pointcut /> -->  
    <bean
       class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
       <!-- 指定对满足哪些bean name的bean自动生成业务代理 -->
       <property name="beanNames">
           <!-- 下面是所有需要自动创建事务代理的bean-->  
           <list>
               <value>userDAO</value>            
              <value>provinceDAO</value>
              <value>cityDAO</value>
              <value>sexDAO</value>
              <value>statusDAO</value>
           </list>
           <!-- 此处可增加其他需要自动创建事务代理的bean-->
       </property>
       <property name="interceptorNames">
           <!--  下面定义BeanNameAutoProxyCreator所需的事务拦截器-->  
           <list>
              <value>transactionInterceptor</value>
               <!-- 此处可增加其他新的Interceptor -->
           </list>
       </property>
    </bean>
7、在applicationContext.xml中配置相关的数据访问层Dao,注意创建时要给spring提供一个借口,方便其代理


<bean id="userDAO" class="com.pzx.dao.UserDAOImpl">
       <constructor-arg>
           <ref bean="hibernateTemplate" />
       </constructor-arg>
</bean>
8、在applicationContext.xml中配置相关的业务逻辑层Service,其构造函数中的参数指向器数据访问层bean


<bean id="userService" class="net.blogjava.nokiaguy.kxw.service.UserServiceImpl">
       <constructor-arg>
           <ref bean="userDAO" />
       </constructor-arg>
</bean>
9、在web.xml中配置如下信息


<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:applicationContext.xml,applicationContext-*.xml</param-value>
</context-param>其中的param-value根据自己的applicationContext.xml存放位置决定。

配置Struts2环境

1、 把相关jar文件拷贝到项目中


STRUTS_HOME /apps/struts2-blank-2.1.8/WEB-INF/lib 目录下的相关jar文件
STRUTS_HOME/lib/struts2-spring-plugin-2.1.8.jar

2、 配置web.xml文件

可以从STRUTS_HOME /apps/struts2-blank-2.1.8/WEB-INF/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>/*</url-pattern>
</filter-mapping>另外可以这样配置字符编码过滤器:

<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true </param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.action </url-pattern>
</filter-mapping>
3、 在struts.xml中配置项拦截器


<interceptors>
           <interceptor-stack name="excludeParamsStack">
              <interceptor-ref name="defaultStack">
                  <param name="params.excludeParams">ext-comp-.*</param>
              </interceptor-ref>
           </interceptor-stack>
       </interceptors>另外在struts.xml文件中常配置的两个常量:

<constant name="struts.devMode" value="true" />
<constant name="struts.i18n.encoding" value="utf-8"></constant>
4、 在struts.xml中配置相关的Action


<action name="*-*" class="com.exam.student.actions.{1}Action" method="{2}">
       <result>/{1}-{2}.jsp</result>
       <result name="input">/WEB-INF/exam/{1}-{2}.jsp</result>
       <!-- <exception-mapping result="error" exception="java.sql.SQLException" /> 
       <result name="error">/error.jsp</result> -->
</action>
分享到:
评论

相关推荐

    Java Web整合开发完全自学手册:Struts+Hibernate+Spring+Eclipse源码

    《JavaWeb整合开发完全自学手册》介绍如何整合Struts+Hibernate+Spring+Eclipse进行J2EE开发,所有实例都基于MyEclipseIDE开发,引领读者快速进入基于JavaWeb的J2EE应用领域。《JavaWeb整合开发完全自学手册》主要...

    开发者突击·Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)源码

    《开发者突击:Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)》详细介绍了Java Web软件架构中的各种开发技术。主要内容包括:以MySQL为数据库、Tomcat为Web服务器、Eclipse为开发工具、CVS为版本控制工具...

    整合Struts+Hibernate+Spring应用开发详解2

    本光盘是《整合Struts+Hibernate+Spring应用开发详解》一书的配书光盘,书中的代码按章存放, 即第二章所使用的代码放在codes文件夹的02文件夹下,依次类推。 本光盘根目录下有11个文件夹,其内容和含义说明如下: ...

    车辆管理系统(struts+hibernate+spring+oracle).rar

    车辆管理系统(struts+hibernate+spring+oracle).rar 对​公​务​用​车​进​行​档​案​、​费​用​、​调​度​、​维​修​、​安​全​、​运​行​等​全​方​位​的​管​理​和​统​计​,​以​方​便​...

    整合Struts+Hibernate+Spring应用开发详解

    本光盘是《整合Struts+Hibernate+Spring应用开发详解》一书的配书光盘,书中的代码按章存放, 即第二章所使用的代码放在codes文件夹的02文件夹下,依次类推。 本光盘根目录下有11个文件夹,其内容和含义说明如下: ...

    基于struts+hibernate+spring的用户管理系统

    【基于Struts+Hibernate+Spring的用户管理系统】是一种常见的企业级Web应用架构,它整合了三个主流的Java技术框架,以构建高效、可维护性高的系统。Struts提供了MVC(Model-View-Controller)设计模式,使得业务逻辑...

    图书管理系统(struts+hibernate+spring)

    SSH,全称为Struts+Spring+Hibernate,是Java开发中常见的三大开源框架集成,用于构建高效、可扩展的企业级Web应用程序。这个"图书管理系统(struts+hibernate+spring)"项目,就是一个典型的SSH应用实例,旨在帮助...

    Struts+hibernate+spring学习实例

    Struts、Hibernate和Spring是Java Web开发中的三大框架,它们各自负责不同的职责,组合使用能够构建出高效、灵活的企业级应用程序。本实例旨在帮助初学者和J2EE开发者更好地理解和运用这三个框架的集成。 Struts是...

    车辆管理系统(struts+hibernate+spring+oracle)130225.rar

    综上所述,"车辆管理系统(struts+hibernate+spring+oracle)130225.rar"是一个使用现代Java技术栈构建的企业级应用,其设计遵循了良好的软件工程原则,提供了一个高效、可扩展的车辆信息管理平台。通过SSH框架的协同...

    新闻发布系统 Struts+Hibernate+Spring

    使用了Struts+Hibernate+Spring来构建整个网站。 布局使用了CSS和DIV。 部署前请修改以下文件: NewReleseSystem\WebRoot\WEB-INF下面的applicationContext.xml文件 修改里面的数据库的用户名和密码为你所安装的...

    王者归来之JAVA程序开发大全:基于MYECLIPSE平台+STRUTS+HIBERNATE+SPRING主体流框架开发.pdf

    《王者归来之JAVA程序开发大全:基于MYECLIPSE平台+STRUTS+HIBERNATE+SPRING主体流框架开发》这本书是为Java开发者提供的一份全面指南,尤其适合那些希望深入理解并掌握企业级Java应用开发的读者。本书以MyEclipse...

    struts+hibernate+spring新闻系统

    【Struts+Hibernate+Spring 新闻系统】 这个新闻系统是基于经典的Java企业级开发框架——Struts、Hibernate和Spring构建的。这三个框架的整合被称为SSH(Struts2、Hibernate4、Spring4)集成,是Java Web开发中的...

    JavaWeb整合开发王者归来JSP+Servlet+Struts+Hibernate+Spring.part3

    JavaWeb整合开发王者归JSP+Servlet+Struts+Hibernate+Spring共分五部分。这是第三部分。

    JAVA WEB整合开发实例精通:Struts+Hibernate+Spring

    《JAVA WEB整合开发实例精通:Struts+Hibernate+Spring》这本书深入探讨了Java Web开发中的核心技术,特别是如何将三大框架Struts、Hibernate和Spring集成在一起,以构建高效、灵活的企业级应用。以下是对这些框架...

    精通J2EE——Eclipse+Struts+Hibernate+Spring整合应用案例(pdf完整版).part2-1

    精通J2EE——Eclipse+Struts+Hibernate+Spring整合应用案例 pdf电子书, 包含所有18个章节的完整版, 美中不足的是扫描质量不是很高,且是第一版的,不是目前最新的第二版! 请看清楚了再下,免得后悔! 共有两个部分-这...

    整合struts+hibernate+spring应用开发详解 part1

    Struts、Hibernate和Spring是Java Web开发中的三大框架,它们各自负责不同的职责,组合使用能够构建出高效、灵活的企业级应用程序。"整合struts+hibernate+spring应用开发详解"是一个系列教程,旨在帮助开发者深入...

    开发者突击:Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)(第2版) 带封面和目录、前言(6/6)

    开发者突击:Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)(第2版)的完整版本,带封面和目录、前言,一共六个压缩文件,这是第6个。

    struts+hibernate+spring源码

    Struts、Hibernate和Spring是Java开发中的三大主流框架,它们各自负责不同的领域,共同构建了企业级应用的基础架构。Struts主要处理MVC(模型-视图-控制器)设计模式中的控制层,Hibernate则专注于对象关系映射(ORM...

    博客系统(struts+hibernate+spring).rar

    在本案例中,我们关注的是一个使用Struts、Hibernate和Spring(SSH)框架构建的博客系统。SSH是Java Web开发中的一个流行组合,它们各自负责应用程序的不同层面,协同工作以提供高效、灵活和可维护的解决方案。 ...

Global site tag (gtag.js) - Google Analytics