Java實現JSP在Servelt中串連Oracle資料庫的方法_java

來源:互聯網
上載者:User

本文執行個體講述了Java實現JSP使用Servelt串連Oracle資料庫的方法。為了實現在Servlet 中串連資料庫,必須編寫Servlet 的類程式。將Servlet 類程式放到WEB 伺服器的servlets 或者classes 目錄下面,為調用Servlet,需要建立發送Servlet 請求的HTML 文檔。本例通過(Driver)Class.forName(driverName).newInstance()方法來實現載入驅動程式,建立與資料庫連接。

具體程式碼為:

1.Database 類繼承了HttpServlet 類,共有兩個方法:doGet()和displayResult(),代碼如下:

public class Database extends HttpServlet{public void doGet();public void displayResult(ResultSet results,PrintWriter out);}

2.在doGet()方法中建立與資料庫的串連並執行查詢:

public void doGet(){HttpServletRequest request,HttpServletResponse response}throws ServletException, IOException{PrintWriter out;String title = "Simple Servlet connecting to Oracle DB";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>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 = DiverManager.getConnection("jdbc:oracle:thin:ndb/ndb@192.168.1.6:1521:PC6");stmt = con.createStatement();String sqlstr = "select * from data";results = stmt.executeQuery(sqlstr);displayResult(results,out);stmt.close();con.close();}catch (Exception e){out.println("error: " + e.toString());}out.println("</BODY></HTML>");out.close();}

3.DisplayResult()方法顯示查詢結果:

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;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 (Exception e){out.println("error: " + e.toString());return;}}

4.因為程式使用了JDBC 類、servlet 類和使用控制台輸出,所以需要引入如下的包:

import java.sql.*;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;

5.編譯Database.java,產生Database.class 檔案,將Database.class 放到WEB 伺服器的servlets 目錄下,本例採用Java Web Server 作為WEB 伺服器。配置好WEB 伺服器,添加database.class,指定名稱為database。

6.編寫調用Servlet 的database.html 檔案。代碼如下:

<html><head><title>Jsp使用Servlet串連資料庫</title></head><body><center><form action="/servlet/database" method="get"><input name="action" type="submit" value="串連資料庫"></form></center></body></html>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.