Java实现JSP在Servelt中连接Oracle数据库的方法
本文实例讲述了Java实现JSP使用Servelt连接Oracle数据库的方法。为了实现在Servlet中连接数据库,必须编写Servlet的类程序。将Servlet类程序放到WEB服务器的servlets或者classes目录下面,为调用Servlet,需要创建发送Servlet请求的HTML文档。本例通过(Driver)Class.forName(driverName).newInstance()方法来实现加载驱动程序,建立与数据库连接。
具体程序代码为:
1.Database类继承了HttpServlet类,共有两个方法:doGet()和displayResult(),代码如下:
publicclassDatabaseextendsHttpServlet
{
publicvoiddoGet();
publicvoiddisplayResult(ResultSetresults,PrintWriterout);
}
2.在doGet()方法中建立与数据库的连接并执行查询:
publicvoiddoGet()
{
HttpServletRequestrequest,
HttpServletResponseresponse
}
throwsServletException,IOException
{
PrintWriterout;
Stringtitle="SimpleServletconnectingtoOracleDB";
response.setContentType("text/html;charset=GB2312");
out=response.getWriter();
out.println("<HTML><HEAD><TITLE>");
out.println(title);
out.println("</TITLE></HEAD><BODY>");
out.println("<H1>"+title+"</H1>");
out.println("<P>ThisisoutputfromSimpleServlet.");
StringdriverName="oracle.jdbc.driver.OracleDriver";
Driverd;
Connectioncon;
Statementstmt;
ResultSetresults;
try
{
d=(Driver)Class.forName(driverName).newInstance();
con=DiverManager.getConnection("jdbc:oracle:thin:ndb/ndb@192.168.1.6:1521:PC6");
stmt=con.createStatement();
Stringsqlstr="select*fromdata";
results=stmt.executeQuery(sqlstr);
displayResult(results,out);
stmt.close();
con.close();
}
catch(Exceptione)
{
out.println("error:"+e.toString());
}
out.println("</BODY></HTML>");
out.close();
}
3.DisplayResult()方法显示查询结果:
publicvoiddisplayResult(ResultSetresults,PrintWriterout)
{
StringBufferbuf=newStringBuffer();
Stringtemp;
try
{
ResultSetMetaDatarsmd=results.getMetaData();
intnumCols=rsmd.getColumnCount();
inti,rowcount=0;
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("<br>");
rowcount++;
}
out.println("<br>");
out.println(buf.toString());
results.close();
}
catch(Exceptione)
{
out.println("error:"+e.toString());
return;
}
}
4.因为程序使用了JDBC类、servlet类和使用控制台输出,所以需要引入如下的包:
importjava.sql.*; importjava.io.*; importjavax.servlet.*; importjavax.servlet.http.*;
5.编译Database.java,产生Database.class文件,将Database.class放到WEB服务器的servlets目录下,本例采用JavaWebServer作为WEB服务器。配置好WEB服务器,添加database.class,指定名称为database。
6.编写调用Servlet的database.html文件。代码如下:
<html> <head> <title>Jsp使用Servlet连接数据库</title> </head> <body> <center> <formaction="/servlet/database"method="get"> <inputname="action"type="submit"value="连接数据库"> </form> </center> </body> </html>