多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

中國最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2

servlet教程

Servlet 數據庫訪問

閱讀 (2228)

Servlet 數據庫訪問

本教程假定您已經了解了 JDBC 應用程序的工作方式。在您開始學習 Servlet 數據庫訪問之前,請確保您已經有適當的 JDBC 環境設置和數據庫。

從基本概念下手,讓我們來創建一個簡單的表,并在表中創建幾條記錄。

創建數據庫表

在測試數據庫 TEST 中創建 Employees 表,請按以下步驟進行:

步驟 1:

打開命令行提示符(Command Prompt),并更改進入到安裝目錄,如下所示:

C:\>
C:\>cd Program Files\MySQL\bin
C:\Program Files\MySQL\bin>

步驟 2:

登錄到數據庫,如下所示:

C:\Program Files\MySQL\bin>mysql -u root -p
Enter password: ********
mysql>

步驟 3:

在測試數據庫 TEST 中創建 Employee 表,如下所示:

mysql> use TEST;
mysql> create table Employees
    (
     id int not null,
     age int not null,
     first varchar (255),
     last varchar (255)
    );
Query OK, 0 rows affected (0.08 sec)
mysql>

創建數據記錄

最后,在 Employee 表中創建幾條記錄,如下所示:

mysql> INSERT INTO Employees VALUES (100, 18, 'Zara', 'Ali');
Query OK, 1 row affected (0.05 sec)
 
mysql> INSERT INTO Employees VALUES (101, 25, 'Mahnaz', 'Fatma');
Query OK, 1 row affected (0.00 sec)
 
mysql> INSERT INTO Employees VALUES (102, 30, 'Zaid', 'Khan');
Query OK, 1 row affected (0.00 sec)
 
mysql> INSERT INTO Employees VALUES (103, 28, 'Sumit', 'Mittal');
Query OK, 1 row affected (0.00 sec)
 
mysql>

訪問數據庫

下面的實例演示了如何使用 Servlet 訪問 TEST 數據庫。

// 加載必需的庫
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
 
public class DatabaseAccess extends HttpServlet{
    
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      // JDBC 驅動器名稱和數據庫的 URL
      static final String JDBC_DRIVER="com.mysql.jdbc.Driver";  
      static final String DB_URL="jdbc:mysql://localhost/TEST";

      //  數據庫的憑據
      static final String USER = "root";
      static final String PASS = "password";

      // 設置響應內容類型
      response.setContentType("text/html");
      PrintWriter out = response.getWriter();
      String title = "數據庫結果";
      String docType =
        "<!doctype html public \"-//w3c//dtd html 4.0 " +          "transitional//en\">\n";
         out.println(docType +
         "<html>\n" +
         "<head><title>" + title + "</title></head>\n" +
         "<body bgcolor=\"#f0f0f0\">\n" +
         "<h1 align=\"center\">" + title + "</h1>\n");
      try{
         // 注冊 JDBC 驅動器
         Class.forName("com.mysql.jdbc.Driver");

         // 打開一個連接
         conn = DriverManager.getConnection(DB_URL,USER,PASS);

         // 執行 SQL 查詢
         stmt = conn.createStatement();
         String sql;
         sql = "SELECT id, first, last, age FROM Employees";
         ResultSet rs = stmt.executeQuery(sql);

         // 從結果集中提取數據
         while(rs.next()){
            // 根據列名稱檢索
            int id  = rs.getInt("id");
            int age = rs.getInt("age");
            String first = rs.getString("first");
            String last = rs.getString("last");

            // 顯示值
            out.println("ID: " + id + "<br>");
            out.println(", Age: " + age + "<br>");
            out.println(", First: " + first + "<br>");
            out.println(", Last: " + last + "<br>");
         }
         out.println("</body></html>");

         // 清理環境
         rs.close();
         stmt.close();
         conn.close();
      }catch(SQLException se){
         // 處理 JDBC 錯誤
         se.printStackTrace();
      }catch(Exception e){
         // 處理 Class.forName 錯誤
         e.printStackTrace();
      }finally{
         // 最后是用于關閉資源的塊
         try{
            if(stmt!=null)
               stmt.close();
         }catch(SQLException se2){
         }// 我們不能做什么
         try{
            if(conn!=null)
            conn.close();
         }catch(SQLException se){
            se.printStackTrace();
         }//end finally try
      } //end try
   }
} 

現在讓我們來編譯上面的 Servlet,并在 web.xml 文件中創建以下條目:

....
 <servlet>
     <servlet-name>DatabaseAccess</servlet-name>
     <servlet-class>DatabaseAccess</servlet-class>
 </servlet>
 
 <servlet-mapping>
     <servlet-name>DatabaseAccess</servlet-name>
     <url-pattern>/DatabaseAccess</url-pattern>
 </servlet-mapping>
....

現在調用這個 Servlet,輸入鏈接:http://localhost:8080/DatabaseAccess,將顯示以下響應結果:

數據庫結果
ID: 100, Age: 18, First: Zara, Last: Ali
ID: 101, Age: 25, First: Mahnaz, Last: Fatma
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal
關閉
程序員人生
主站蜘蛛池模板: 欧美性受xxxx白人性爽 | 亚洲精国产一区二区三区 | 成人爱爱网站在线观看 | 国产精品96久久久久久久 | 欧美最猛黑人xxxx黑人猛交98 | 中文字幕乱码在线观看 | 国产亚洲欧美在线视频 | 免费亚洲视频在线观看 | 亚洲另类精品xxxx人妖 | 亚洲一区二区三区夜色 | 亚洲精品视频一区二区 | 国产欧美精品一区二区 | 亚洲第一页在线播放 | 最近最新中文字幕在线第一页 | 国语对白清晰好大好白在线 | 武则天免费一级淫片 | 伊人啪啪 | 正在播放国产露脸真实高清 | 久久精品视频大全 | 国产精品播放 | 女女女女女女bbbbbb毛片 | www日韩精品| 亚洲在线资源 | 日韩精品中文字幕一区三区 | 日韩视频在线一区 | 欧美一级视频免费观看 | 国产一级一级片 | 亚洲专区一路线二 | 美女网站视频在线 | 波多野结衣中文字幕在线 | 久久综合精品国产一区二区三区无 | 在线综合亚洲欧美网站天堂 | 一区二区高清视频 | 久久久久久综合对白国产 | 国产97在线 | 亚洲 | 久久国产精品免费看 | 亚色精品| 欧美精品福利视频 | 91欧美一区二区三区综合在线 | 最近中文字幕最新在线视频 | 亚洲综合久久久 |