最近公司領(lǐng)導(dǎo)告訴接下去接的一個(gè)產(chǎn)品,可能會(huì)涉及到oracle數(shù)據(jù)庫(kù),以前用得最多的是mssql,前些時(shí)間學(xué)了下mysql也算少許用過(guò)。oracle沒接觸過(guò)。應(yīng)為我之前做過(guò).net開發(fā),所以數(shù)據(jù)訪問(wèn)接口這塊,涉及到的ashx wcf webserver這些,學(xué)了下servlet感覺 這些技術(shù)比較像 ashx編寫的接口。
一、 首先在電腦上安裝了 oracle數(shù)據(jù)庫(kù), 安裝ORACLE數(shù)據(jù)庫(kù)按常理說(shuō),直接下載安裝就行了,但是中途是遇到了問(wèn)題的,原因就是我的系統(tǒng)是Win7 64 oracle的client客戶端不支持 win7 64,即使是64的系統(tǒng)也只能下載32位的client安裝,這里搞的我重用ghost還原了下系統(tǒng)。(其實(shí)后面發(fā)現(xiàn)它是可以完全卸載的)
二、我電腦上是一直都安裝有ecplise的,但是沒有安裝java的web開發(fā)環(huán)境,下面我說(shuō)下安裝方法吧
ecplise菜單欄----Help-->Install New Software
然后在Work with:左邊的文本框輸入:http://download.eclipse.org/releases/kepler
等待片刻后會(huì)出現(xiàn)javaWeb安裝選項(xiàng): 然后選擇最后一項(xiàng) web...打勾 一直下一步 完畢 下面是截圖
到這里我們的javaweb開發(fā)環(huán)境就安裝好了,里面包含了servlet.....
三、接著下載apache-tomcat服務(wù)器:我下的是7,然后解壓到任意路徑
四、創(chuàng)建servlet環(huán)境
1:打開ecplise
2:創(chuàng)建apache-tomcat服務(wù)器(servlet會(huì)用到,下面我會(huì)說(shuō)創(chuàng)建方法)
菜單欄 file----->new---->other---->Server(點(diǎn)開文件夾)--Server 然后直接next 然后選擇Apache點(diǎn)開選擇你下載的 服務(wù)器對(duì)應(yīng)版本,如果你是6.幾 7.幾這樣的版本通用都選擇 6或7.................. next然后在Browser中選擇你剛才解壓apache-tomcat的文件夾路徑(下面是截圖)
3:創(chuàng)建severlet
菜單欄 file----->new---->other---->Web-->Dynamic Web Project創(chuàng)建 然后直接next,跳轉(zhuǎn)后隨便取個(gè)名字就Finish了下面是截圖
創(chuàng)建好之后:我們就需要?jiǎng)?chuàng)建servlet的.java文件 我直接上圖
到這里我們的Servlet就算創(chuàng)建完畢了
4:運(yùn)行我們創(chuàng)建的Servlet項(xiàng)目
java Resources--->src--->包名---.java(servlet文件) 鼠標(biāo)右鍵 點(diǎn)擊 run as
選中 列表里面的服務(wù)器:如果這時(shí)候服務(wù)器狀態(tài)為Stopped,我們就需要重啟動(dòng)下機(jī)器
然后電Finish后就可以啟動(dòng)servlet了.
5: 導(dǎo)入oracle驅(qū)動(dòng)包 ojdbc14.jar不知道路徑直接輸入查詢,下面截圖
上面是部署程序集截圖 點(diǎn)擊Java Build Path Entries后 選擇剛才創(chuàng)建的 jar后導(dǎo)入
6:連接本地Oracle數(shù)據(jù)庫(kù) 查詢一個(gè)表的數(shù)據(jù)輸出
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Connection conn = null ; Statement stmt = null ; ResultSet rs = null ; response.setContentType( "text/html" ); response.setCharacterEncoding( "gb2312" ); PrintWriter out = response.getWriter(); out.println( "<table border=1>" ); out.println( "<tr><td>Content:</td></tr>" ); try { Class.forName( "oracle.jdbc.driver.OracleDriver" ); //加載驅(qū)動(dòng) conn = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:ORCL" , "SCOTT" , "Lh19870426" ); //創(chuàng)建連接 stmt = conn.createStatement(); //創(chuàng)建statement rs = stmt.executeQuery( "select * from ORACLETESTDATABASE" ); //得到結(jié)果集 while (rs.next()){ //遍歷結(jié)果集 out.println( "<tr>" ); out.println( "<td>" + rs.getString( "name" ) + "</td>" ); //取出列值 out.println( "</tr>" ); } out.println( "</table>" ); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (rs != null ) { rs.close(); rs = null ; } if (stmt != null ) { stmt.close(); stmt= null ; } if (conn != null ) { conn.close(); conn = null ; } } catch (SQLException e) { e.printStackTrace(); } } } |
輸出截圖: