新聞中心
jsp怎樣連接Oracle數(shù)據(jù)庫
jsp連接oracle數(shù)據(jù)庫,主要是通過jdbc技術(shù),首先加載驅(qū)動(dòng)類,然后連接url,輸入用戶名和密碼,打開數(shù)據(jù)庫連接資源,如下代碼:
站在用戶的角度思考問題,與客戶深入溝通,找到商洛網(wǎng)站設(shè)計(jì)與商洛網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋商洛地區(qū)。
%@page?contentType="text/html;charset=gb2312"%
%@page?import="java.sql.*"%
HTMLBODY
hr?align="center"?width="55%"?color="#991111"?size="5"/
%
Connection?conn?=?null;
PreparedStatement?stmt?=?null;
ResultSet?rs?=?null;
request.setCharacterEncoding("GBK");
try{
Class.forName("oracle.jdbc.driver.OracleDriver");//加載oracle數(shù)據(jù)庫驅(qū)動(dòng)
}
catch(ClassNotFoundException?ce){
out.println(ce.getMessage());
}
try{
String?url="jdbc:oracle:thin:@localhost:1521:orcl";//連接oracle數(shù)據(jù)庫的url
conn=DriverManager.getConnection(url,"scott","tiger");//開始連接
stmt=conn.prepareStatement("select?*?from?emp");//獲取返回的結(jié)果集
rs=stmt.executeQuery();
out.print("TABLE?BORDER='1'?width='55%'?cellpadding='3'?align=center");
out.print("TRTD"+"bEmpno/b"+"/TD");
out.print("TD"+"bEname/b"+"/TD");
out.print("TD"+"bJob/b"+"/TD");
out.print("TD"+"bMgr/b"+"/TD");
out.print("TD"+"bhiredate/b"+"/TD");
out.print("TD?align=center"+"bSal/b"+"/TD");
out.print("TD"+"bComm/b"+"/TD");
out.print("TD"+"bDeptno/b"+"/TD/TR");
while(rs.next()){
out.print("TRTD"+rs.getString(1)+"/TD");
out.print("TD"+rs.getString(2)+"/TD");
out.print("TD?"+rs.getString(3)+"/TD");
out.print("TD"+rs.getString(4)+"/TD");
out.print("TD"+rs.getString(5)+"/TD");
out.print("TD"+rs.getString(6)+"/TD");
out.print("TD"+rs.getString(7)+"/TD");
out.print("TD"+rs.getString(8)+"/TD/TR");
}
out.print("/TABLE");
rs.close();
stmt.close();
conn.close();
}
catch(Exception?e){
System.out.println(e.getMessage());
}
%
/BODY/HTML
jsp如何連接oracle代碼?
jsp連接oracle數(shù)據(jù)庫,基本思想是加在oracle驅(qū)動(dòng),打開連接數(shù)據(jù)庫資源,接著對驗(yàn)證用戶名和密碼,示例如下:
%
String?url=?"jdbc:oracle:thin:@數(shù)據(jù)庫機(jī)器名或IP:1521:數(shù)據(jù)庫實(shí)例名";
Connection?con=null;
String?user=request.getParameter("userName");
String?password=request.getParameter("password");?
try?
{?
Class.forName(forname);?
con?=DriverManager.getConnection(url,user,password);?
out.write("連接成功!");
}?
catch(Exception?e)?
{?
e.printStackTrace();?
out.write("連接失敗!");
}?
%
login.jsp
form?name='frm'?action='conn.jsp'
用戶名:input?type="text"?name="userName"
密碼:input?type="password"?name="password"
input?type="submit"?value="確定"
/form
在JSP中訪問Oracle數(shù)據(jù)庫
寫第一個(gè)連接Oracle的JSP程序test.jsp
1、連入SQL*Plus
以system/manager用戶登錄,
SQL conn system/manager
創(chuàng)建新的用戶:如user1/pass1,賦予connect,resource權(quán)限。
SQL grant connect,resource to user1 identified by pass1;
SQL conn user1/pass1
SQL create table test(a number,b char(10));
SQL insert into test values(1,"一");
SQL insert into test values(2,"二");
SQL insert into test values(3,"三");
SQL commit;
SQL select * from test;
A B
---------- ----------
1 一
2 二
3 三
2、配置ODBC(在服務(wù)器端設(shè)置)
開始->設(shè)置->控制面板->管理工具->數(shù)據(jù)源 (ODBC)->系統(tǒng)DSN->添加->
選擇“Oracle ODBC Driver”->完成->
Data Source Name:test名字隨便取,好記就行,如:test
Service Name:oradb Oracle數(shù)據(jù)庫的實(shí)例名,本例:oradb,一般Oracle默認(rèn)安裝為ORCL
UserID:user1 Oracle用戶名,本例:user1
按“OK”->按“確定”退出
3、在C:\JBuilder4\tomcat\webapps\test下創(chuàng)建test.jsp,用notebook編輯,輸入以下代碼
!--首先導(dǎo)入一些必要的packages--
%@ page info="database handler"%
%@ page import="java.io.*"%
%@ page import="java.util.*"%
!--告訴編譯器使用SQL包--
%@ page import="java.sql.*"%
%@ page import="javax.servlet.*"%
%@ page import="javax.servlet.http.*"%
%
//以try開始
try
{
Connection con;
Statement stmt;
ResultSet rs;
//加載驅(qū)動(dòng)程序,下面的代碼為加載JDBD-ODBC驅(qū)動(dòng)程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//用適當(dāng)?shù)尿?qū)動(dòng)程序連接到數(shù)據(jù)庫,test"是系統(tǒng)dsn名
String url="jdbc:odbc:test";
//建立連接,類似于ASP中的創(chuàng)建數(shù)據(jù)庫聯(lián)接
con=DriverManager.getConnection(url, "user1", "pass1");
//創(chuàng)建一個(gè)JDBC聲明
stmt = con.createStatement();
//增加新記錄
stmt.executeUpdate("INSERT INTO test (a,b) VALUES (1,"2")");
//查詢記錄
rs = stmt.executeQuery("SELECT a,b from test");
//輸出查詢結(jié)果
out.println("table border=1 width=400");
while (rs.next())
{
String col1 = rs.getString(1);
String col2 = rs.getString(2);
//打印所顯示的數(shù)據(jù)
out.println("trtd"+col1+"/tdtd"+col2+"/td/tr");
}
out.println("/table");
}
//如果加載時(shí)出錯(cuò),給出相應(yīng)的錯(cuò)誤信息
catch (Exception e) {}
%
4、打開一個(gè)瀏覽器窗口,輸入以下地址來查看運(yùn)行結(jié)果
名稱欄目:oracle怎么做jsp oracle怎么做表分析
當(dāng)前地址:http://www.ef60e0e.cn/article/hhiheo.html