软件环境:
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;
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("
//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());
}
}
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;
}
}
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";
String user = "weblogic";
String password = "weblogic";
由于我的weblogic安装在本机,故此这样配置
step 3:
发布应用到weblgic,如下图:
step4:
启动weblogic,登陆console,配置JDBC数据源,由于我用的公司数据库,就不贴图了:)
step5:
打开浏览器,应该可以看到如下图片:
其中的ACCESS-MODE就是我数据库表名!