熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

詳細講解JSP訪問數據庫的方法

2013-11-15 11:54:15  來源: JSP教程 

  JSP(JavaServer Pages)是由Sun 公司倡導許多公司參與建立的一種動態網頁技術標准使用JSP技術Web頁面開發人員可以使用HTML或者XML標識來設計和格式化最終頁面使用JSP標識(tag)或者小腳本(Scriptlet)來生成頁面上的動態內容生成內容的邏輯被封裝在標識和JavaBeans組件中並且捆綁在小腳本中所有的腳本在服務器端運行

  數據庫連接對動態網站來說是最為重要的部分Java中連接數據庫的技術是JDBC(Java Database Connectivity)很多數據庫系統帶有JDBC驅動程序Java程序就通過JDBC驅動程序與數據庫相連執行查詢提取數據等操作Sun公司還開發了JDBCODBC bridge用此技術Java程序就可以訪問帶有ODBC驅動程序的數據庫目前大多數數據庫系統都帶有ODBC驅動程序所以Java程序能訪問諸如OracleSybaseMS SQL Server和MS Access等數據庫本文將通過一個實例介紹在JSP中利用JavaBeans通過JDBCODBC Bridge訪問Access客戶信息數據庫

  首先建立一個Access數據庫Customersmdb其中表Customers有字段id(自動增量型並設為主關鍵字)name(文本型長度address(文本型長度info(備注型)

  在Control Panel(控制面板)的ODBC Datasource模塊中加入System DSN取名Customers並指向Customersmdb

  創建一個JavaBeans命名為DBconnjava並保存在支持JSP的Web服務器的缺省文檔根目錄下DBconnjava主要是封裝與數據庫的連接操作內容如下

  import javasql*;
  public class DBconn {
  String DBDriver = "sunjdbcodbcJdbcOdbcDriver";
  String ConnStr = "jdbc:odbc:Customers";
  Connection conn = null;
  ResultSet rs = null;
  public DBconn {
  try {
  ClassforName(DBDriver);
  //加載數據庫驅動程序
  }
  catch(javalangClassNotFoundException e) {
  Systemerrprintln("DBconn (): " + egetMessage());
  }
  }
  public ResultSet executeQuery(String sql) {
  rs = null;
  try {
  conn = DriverManagergetConnection(ConnStr);
  //與DBMS建立連接
  Statement stmt = conncreateStatement();
  rs = stmtexecuteQuery(sql);
  }
  catch(SQLException ex) {
  Systemerrprintln("aqexecuteQuery: " + exgetMessage());
  }
  return rs;
  }
  }

  DBconnjava編輯好後在DOS狀態下進而用JDK的javac命令編譯DBconnjava形成相應的class文件

  建立Customersjsp文件在JSP中調用以上編譯好的JavaBeans其內容如下

  〈html〉
  〈head〉
  〈meta httpequiv="ContentType" content="text/html; charset=gb"〉
  〈title〉客戶信息調查〈/title〉
  〈/head〉
  〈body〉
  〈p〉〈b〉客戶信息調查〈/b〉〈/p〉
  〈%@ page language="java" import="javasql*" %〉
  〈jsp:useBean id="DBconn" scope="page" class="DBconn" /〉
  〈%
  ResultSet RS = DBconnexecuteQuery("SELECT * FROM Customers");
  while (RSnext()) {
  outprint("〈LI〉" + RSgetString("name") + "〈/LI〉");
  outprint("〈LI〉" + RSgetString("address") + "〈/LI〉");
  outprint("〈LI〉" + RSgetString("info") + "〈/LI〉");
  }
  RSclose();
  %〉
  〈/body〉
  〈/html〉

  在〈 jsp:useBean〉標記內定義了幾個屬性其中id是整個JSP頁面內該Bean的標識scope屬性定義了該Bean的生存時間class屬性說明了該Bean的類文件

  事實證明JSP是一種開發Web應用的理想構架利用跨平台運行的JavaBeans組件JSP為分離處理邏輯及顯示樣式提供了卓越的解決方案


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19857.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.