最近公司領導告訴接下去接的一個產品,可能會涉及到oracle數據庫,以前用得最多的是mssql,前些時間學了下mysql也算少許用過。 oracle沒接觸過。應為我之前做過.net開發,所以數據訪問接口這塊,涉及到的ashx wcf webserver這些,學了下servlet感覺這些技術比較像ashx編寫的接口。
一、 首先在電腦上安裝了oracle數據庫, 安裝ORACLE數據庫按常理說,直接下載安裝就行了,但是中途是遇到了問題的,原因就是我的系統是Win7 64 oracle的client客戶端不支持win7 64,即使是64的系統也只能下載32位的client安裝,這裡搞的我重用ghost還原了下系統。 (其實後面發現它是可以完全卸載的)
二、我電腦上是一直都安裝有ecplise的,但是沒有安裝java的web開發環境,下面我說下安裝方法吧
ecplise菜單欄----Help-->Install New Software
然後在Work with:左邊的文本框輸入:http://download.eclipse.org/releases/kepler
等待片刻後會出現javaWeb安裝選項: 然後選擇最後一項web...打勾一直下一步完畢下面是截圖
到這裡我們的javaweb開發環境就安裝好了,裡麵包含了servlet.....
三、接著下載apache-tomcat服務器:我下的是7,然後解壓到任意路徑
四、創建servlet環境
1:打開ecplise
2:創建apache-tomcat服務器(servlet會用到,下面我會說創建方法)
菜單欄file----->new---->other---->Server(點開文件夾)--Server 然後直接next 然後選擇Apache點開選擇你下載的服務器對應版本,如果你是6.幾7.幾這樣的版本通用都選擇6或7.................. next然後在Browser中選擇你剛才解壓apache-tomcat的文件夾路徑(下面是截圖)
3:創建severlet
菜單欄file----->new---->other---->Web-->Dynamic Web Project創建然後直接next,跳轉後隨便取個名字就Finish了下面是截圖
創建好之後:我們就需要創建servlet的.java文件我直接上圖
到這裡我們的Servlet就算創建完畢了
4:運行我們創建的Servlet項目
java Resources--->src--->包名---.java(servlet文件) 鼠標右鍵點擊run as
選中列表裡面的服務器:如果這時候服務器狀態為Stopped,我們就需要重啟動下機器
然後電Finish後就可以啟動servlet了.
5: 導入oracle驅動包ojdbc14.jar不知道路徑直接輸入查詢,下面截圖
上面是部署程序集截圖點擊Java Build Path Entries後選擇剛才創建的jar後導入
6:連接本地Oracle數據庫查詢一個表的數據輸出
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");//加載驅動conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL", "SCOTT", "Lh19870426");//創建連接stmt = conn.createStatement();//創建statementrs = stmt.executeQuery("select * from ORACLETESTDATABASE"); //得到結果集while(rs.next()){//遍歷結果集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();}}}輸出截圖: