最近负责自己在练习做一个数据库管理模块,用到了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配置文件不列出来了,我已经测试过了,没有问题