DWR+Spring+Hibernate+Oracle在MyEclipse搭建框架示例

 

IDE为MyEclipse。 首先新建一个项目,取名为QSWB(奇傻无比)。我们用c3p0连接池连接Oracle数据库,所以首先准备好c3p0的jar包和oracle的jar包。

分别为:c3p0-0.9.1.2.jar,c3p0-0.9.1.jar,classes12.jar。放入WEB-INF的lib包中。

项目建立文件夹如下图所示:

然后,在项目上点击右键,MyEclipse->Add Spring Capabilities,选中:

Spring 2.5 core Labraries,Spring 2.5 Remoting Libraries,然后点击next,在WEB-INF下建立applicationContext.xml。

再点击Window->show Persperct->MyEclipse Database Explorer。在左边的数据库连接上点击右键->Edit。

Driver Template选中Oracle Thin,填写如下图所示:

这时点击Test Driver,如果填写正确,应该会返回Success establish。

然后finish,再在数据库上点击Open Connection。这时就如下图所示:

这时再返回MyEclipse Java Enterprise视图,在项目上点击右键,MyEclipse->Add Hibernate Capabilities。用Spring Configuration file,使用Existing Spring Configuration file,SessionFactory Id使用sessionFactory,Bean Id为dataSource,DB Driver选择刚才配置的。不create sessionFactory class。

在项目上右键,properties->Java build path->Add MyEclipse library,加入Spring 1.2 core library和Spring 1.2 ORM /DAO/Hibernate3.0 library。然后再将Spring 1.2 Core library移除。

再返回MyEclipse Database Exploerer视图,选中HBUT_ZP下的HBUT_ZP_GRXX表格,右键Hibernate Reverse Engineering,生成hbm文件和POJO文件。

接下来就是各个配置:

在com.QSWB.dao中写上hbutZpGrxxDAO文件:

package com.QSWB.dao;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class HbutZpGrxxDAO extends HibernateDaoSupport{

	public boolean saveGrxx(HbutZpGrxx zpGrxx)
	{
		boolean tag=false;
		try{
			this.getHibernateTemplate().save(zpGrxx);
			tag=true;
		}
		catch(Exception ex)
		{
			ex.printStackTrace();
		}
		return tag;
	}
}

在com.QSWB.service中写上qswbService文件:

package com.QSWB.service;
import com.QSWB.dao.HbutZpGrxx;
import com.QSWB.dao.HbutZpGrxxDAO;
public class qswbService {

	private HbutZpGrxxDAO hbutZpGrxxDAO;

	public HbutZpGrxxDAO getHbutZpGrxxDAO() {
		return hbutZpGrxxDAO;
	}

	public void setHbutZpGrxxDAO(HbutZpGrxxDAO hbutZpGrxxDAO) {
		this.hbutZpGrxxDAO = hbutZpGrxxDAO;
	}
	
	public boolean saveGrxx(String param)
	{
		boolean tag=false;
		HbutZpGrxx zpGrxx=new HbutZpGrxx();
		zpGrxx.setGrxxId("8888");
		zpGrxx.setXm(param.split("\\$")[0]);
		zpGrxx.setMm(param.split("\\$")[1]);
		tag=this.hbutZpGrxxDAO.saveGrxx(zpGrxx);
		
		return tag;
	}
}

再在com.QSWB.DWR中写上qswbDWR文件:

package com.QSWB.DWR;
import com.QSWB.service.qswbService;
public class qswbDWR {

	private qswbService qswbService;

	public qswbService getQswbService() {
		return qswbService;
	}

	public void setQswbService(qswbService qswbService) {
		this.qswbService = qswbService;
	}
	
	public boolean saveGrxx(String param)
	{
		return this.qswbService.saveGrxx(param);
	}
}

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"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
	<bean id="dataSource"
		class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="driverClass"
			value="oracle.jdbc.driver.OracleDriver">
		</property>
		<property name="jdbcUrl"
			value="jdbc:oracle:thin:@localhost:1521:orcl">
		</property>
		<property name="user" value="hbut_zp"></property>
		<property name="password" value="hbut_zp"></property>
	</bean>
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref bean="dataSource" />
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.Oracle9Dialect
				</prop>
			</props>
		</property>
		<property name="mappingResources">
			<list>
				<value>com/QSWB/dao/HbutZpGrxx.hbm.xml</value></list>
		</property></bean>
		<bean id="hbutZpGrxxDAO" class="com.QSWB.dao.HbutZpGrxxDAO">
		   <property name="sessionFactory" ref="sessionFactory"/>
		</bean>
		<bean id="qswbService" class="com.QSWB.service.qswbService">
		  <property name="hbutZpGrxxDAO" ref="hbutZpGrxxDAO"/>
		</bean>
		<bean id="qswbDWR" class="com.QSWB.DWR.qswbDWR">
		  <property name="qswbService" ref="qswbService"/>
		</bean>
		</beans>


接着就是配置DWR,将dwr.jar导入项目,然后在WEB-INF下新建dwr.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
	"http://getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
  <allow>
    <convert converter="bean" match="java.lang.Object"/>
	<create creator="spring" javascript="qswbDWR">
		  <param name="beanName" value="qswbDWR" />
	</create> 
  </allow>
</dwr>

再在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">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <!-- 配置Web应用启动时候加载Spring容器 -->
  <listener> 
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
  </listener>
   <!-- 配置DWR的核心Servlet -->
	<servlet>
		<!-- 指定DWR核心Servlet的名字 -->
		<servlet-name>dwr-invoker</servlet-name>
		<!-- 指定DWR核心Servlet的实现类 -->
		<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
		<!--  指定DWR核心Servlet处于调试状态 -->
		<init-param>
			<param-name>debug</param-name>
			<param-value>true</param-value>
		</init-param>  
	</servlet>
	<!-- 指定核心Servlet的URL映射 -->
	<servlet-mapping>
		<servlet-name>dwr-invoker</servlet-name>
		<!-- 指定核心Servlet映射的URL -->
		<url-pattern>/dwr/*</url-pattern>
	</servlet-mapping>
</web-app>

最后写上html页面:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>index.html</title>
	
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
 <script type='text/javascript' src='/QSWB/dwr/interface/qswbDWR.js'></script>
  <script type='text/javascript' src='/QSWB/dwr/engine.js'></script>
  </head>
  
  <body>
   姓名:<input type="text" id="username"/>
   密码:<input type="password" id="password"/>
   <input type="button" value="注册" οnclick="clickBtn();"/>
  </body>
</html>
<script type="text/javascript">
function clickBtn()
{
   var username=document.getElementById("username").value;
   var password=document.getElementById("password").value;
   qswbDWR.saveGrxx(username+"$"+password,function(dat){
   
      if(dat)
      {
         alert("注册成功!");
      }
      else
      {
         alert("注册失败!");
      }
   });
}
</script>


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值