Jsp之使用纯Java数据库驱动程序(sqlserver,Oracle数据库为例)

1.首先,先下载sqlserver数据库驱动程序和Oracle数据库驱动程序,下面我将用到sqljdbc.jar和ojdbc6.jar,这里的sqljdbc.jar是属于SQL Server 2005的驱动程序包,ojdbc6.jar是Oracle 11g的数据库驱动程序包,在Oracle的安装目录下可以找到,我的安装目录在E盘,即在:


E:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib这个路径下,里面有一些jar包,其中ojdbc6.jar是用于jdk 1.6的,我刚好jdk是1.6版本,所以就直接拿来用了,如果没有的可以去网上下载:


2.我们下载得到数据库的驱动程序jar包后,打开我们的MyEclipse软件工具,创建一个新项目,这里我的项目名为JdbcTest,把我们下载的驱动程序包复制到WebRoot下的WEB-INF下lib目录下,在创建个tom.servlet包,创建2个类,继承于HttpServlet类,目录层次如下图所示,其中的JdbcTest是测试sqlserver驱动程序的,OracJdbcTest是测试Oracle数据库驱动程序的:

3.接下来便开始写测试代码,看是否可以连接到数据库驱动,直接上代码,首先是JdbcTest.java文件的代码,用来测试sqlserver驱动程序的,其中的127.0.0.1是本机的服务器的意思,其中的1433是sqlserver数据库里的TCP/IP里面的端口号:

package tom.servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class JdbcTest extends HttpServlet {
	/*
	 *java驱动的测试
	 */

	@Override
	protected void service(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		//加载驱动
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
					.newInstance();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//与指定数据库创建连接
		try {
			String uri = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=employee";
			String user = "xg";
			String password = "123456";
			Connection con = DriverManager.getConnection(uri, user, password);
			System.out.println(con.toString());
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

4.接下里附上OracJdbcTest.java文件的代码,用来测试Oracle数据库驱动程序的,在下面的代码中,其中的127.0.0.1是本机服务器的意思,1521是Oracle数据库的端口号,那个orcl是全局数据库名,scott是一个模式,123456即为密码:

package tom.servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class OracJdbcTest extends HttpServlet{

	/*
	 *java驱动的测试
	 */
	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//加载驱动
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//与指定数据库创建连接
		try {
			Connection con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott" , "123456");
			System.out.println(con.toString());
			con.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
}

5.接下来还必须在web.xml里配置声明两个servlet,即把上面两个测试代码配置下,在输入不同的网址会在控制台下显示不同的连接成功或失败的信息,web.xml文件代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
	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_3_0.xsd">
  <display-name></display-name>	
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <servlet>
  <servlet-name>jdbcTest</servlet-name>
  <servlet-class>tom.servlet.JdbcTest</servlet-class>
  </servlet>
  
  <servlet-mapping>
  <servlet-name>jdbcTest</servlet-name>
  <url-pattern>/test</url-pattern>
  </servlet-mapping>
  
    <servlet>
  <servlet-name>oracjdbcTest</servlet-name>
  <servlet-class>tom.servlet.OracJdbcTest</servlet-class>
  </servlet>
  
  <servlet-mapping>
  <servlet-name>oracjdbcTest</servlet-name>
  <url-pattern>/test1</url-pattern>
  </servlet-mapping>
</web-app>

6.部署此项目,打开tomcat服务器,打开MyEclipse web Brower浏览器,输入各自的网址,点击运行即可看到控制台下相应的连接成功失败信息:

上图测试sqlserver的连接成功,接下来测试Oracle数据库驱动程序是否连接成功,输入另一个网址:

上图表明连接Oracle数据库驱动成功了。

7.注,在这里,要注意连接对应驱动时端口号的问题,和是否开启了相应的服务,像sqlserver里的TCP/IP那里有可能是禁用的,要求我们开启,或者端口号不是1433,因此要看情况,默认sqlserver TCP/IP的端口号是1433,Oracle数据库的端口号为1521,服务器不一样也会导致连接不到数据库,我的全部都是本机服务器,直接就写127.0.0.1了。

8.此文章是我学习积累得到的,仅供大家学习参考,写得不好,请见谅,如果有什么问题和错误请指出,谢谢!

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值