您的位置:首页 > 数据库 > Oracle

搭建SSH框架链接Oracle数据库

2013-03-27 14:44 295 查看
本文应用SSH框架版本Struts  Version-struts-2.3.12-all.zipSpring Version-spring-framework-3.0.1.RELEASE-A.zipHibernate Version-hibernate-3.2.5.ga.zip下载地址http://struts.apache.org/downloadhttp://www.springsource.com/download/communityhttp://sourceforge.net/projects/hibernate/files/hibernate3/ 一、加入struts相关配置new一个web project 并且导入struts相关jar包ognl-3.0.6.jarstruts2-core-2.3.12.jarxwork-core-2.3.12.jarcommons-logging-api-1.1.jarcommons-lang3-3.1.jarcommons-fileupload-1.2.2.jarfreemarker-2.3.19.jarcommons-logging-1.1.1.jarcommons-io-2.0.1.jarjavassist-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写为<actionname="login"class="UserLogin"method="login">这里的class和spring的bean配置的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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: