servlet通过JDBC连接数据库

软件环境:
ORACLE 9i
weblogic 8
MyEclipse 3.0.1
 
step 1:
打开MyEclipse,新建一个WEB Project 项目,如下图:
开始
 
step 2:
新建一个servlet文件,代码如下:
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.naming.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.*;
import java.util.Properties;
 
public class Example1 extends HttpServlet {
 protected void doGet(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
   
  PrintWriter out=response.getWriter();
  out.println("

This is a servlet test.

");
  //out.flush();   
  
DataSource ds = null;
Context ctx = null;
Connection myConn = null;
try {
  /* 获得WebLogic ServerJNDI初始上下文信息*/
  
  ctx = getInitialContext();
  /* 建立数据源对象*/
  
  ds = (javax.sql.DataSource)
      ctx.lookup("myDataSource");
}
catch (Exception E) {
   System.out.println("Init Error: " + E);
}
Statement myStatement=null;
ResultSet myResultSet=null;
try {
  //建立连接
  myConn = ds.getConnection();
  // 建立语句对象
  myStatement = myConn.createStatement();
  //建立结果集对象
   myResultSet = myStatement.executeQuery(
      "SELECT tname from tab where rownum<=1"
      );
 //遍历结果集对象,访问每一条记录,输出full_name字段
  while(myResultSet.next())
 {
   out.println("table name: " +  myResultSet.getString("tname"));
 }
 //关闭结果集
  myResultSet.close();
}
catch (SQLException e) {
  out.println("Error code = " + e.getErrorCode());
  out.println("Error message = " + e.getMessage());
}
finally {
  try {
    // close the Statement object using the close() method
    if (myStatement != null) {
      myStatement.close();
    }
    // close the Connection object using the close() method
    if (myConn != null) {
      myConn.close();
    }
  }
  catch (SQLException e) {
    out.println("Error code = " + e.getErrorCode());
    out.println("Error message = " + e.getMessage());
  }
}
  }
  private static Context getInitialContext() throws Exception {
         String url = "t3://localhost:7001";
         String user = "weblogic";
         String password = "weblogic";
         Properties properties = null;
         try {
           properties = new Properties();
           properties.put(Context.INITIAL_CONTEXT_FACTORY,
               "weblogic.jndi.WLInitialContextFactory");
           properties.put(Context.PROVIDER_URL, url);
           if (user != null) {
             properties.put(Context.SECURITY_PRINCIPAL, user);
             properties.put(Context.SECURITY_CREDENTIALS, password == null ? "" : password);
           }
           return new InitialContext(properties);
         }
         catch(Exception e) {
           throw e;
         }
       }
}
代码说明如下:
1、ds = (javax.sql.DataSource) ctx.lookup("myDataSource"); 这是JDBC数据源名称,必须和自己配制的weblogic一致,这个在后续详细说明
2、"SELECT tname from tab where rownum<=1" 这是我写的SQL语句,从数据库视图中捞取第一个表,语句可以自己修改
3、String url = "t3://localhost:7001";
         String user = "weblogic";
         String password = "weblogic";
由于我的weblogic安装在本机,故此这样配置
 
step 3:
发布应用到weblgic,如下图:
 
step4:
启动weblogic,登陆console,配置JDBC数据源,由于我用的公司数据库,就不贴图了:)
step5:
打开浏览器,应该可以看到如下图片:
其中的ACCESS-MODE就是我数据库表名!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值