• 搭建SSH框架链接Oracle数据库


    
    

    本文应用SSH框架版本

    Struts  Version-struts-2.3.12-all.zip

    Spring Version-spring-framework-3.0.1.RELEASE-A.zip

    Hibernate Version-hibernate-3.2.5.ga.zip

    下载地址

    http://struts.apache.org/download

    http://www.springsource.com/download/community

    http://sourceforge.net/projects/hibernate/files/hibernate3/ 

    一、加入struts相关配置

    new一个web project 并且导入struts相关jar包

    ognl-3.0.6.jar

    struts2-core-2.3.12.jar

    xwork-core-2.3.12.jar

    commons-logging-api-1.1.jar

    commons-lang3-3.1.jar

    commons-fileupload-1.2.2.jar

    freemarker-2.3.19.jar

    commons-logging-1.1.1.jar

    commons-io-2.0.1.jar

    javassist-3.11.0.GA.jar (本jar包在struts2-blank-2.2.1.war示例工程中的web-inf/lib下可找到)

    注: Jar包如果找不到的话可以去struts2-blank-2.2.1.war示例工程中的web-inf/lib下将里面的jarcopy 过去即可

     

    src包下建立一个class继承ActionSupport类。并且写好一个action方法,并且在src包下面建立struts.xml配置该action

    public class UserLogin extends ActionSupport{
    	public String login(){
    		System.out.println("经过了");
    		return SUCCESS;
    	}
    }
    

    ClassPath下的struts.xml

    <?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.enable.DynamicMethodInvocation" value="false" />
        <constant name="struts.devMode" value="true" />
    
        <package name="default" extends="struts-default">
    		<action name="login" class="com.struts.action.UserLogin" method="login">
    			<result name="success">/WEB-INF/pages/index.jsp</result>
    		</action>
        </package>
    </struts>
    

    更改web.xml加入struts相关配置

    <!-- struts 跳转action配置  start -->
      <filter>
          <filter-name>struts</filter-name>
          <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
          <init-param>
            	<param-name>actionPackages</param-name>
            	<param-value>com.*</param-value>
          </init-param>
      </filter>
      
      <filter-mapping>
          <filter-name>struts</filter-name>
          <url-pattern>*.action</url-pattern>
      </filter-mapping>
       <!-- struts 跳转action配置  end -->
    

    说明:到此为止已经搭建完成了具备了一个struts2基本功能的web 项目。大家可以发布项目然后访问一下自己的action。看看有没有日志输出

    二、加入spring相关配置

    导入Jar包

    将下载下来的jar包目录为spring-framework-3.0.1.RELEASE-A.zip包解压。找到里面的spring-framework-3.0.1.RELEASE-A\dist目录下的所有jar包copy到项目lib目录下

    classpath下准备好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:aop="http://www.springframework.org/schema/aop"  
        xmlns:tx="http://www.springframework.org/schema/tx"  
        xsi:schemaLocation="  
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd  
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
        <bean id="UserLogin" class="com.struts.action.UserLogin">
        </bean>
    </beans>
    


    在web.xml中键入spring配置

     

    <!-- spring bean 容器配置start -->
       <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>
    <!-- spring bean 容器配置end -->

    整合spring和struts

    导入struts下载包的struts2-spring-plugin-2.3.12.jar包即可

    说明:到此我们就可以将struts.xml中配置class写为

    <action name="login" class="UserLogin"method="login">这里的classspringbean配置的id关联

      到此为止我们就整合了两个框架。启动服务,访问一下action。发现还是输出日志。正常。

    三、加入hibernate相关配置
    导入Jar包

    将hibernate解压包下的hibernate3.jar和lib文件夹下的文件全部copy到项目中。另外还要加入你的jdbc驱动。(这个要根据你的数据库而定了)

    在classpath下面建立xml文件hibernate.cfg.xml代码如下:

    <?xml version="1.0" encoding="UTF-8"?>  
    <!DOCTYPE hibernate-configuration PUBLIC     
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"     
              "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
    <hibernate-configuration>  
        <session-factory>  
            <property name="connection.driver_class">  
                oracle.jdbc.driver.OracleDriver
            </property>  
            <property name="connection.url">  
               jdbc:oracle:thin:@localhost:1521:orcl
            </property>  
            <!--  数据库连接设置 -->  
            <property name="eclipse.connection.profile">oracle</property>  
            <property name="connection.username">weibo</property>  
            <property name="connection.password">weibo</property>  
            <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>  
            <!-- show_sql 生成SQL语句 -->  
            <property name="show_sql">true</property>  
        	<property name="defaultAutoCommit">true</property> <!-- oracle特有的提交更改 -->
            <!-- SQL dialect 方言 -->  
            <property name="hibernate.dialect">  
                org.hibernate.dialect.Oracle9Dialect  
            </property>  
            <!-- 添加实体类的映射文件-->  
            <mapping resource="com/struts/model/Student.hbm.xml" />  
                
            <!-- Annotation方式配置  
            <mapping class="entity.Login"/>  
             -->  
        </session-factory>  
    </hibernate-configuration>  
    


    在classpath下建立applicationContext-hibernate.xml

     注:以下代码中的dataSource没有用到。大家也可以试试LocalSessionFactoryBean的另外一个构造函数。这个我不多说大家去看API或者源码

    <?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:aop="http://www.springframework.org/schema/aop"  
        xmlns:tx="http://www.springframework.org/schema/tx"  
        xsi:schemaLocation="  
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd  
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
    	
        <!-- 配置dataSource start -->
    	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    	    <property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />  
            <property name="jdbcUrl"  
                value="jdbc:oracle:thin:@localhost:1521:orcl" />  
            <property name="user" value="weibo" />  
            <property name="password" value="weibo" />  
            <property name="minPoolSize" value="2" />  
            <property name="maxPoolSize" value="50" />  
            <property name="initialPoolSize" value="10" />  
            <property name="maxIdleTime" value="60" />  
            <property name="acquireIncrement" value="2" />  
    	</bean>    
    	 <!-- 配置dataSource end -->
    	
    	
    <!-- 配置sessionFactory start-->  
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
      		<property name="configLocation">  
               <value>classpath:/hibernate.cfg.xml</value>  
           </property>   
    </bean>
    <!-- 配置sessionFactory end-->
    
    <!-- 配置hibernateTemplate -->  
    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">  
        <property name="sessionFactory" ref="sessionFactory"></property>  
    </bean>
    </beans>
    

    加入hibernateTemplate的注入

    <bean id="UserLogin" class="com.struts.action.UserLogin">
            	<property name="hibernateTemplate" ref="hibernateTemplate"></property>
    </bean>
    

    修改UserLogin类

    public class UserLogin extends ActionSupport{
    	
    	private HibernateTemplate hibernateTemplate;
    	
    	public HibernateTemplate getHibernateTemplate() {
    		return hibernateTemplate;
    	}
    
    	public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
    		this.hibernateTemplate = hibernateTemplate;
    	}
    
    	public String login(){
    		Student stu = new Student();
    		stu.setName("zhanglie");
    		hibernateTemplate.save(stu);
    		System.out.println("经过了");
    		return SUCCESS;
    }
    

    映射文件和POJO

    package com.struts.model;
    
    public class Student {
    	private String id;
    	private String name;
    	private Integer age;
    	
    	
    	public String getId() {
    		return id;
    	}
    	public void setId(String id) {
    		this.id = id;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public Integer getAge() {
    		return age;
    	}
    	public void setAge(Integer age) {
    		this.age = age;
    	}
    }
    
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
            "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
            "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    
    <hibernate-mapping>
        <class name="com.struts.model.Student" table="STUDENT">
            <id name="id" column="id" type="java.lang.String">
                <generator class="uuid"/>
            </id>
            <property name="name" type="java.lang.String" column="name">
            </property>
            <property name="age" type="java.lang.Integer" column="age">
    		</property>
        </class>
    </hibernate-mapping>
    

    访问你配置的action以完成插入操作


    源码打包下载:

        http://pan.baidu.com/share/link?shareid=403237&uk=1997312776



  • 相关阅读:
    CentOS中rpm和yum到底有什么区别?
    Anaconda是个什么东东?
    Hadoop入门学习整理(三)
    Hadoop入门学习整理(二)
    CentOS6.10下安装MongoDB和Redis
    Linux 系统中环境变量/etc/profile、/etc/bashrc、~/.bashrc的区别
    一些想法
    时间
    周末
    条件
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/2985642.html
Copyright © 2020-2023  润新知