SSH的整合

我发表下SSH的整合,为了我能更好地记住。

struts2和hibernate的配置我这里就不多说了,先把两个有关的东西说下。一个是所有的包。struts2+hibernate3+spring2.5我包准备放上去给大家下载。

http://pan.baidu.com/share/link?shareid=3160001548&uk=3307409781

放在的我百度云盘里面

闲话不说:开始。

先是struts2和hibernate的配置

web.xml:


<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <!-- structs2的配置 -->
    <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>

</web-app>

 然后在src下添加一个struts.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
 "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
</struts>

 然后在src下添加一个hibernate.cfg.xml:(这是一些数据库的配置)

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
 "-//Hibernate/Hibernate Configuration DTD3.0//EN"
 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.  -->
<hibernate-configuration>
    <session-factory>
        <property name="connection.username">sa</property>
        <property name="connection.url">
            jdbc:jtds:sqlserver://localhost:1433;DatabaseName=LQQ
        </property>
        <property name="dialect">
            org.hibernate.dialect.SQLServerDialect
        </property>
        <!--<property name="myeclipse.connection.profile">
            LoginSystem
            </property>  -->
        <property name="connection.password">sa</property>
        <property name="connection.driver_class">
            net.sourceforge.jtds.jdbc.Driver
        </property>
        <property name="show_sql">true</property>
        <!-- POJO 类映射配置-->
        <mapping resource="sedion/xq/ORM/Stuinfo.hbm.xml" />
    </session-factory>
</hibernate-configuration>

重点讲Spring:
1. 在src下面新建applicationContext.xml文件:

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<!-- 这是个例子待会会用到  可以先不要 -->
    <bean id="TUser_id" class="test.TUser">
        <property name="username" value="你"></property>
        <property name="allname" value="李"></property>
        <property name="address" value="温州市"></property>
    </bean>

</beans>

 然后在web-xml:

<context-param>
         <param-name>contextConfigLocation</param-name>
        <!--spring 的配置文件加载路径-->
          <param-value>classpath:applicationContext.xml</param-value>
</context-param>

2.Spring基本配置完毕

下面我们测试下:src建个test包

建两个类User和SpringTest类:

 

public class User implements java.io.Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    private String username;
    private String allname;
    private String address;

    public String getUsername() {
        return this.username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getAllname() {
        return this.allname;
    }

    public void setAllname(String allname) {
        this.allname = allname;
    }

    public String getAddress() {
        return this.address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
 

public class SpringTest {
    public static void main(String[] args) {
        // 加载spring配置文件,初始化IoC容器
        ApplicationContext ac = new ClassPathXmlApplicationContext(
                "applicationContext.xml");
        // 从容器 接管Bean
        TUser user = (TUser) ac.getBean("TUser_id");
        // 输出欢迎信息
        System.out.println("Hello:" + user.getUsername() + ";u is in "
                + user.getAddress() + " ; and u is  " + user.getAllname());
    }
}
<br><br>

别忘了:在applicationContext.xml中配置一个bean,在xml中增加如下代码:

<!-- 这是个例子待会会用到  可以先不要 -->
  <bean id="TUser_id" class="test.TUser">
        <property name="username" value="你"></property>
        <property name="allname" value="李"></property>
        <property name="address" value="温州市"></property>
    </bean>

 

运行main方法后

控制台出现:Hello:你;u is in 温州市 ; and u is  李

下面开始整合

整合struts2

  1.整合struts2配置web.xml文件。在web.xml中加入以下代码:

 

<!-- Spring与Struts的整合其实就是把Struts的Action类交给Spring来管理 -->
<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

 2.举个例子:

  把struts的action交给spring:

  先把 

<action name="login" class="test.LoginAction ">

 改为



<action name="login" class="loginAction_id">

 

然后在

在applicationContext.xml中增加如下代码:

 

<bean id="loginAction_id" class="test.action.LoginAction" scope="prototype">
</bean>

整合Hibernate

 Spring整合Hibernate主要是对hibernate的Session进行管理,包含Session的创建、提交、关闭的整个生命周期。Spring对事务的管理应用了AOP的技术

1)        配置sessionFactory,让spring来创建Session。

我们原来是用HibernateSessionFactory.java来创建Session的,现在删除即可,交给Spring创建。(这样就spring来整合hibernate来创建session)

这里,创建了一个Session工厂类的Bean,其ID为“sessionFactory”.

 

在applicationContext.xml中增加如下代码:

 

<!-- 配置sessionFactory -->

 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

     <property name="configLocation">

         <value>classpath:hibernate.cfg.xml</value>

     </property>   

 </bean>   

还有个例子上的配置:

<bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
            </props>
        </property>
        <property name="mappingResources">
            <list>
                        <value>sedion/xq/bean/User.hbm.xml</value><!--这里是将映射文件加载-->
            </list>
        </property>

    </bean>

2.

然后DAO层匹配一个session工厂,<ref bean="sessionFactory"/>这个sessionFactory是指session工厂的ID。

 

<bean id="userDao" class="sedion.xq.dao.iml.UserDAOImpl" scope="singleton">

        <property name="sessionFactory">
            <ref bean="sessionFactory" />
        </property>
</bean>

 3.service层注入DAO层

     <bean id="userService" class="sedion.xq.sevice.iml.UserServiceImpl">
    <property name="userDAO" ref="userDao"></property>
</bean>

 然后就是各个action注入service层:(随便写个)
<bean id="saveUesrAction" class="sedion.xq.action.user.SaveUserAction"
    scope="prototype">
    <property name="userService" ref="userService"></property>
</bean>

整合就这样好

时间: 2024-11-17 22:04:52

SSH的整合的相关文章

tomcat启动报错-SSH + Oracle 整合开发 启动服务报错,运行查询操作,没影响

问题描述 SSH + Oracle 整合开发 启动服务报错,运行查询操作,没影响 信息: Initializing Spring root WebApplicationContextlog4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).log4j:WARN Please initialize the log4j system properly.2013-1

该怎么解决-SSH框架整合,出现异常

问题描述 SSH框架整合,出现异常 java.lang.reflect.InvocationTargetException sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(De

ssh整合-SSH框架整合 Linux平台转移到windows平台

问题描述 SSH框架整合 Linux平台转移到windows平台 在做SSH框架整合时,所有的包都导入了并且运行正常,但不知道为什移到windows上就报错 : Cannot find class [com.mchange.v2.c3p0.CombopooledDataSource] for bean with name 'dataSource' defined in class path resource [applicationContext-ds.xml]; 注:这个项目是在老师的wind

ssh框架-SSH框架整合的注册登陆例子,hql老是报错。注册可以运行,求大侠解救

问题描述 SSH框架整合的注册登陆例子,hql老是报错.注册可以运行,求大侠解救 这个是登陆源码 public boolean loginObject(User user) throws HibernateException{ System.out.println("6666666666666"); //String hql=("from User u where?u.username=? and u.password=?",user.getUsername(),u

我的一个SSH简单整合,启动tomcat时报错,如error文档内容所示,请教指点

问题描述 我的一个SSH简单整合,启动tomcat时报错,如:error文档 内容所示,请教指点,项目源代码及项目结构图都在压缩包中,随时等候佳音,谢谢了-- 解决方案 你的UesrBean.hbm.xml的路径写错了不是<class name="com.bean.UserBean" table="users">而是<class name="com.bean.user.UserBean" table="users&qu

JBPM4.4与SSH框架整合之后,启动Tomcat6.0之后,一直在查询JBPM4_JOB

问题描述 JBPM4.4与SSH框架整合之后,启动Tomcat6.0之后,一直在查询JBPM4_JOB,而且每个5秒查询一次.求各位大侠帮我解决一下.Hibernate:selectjobimpl0_.DBID_asDBID1_3_,jobimpl0_.DBVERSION_asDBVERSION3_3_,jobimpl0_.DUEDATE_asDUEDATE4_3_,jobimpl0_.STATE_asSTATE5_3_,jobimpl0_.ISEXCLUSIVE_asISEXCLUS6_3_,

ssh框架整合实例子1-配置文件

ssh框架整合实例子-配置文件 主要配置文件如下: 1.web.xml: 配置actionservlet类和映射配置Listener,加载spring配置 <?xml version="1.0" encoding="UTF-8"?><web-app version="2.4"  xmlns="http://java.sun.com/xml/ns/j2ee"  xmlns:xsi="http://ww

ssh框架整合实例子-业务层

1. 业务层接口 UserService   package com.yanek.demo.ssh.service; import java.util.List; import com.yanek.demo.ssh.vo.User; public interface UserService {   public void save(User user); public List<User> findAll();}       2. 业务层接口实现类  UserServiceImpl   pac

ssh+sql整合

问题描述 <?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p&q