欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實現(xiàn)JSP在Servelt中連接Oracle數(shù)據(jù)庫的方法

 更新時間:2014年07月30日 17:21:08   投稿:shichen2014  
這篇文章主要介紹了Java實現(xiàn)JSP在Servelt中連接Oracle數(shù)據(jù)庫的方法,需要的朋友可以參考下

本文實例講述了Java實現(xiàn)JSP使用Servelt連接Oracle數(shù)據(jù)庫的方法。為了實現(xiàn)在Servlet 中連接數(shù)據(jù)庫,必須編寫Servlet 的類程序。將Servlet 類程序放到WEB 服務(wù)器的servlets 或者classes 目錄下面,為調(diào)用Servlet,需要創(chuàng)建發(fā)送Servlet 請求的HTML 文檔。本例通過(Driver)Class.forName(driverName).newInstance()方法來實現(xiàn)加載驅(qū)動程序,建立與數(shù)據(jù)庫連接。

具體程序代碼為:

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

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

2.在doGet()方法中建立與數(shù)據(jù)庫的連接并執(zhí)行查詢:

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()方法顯示查詢結(jié)果:

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,產(chǎn)生Database.class 文件,將Database.class 放到WEB 服務(wù)器的servlets 目錄下,本例采用Java Web Server 作為WEB 服務(wù)器。配置好WEB 服務(wù)器,添加database.class,指定名稱為database。

6.編寫調(diào)用Servlet 的database.html 文件。代碼如下:

<html>
<head>
<title>Jsp使用Servlet連接數(shù)據(jù)庫</title>
</head>
<body>
<center>
<form action="/servlet/database" method="get">
<input name="action" type="submit" value="連接數(shù)據(jù)庫">
</form>
</center>
</body>
</html>

相關(guān)文章

  • SWT(JFace)體驗之StyledText類

    SWT(JFace)體驗之StyledText類

    有的時候Text需要實現(xiàn)這種那種的樣式。先提供在不使用StyledText類的情況:
    2009-06-06
  • 使用springboot配置文件yml中的map形式

    使用springboot配置文件yml中的map形式

    這篇文章主要介紹了springboot配置文件yml中的map形式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java避免死鎖_動力節(jié)點Java學(xué)院整理

    Java避免死鎖_動力節(jié)點Java學(xué)院整理

    在有些情況下死鎖是可以避免的。本文將展示三種用于避免死鎖的技術(shù)。對java避免死鎖的相關(guān)知識感興趣的朋友一起通過本文學(xué)習(xí)吧
    2017-06-06
  • Java Optional解決空指針異??偨Y(jié)(java 8 功能)

    Java Optional解決空指針異??偨Y(jié)(java 8 功能)

    這篇文章主要介紹了Java Optional解決空指針異??偨Y(jié)(java 8 功能),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • java算法題解Leetcode763劃分字母區(qū)間示例

    java算法題解Leetcode763劃分字母區(qū)間示例

    這篇文章主要為大家介紹了java算法題解Leetcode763劃分字母區(qū)間示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • springboot結(jié)合前端實現(xiàn)網(wǎng)頁跳轉(zhuǎn)功能實例

    springboot結(jié)合前端實現(xiàn)網(wǎng)頁跳轉(zhuǎn)功能實例

    今天處理Springboot統(tǒng)一異常攔截的時候,遇到了頁面跳轉(zhuǎn)的問題,這篇文章主要給大家介紹了關(guān)于springboot結(jié)合前端實現(xiàn)網(wǎng)頁跳轉(zhuǎn)功能的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • Spring AOP中的JDK和CGLib動態(tài)代理哪個效率更高?

    Spring AOP中的JDK和CGLib動態(tài)代理哪個效率更高?

    今天小編就為大家分享一篇關(guān)于Spring AOP中的JDK和CGLib動態(tài)代理哪個效率更高?,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • centos下編譯安裝mysql報錯解決方案

    centos下編譯安裝mysql報錯解決方案

    今天在centos6.2下面源碼編譯安裝mysql的時,在編譯mysql的時候報了一個蛋蛋的錯誤,本文提供詳細解決方案
    2012-11-11
  • Spring Junit測試找不到SpringJUnit4ClassRunner.class的解決

    Spring Junit測試找不到SpringJUnit4ClassRunner.class的解決

    這篇文章主要介紹了Spring Junit測試找不到SpringJUnit4ClassRunner.class的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • springboot中的springSession的存儲和獲取實現(xiàn)

    springboot中的springSession的存儲和獲取實現(xiàn)

    這篇文章主要介紹了springboot中的springSession的存儲和獲取實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評論