[转载]如何在Servlet中连接数据库

如何在Servlet中连接数据库
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Database extends HttpServlet
{

public void doGet (
HttpServletRequest request,
HttpServletResponse response
) throws ServletException, IOException
{
PrintWriter out;
String title = "Simple Servlet connecting to Oracle DB";

// set content type and other response header fields first
response.setContentType("text/html;charset=GB2312");

// then write the data of the response
out = response.getWriter();

out.println("");
out.println(title);
out.println("");
out.println("

" + title + "

");
out.println("

This is output from SimpleServlet.");
String driverName = "oracle.jdbc.driver.OracleDriver";
Driver d;
Connection con;
Statement stmt;
ResultSet results;


try {
d = (Driver)Class.forName(driverName).newInstance();
con = DriverManager.getConnection("jdbc:oracle:thin:ndb/ndb@111.222.1.36:1521:PC36");
stmt = con.createStatement();
String sqlstr = "select SYSDATE from dual";
results = stmt.executeQuery(sqlstr);
displayResult(results,out);
stmt.close();
con.close();
}
catch (Exception e) {
out.println("error: " + e.toString());
}
out.println("");
out.close();
}

public void displayResult(ResultSet results,PrintWriter out){
StringBuffer buf = new StringBuffer();
String temp;
try {
ResultSetMetaData rsmd = results.getMetaData();
int numCols = rsmd.getColumnCount();
int i, rowcount = 0;
// get column header info
for (i=1; i <= numCols; i++){
if (i > 1) buf.append(",");
buf.append(rsmd.getColumnLabel(i));
}
buf.append("
");
while (results.next() && rowcount < 100){
for (i=1; i <= numCols; i++) {
if (i > 1) buf.append(",");
buf.append((results.getString(i)));
}
buf.append("
");
rowcount++;
}
out.println("
");
out.println(buf.toString());
results.close();

} catch (Exception e) {
out.println("error: " + e.toString());

return;
}
}
}

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/374079/viewspace-132124/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/374079/viewspace-132124/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值