最近负责自己在练习做一个数据库管理模块,用到了dwr,所以就研究了一下,因为水平有限,加上还在打基础,所以对于新手来说起到了抛砖引玉作用吧,
这次我写了一个数据源test,我先把代码贴出来吧,附带dwr的jar包
1配置web.xml文件
<!-- 进行dwr的相关配置-->
< servlet >
< servlet-name > dwr </ servlet-name >
< servlet-class > org.directwebremoting.spring.DwrSpringServlet </ servlet-class >
< init-param >
< param-name > debug </ param-name >
< param-value > true </ param-value >
</ init-param >
< load-on-startup > 1 </ load-on-startup >
</ servlet >
< servlet-mapping >
< servlet-name > dwr </ servlet-name >
< url-pattern > /dwr/* </ url-pattern >
</ servlet-mapping >
<!-- 配置监听器-->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
2.dwr.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:dwr="http://www.directwebremoting.org/schema/spring-dwr" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.directwebremoting.org/schema/spring-dwr http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd" default-autowire="byName"> <!-- DWR 配置开始 --> <dwr:configuration></dwr:configuration><!-- 必须要configuration --> <dwr:controller id="dwrController" debug="true" /> <!-- DWR 配置结束 --> <!-- spring bean配置 --> <bean id="databaseService" class="com.dexs.service.impl.DatabaseServiceImpl"> </bean> <bean id="testConnDB" class="com.dexs.bean.TestConnDB"> <property name="databaseService" ref="databaseService" /> <!-- 定义调用的js文件 --> <dwr:remote javascript="TestConnDB"></dwr:remote> </bean> </beans>
3.java类 DatabaseSerive.java
package com.dexs.service;
public interface DatabaseService{
/**
* 验证数据库是否成功链接
* @param databaseModel
* @return 是否成功
*/
public boolean validateConnection(String driverName,String url,String userName,String password);
}
4.java类 DatabaseSeriveImpl.java
package com.dexs.service.impl;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import com.dexs.bean.SearchSql;
import com.dexs.service.DatabaseService;
import com.mchange.v2.c3p0.DriverManagerDataSource;
/**
* @author Administrator
*
*/
public class DatabaseServiceImpl implements DatabaseService {
/**验证数据库连接
*
* return boolean
* @throws ClassNotFoundException
*/
@Override
public boolean validateConnection(String driverName,String url,String userName,String password){
// TODO Auto-generated method stub
System.out.println(driverName+url+userName+password);
Connection conn = null;
if(driverName == null || driverName.equals(""))
{
System.out.println("1");
return false;
}
if(url == null || url.equals(""))
{ System.out.println("2");
return false;
}
if(userName == null || userName.equals(""))
{
System.out.println("3");
return false;
}
if(password == null || password.equals(""))
{
System.out.println("4");
return false;
}
try {
System.out.println("5");
Class.forName(driverName);
}
catch (ClassNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
try
{
conn = DriverManager.getConnection(url, userName,password);
System.out.println("6");
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
if(conn!=null){
try {
System.out.println("7");
conn.close();
return true;
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return false;
}
}
5.java类
package com.dexs.bean;
import com.ehualu.dexs.service.DatabaseService;
public class TestConnDB {
private DatabaseService databaseService;
public void setDatabaseService(DatabaseService databaseService) {
this.databaseService = databaseService;
}
public boolean ValidateConnection(String driverName, String url, String userName, String password)
{
return databaseService.validateConnection(driverName, url, userName, password);
}
}
6.jsp页面
<script type="text/javascript" src="dwr/util.js"></script> <script type="text/javascript" src="dwr/engine.js"></script> <script type="text/javascript" src="dwr/interface/TestConnDB.js"></script> <script language="javascript"> function ValidateConnection() { //var databasename = document.getElementById("databaseName").value; /获取数据库名称 //var databasetype = document.getElementById("databaseType").value; //获取数据库类型 //var ip = document.getElementById("ip").value; //获取数据库ip地址 //var port = document.getElementById("port").value; //获取数据库端口号 //var str = ":" //var url = "jdbc:oracle:thin:@"+ip+str+port+str+databasename; if(document.getElementById("depictName").value=="") { alert("请填写数据库描述名称"); document.getElementById("depictName").focus() return false; } var url = document.getElementById("url").value; var driverName = document.getElementById("driverName").value; var userName = document.getElementById("userName").value; var password = document.getElementById("password").value; TestConnDB.ValidateConnection(driverName,url,userName,password,f); } var f = function(testconn){ if(testconn){ alert("数据库连接成功了"); } else{ alert("数据库连接错误了"); } } </script>
具体的spring配置文件不列出来了,我已经测试过了,没有问题