婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Java Web項目中連接Access數據庫的配置方法

Java Web項目中連接Access數據庫的配置方法

熱門標簽:地圖標注專業和非專業 汝南縣地圖標注app 山東ai外呼電銷機器人好用嗎 甘肅銷售電銷機器人公司 四川正規外呼系統軟件 福建電銷貓機器人收費 湖北地圖標注公司 外呼直播語音系統 智能電話機器人銷售話術

老師決定期末考試采用access數據庫實現增刪改查,我認為現在的我已經沒有問題了,但是以前都是在JSP頁面中連接access數據庫,無論是以下的那種方式都進行了連接的練習,但是現在我想讓我的項目中的訪問access數據庫的java代碼,封裝到DAO中,在DAO中連接數據庫,沒有和Servlet API有任何的關系。對于大多數人都會優先選擇使用ODBC數據源的方式或者是使用絕對路徑的方式連接access數據庫,但是我個人認為,這樣做不太好,如果采用這樣的方式,項目做好后,放到他人的服務器上是無法運行的,因為數據庫的信息不存在了,而我現在的想法是無論項目放那一臺支持jdbc-odbc機器的服務器上都可以連接數據庫,并運行項目,所以要完成這樣的操作,只有在讓access數據庫的mdb文件隨著項目的移動而移動,因此,在Java Web項目,將mdb文件放入到WebRoot下或者其子目錄下。但是在DAO中如何得到該mdb的真實路徑呢?

其實,這個和在JSP中動態的得到mdb文件的路徑的思想基本上是一樣。

先復習一下jsp中使用access數據庫吧!

例如有如下的Access數據庫student,表basic,以及6條記錄,現在通過幾種方式在Jsp中將他們的數據顯示出來。如圖所示:

對于幾種連接Access數據庫的方式,基本上都是基于JDBC-ODBC方式的,當然也有純JDBC驅動的方式。這里我暫時就不說了。對于這幾種方式,除了取得連接之處不同外,其他的代碼都是一樣的。所以這里先寫出取得連接的幾種方式,然后再用完整的代碼進行顯示。

方式一:通過JDBC-ODBC方式橋連直接連接:

1、對于這種方式,首先要建立ODBC數據源,我的系統是Win7系統,所以依次選擇“控制面板----管理工具----數據源(ODBC)”,打開數據源管理器,如圖所示:

2、在“系統DSN”選項卡中,單擊“添加”按鈕,打開創建數據源對話框,選擇Access數據庫的驅動程序“Microsoft Access Driver(*.mdb)”如圖所示:

3、單擊完成按鈕,出現如下對話框,在數據源名中輸入數據源的名字“JDBC-ODBC”,單擊選擇按鈕,選擇要操作的數據庫“student.mdb”,單擊確定按鈕完成數據源的配置。如圖所示:

4、數據源配置好了,就可以寫獲取連接的代碼了,如下所示:

復制代碼 代碼如下:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:JDBC-ODBC";
Connection con = DriverManager.getConnection(url);


以上的三行代碼就是通過JDBC-ODBC連接Access數據庫的關鍵代碼。這種方式連接可以很方便的記憶連接的url代碼,這是很有用的。后面的代碼就是正常寫了。

方式二:通過數據庫所在的絕對路徑方式連接

上面說過這里的幾種方式都是基于JDBC-ODBC方式。所以加載驅動的Class.forName()中的參數都是“sun.jdbc.odbc.JdbcOdbcDriver”。對于這種方式我將student.mdb文件放在了e盤的根目錄下,在使用的時候,直接寫上該數據庫的絕對路徑就行了。獲取連接的代碼如下所示:

復制代碼 代碼如下:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+"e://student.mdb ";
Connection con = DriverManager.getConnection(url);


對于這種方式不用配置數據源,雖然代碼比較多,但是很好理解的。也是很常用的。

方式三:通過請求來獲取數據庫的絕對路徑方式連接

對于這種方式,我個人認為很適合在Java Web應用中使用,將做好的應用給別人,別人也可以使用。我將該數據庫文件放在了Web應用的根路徑下。那么動態的獲取連接的代碼如下所示:

復制代碼 代碼如下:

String path = application.getRealPath("/index.jsp");
path = path.substring(0,path.lastIndexOf("\\"))+"\\";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+path+"student.mdb ";
Connection con = DriverManager.getConnection(url);


以上便是三種方式獲取連接。接下來便是顯示的代碼了。代碼如下所示:

復制代碼 代碼如下:

%@ page language="java" import="java.util.*,java.sql.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
title>Access/title>
/head>
body>
table border="1" width="40%">
tr bgcolor="gray">
th>學號/th>
th>姓名/th>
th>年齡/th>
th>地址/th>
th>語文/th>
th>數學/th>
th>英語/th>
/tr>
%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:JDBC-ODBC";
Connection con = DriverManager.getConnection(url);
Statement st = con.createStatement();
String sql = "select * from basic";
ResultSet rs = st.executeQuery(sql);
while(rs.next())
{
%>
tr>
td>%=rs.getString(1) %>/td>
td>%=rs.getString(2) %>/td>
td>%=rs.getInt(3) %>/td>
td>%=rs.getString(4) %>/td>
td>%=rs.getInt(5) %>/td>
td>%=rs.getInt(6) %>/td>
td>%=rs.getInt(7) %>/td>
/tr>
%
}
rs.close();
st.close();
con.close();
%>
/table>
/body>
/html>


運行JSP結果如下所示:

當將連接改為第二種方式的時候還是好使的,JSP代碼如下所示:

運行JSP結果如下所示:

當將連接改為第三種方式的時候還是好使的,JSP代碼如下所示:

運行JSP結果如下所示:

對于這種方式我的項目的目錄結構如下所示:

第三種方式正是現在要用的方式,可以在Java類中,訪問數據庫了。
首先將mdb文件放入到WebRoot下面,當點擊超鏈接的時候,將信息傳給Servlet,在Servlet中寫上如下的語句:
String path = request.getServletContext().getRealPath("/");
Dao dao = new Dao();
dao.init(path);
在dao的init()方法中初始化Connection連接:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+path+"student.mdb ";
Connection con = DriverManager.getConnection(url);
這樣在dao中就可以根據傳過來的path找到數據庫文件所在的路徑了。并成功的連接到數據庫了,實現了分層理念。
但是這樣出現了一個問題,如果放在WebRoot下,別人知道數據庫的位置,不就可以訪問了嗎?
為此我想了好久,既然是在Java類中訪問數據庫,那么能不能將mdb文件放在src下邊呢,答案是可以的。這樣在MyEclipse或Eclipse中,就將該文件復制到了Web項目的WEB-INF下的classes根路徑下,不就能訪問了,于是我的URL代碼變成了這樣:
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=student.mdb ";
但是結果失敗了,沒有找到文件,但后來將該文件放到“項目”下,就好使了,但是這樣一旦給別人,就又不行了,所以還得放到src下,只有這樣才會放到WebRoot或WebContent下,才會放到classes下,才能被java類所訪問,才能給別人項目就能運行。但是如何才能找到classes目錄下的數據庫文件呢。一直在找某個方法,直到找到了如下的方法:
方法一:Class類的getResource()方法或者是ClassLoader類的

方法二:URL類的getPath()方法
通過Class類的getResource()方法查找當前類所在的目錄,這里dao類在com.student.dao包下,那么該方法返回的就是該類的路徑,如果參數是“/”的化,返回的就是classes的根目錄,這樣就可以得到classes下的數據庫mdb文件的所在路徑。再通過URL類的getPath()方法得到字符串類型的文件路徑在服務器上的真實路徑。
代碼如下所示:
String path = this.getClass().getResource("/").getPath().replaceAll("%20"," ");//replaceAll方法是為了解決路徑中含有空格字符的問題
path = path.substring(1,path.length());//對路徑進行截取,獲得的路徑前邊會多加一個杠Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+path+"student.mdb";
con = DriverManager.getConnection(url);
將以上的代碼封裝DAO中,就可以訪問到數據庫了。就可以在Java Web項目中,使用Access數據庫實現MVC設計模式,并添加DAO和VO了。對于使用Servlet API將mdb文件的路徑傳給dao是一種方式,使用dao封裝Access也是一種方式,有時為了方便可以將mdb文件放到WebRoot下,通過JSP或者是Servlet將數據庫文件的路徑傳給dao。我覺的Access數據庫這一點比較好,可以將數據庫和項目一起移動。通關這兩種方式可以再任何的機器上運行。
目前,我所知道的就是這么做,我也認為這是比較好的作法。用Java語言連接數據庫,將數據庫文件放在和類路徑相同的目錄下是很好的作法。如果還有其他的辦法,希望大家提出來。
您可能感興趣的文章:
  • Java I/O深入學習之File和RandomAccessFile
  • Java設置Access-Control-Allow-Origin允許多域名訪問的實現方法
  • java連接Access數據庫的方法
  • Java RandomAccessFile 指定位置實現文件讀取與寫入
  • Java接口RandomAccess全面了解
  • java微信公眾號開發第一步 公眾號接入和access_token管理
  • Java程序生成Access文件代碼實例

標簽:昌都 黔東 梅州 吳忠 臨沂 白銀 南充 肇慶

巨人網絡通訊聲明:本文標題《Java Web項目中連接Access數據庫的配置方法》,本文關鍵詞  Java,Web,項,目中,連接,Access,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Java Web項目中連接Access數據庫的配置方法》相關的同類信息!
  • 本頁收集關于Java Web項目中連接Access數據庫的配置方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    免费观看在线综合色| 在线日韩国产精品| 精品国产一区二区三区四区四| 日韩欧美亚洲一区二区| 天天亚洲美女在线视频| 色香色香欲天天天影视综合网| 久久久一区二区三区捆绑**| 日韩不卡一区二区三区| 成人高清视频免费观看| 日本一区二区不卡视频| 日韩av中文在线观看| 欧美视频精品在线| 三级欧美韩日大片在线看| 欧美日韩成人一区二区| 久久蜜臀中文字幕| 9色porny自拍视频一区二区| 国产精品传媒视频| 久久www免费人成看片高清| 欧美日产国产精品| 蜜臀久久99精品久久久久久9| 欧美日韩亚洲综合在线 | 国产情人综合久久777777| 美女视频黄免费的久久 | 欧美mv日韩mv国产网站app| 午夜精品久久久久久久蜜桃app| 欧美成人一区二区三区片免费| 经典三级在线一区| 亚洲欧洲精品成人久久奇米网| 欧美色爱综合网| 欧美va亚洲va香蕉在线| 麻豆精品久久精品色综合| 日韩一区二区免费在线观看| 国产一区免费电影| 亚洲乱码国产乱码精品精98午夜| 色综合久久六月婷婷中文字幕| 免费成人av资源网| 国产精品不卡在线| 欧美精品aⅴ在线视频| 麻豆精品精品国产自在97香蕉| 国产精品国产三级国产三级人妇 | 99这里只有精品| 亚洲国产一区二区视频| 欧美激情一区二区三区全黄| 欧美日本在线看| 久久久三级国产网站| 成人在线综合网站| 日韩精品欧美精品| 国产片一区二区三区| 欧美丰满美乳xxx高潮www| av高清不卡在线| 国内不卡的二区三区中文字幕| 久久精品一级爱片| 亚洲高清视频中文字幕| 国产精品国产三级国产有无不卡 | 一区二区三区色| 国产无人区一区二区三区| 91久久国产最好的精华液| 国产一区二区三区在线观看免费| 日韩av一区二区在线影视| 久久综合久久鬼色| 欧亚洲嫩模精品一区三区| 国产精品亚洲一区二区三区在线| 午夜精品久久久久久久| 国产丝袜欧美中文另类| 欧美日韩国产电影| 欧美日韩一区二区三区视频| av电影天堂一区二区在线观看| 久久精品国产在热久久| 亚洲美女少妇撒尿| 国产精品欧美一级免费| 日韩欧美的一区| 欧美一级夜夜爽| 337p亚洲精品色噜噜噜| eeuss影院一区二区三区| 午夜精品一区二区三区电影天堂| 亚洲精品成a人| 欧美怡红院视频| 午夜精品一区二区三区免费视频| 国产日韩av一区| 欧美在线影院一区二区| 成人av动漫在线| 国内精品自线一区二区三区视频| 日本午夜精品一区二区三区电影| 天堂久久久久va久久久久| 一区二区三区国产| 91麻豆成人久久精品二区三区| 成人黄色网址在线观看| 国产精品一区久久久久| 成人综合婷婷国产精品久久 | 中文字幕第一页久久| 欧美一级爆毛片| 久久综合九色欧美综合狠狠| 欧美午夜影院一区| 久久不见久久见中文字幕免费| 日韩三级高清在线| 久久精品亚洲一区二区三区浴池| 日韩欧美国产精品| 91精品国产综合久久久蜜臀图片| 欧美精品一区男女天堂| 国产一区二区福利| 从欧美一区二区三区| 99综合影院在线| 欧美日韩二区三区| 精品国产一区久久| 欧美一区二区在线视频| 久久久国产精品不卡| 亚洲综合激情另类小说区| 午夜精品久久久久久久久| 午夜久久久久久| 日本va欧美va精品| 粉嫩av一区二区三区在线播放| 国产91丝袜在线播放0| 欧美日韩视频专区在线播放| 日韩美女主播在线视频一区二区三区| 国产欧美日韩视频在线观看| 中文字幕欧美三区| 亚洲成a人片综合在线| 国产精品一二三区在线| 99久久精品免费| 欧美日韩亚洲综合| 欧美军同video69gay| 日韩欧美一区二区免费| 国产欧美日韩三级| 亚洲精品亚洲人成人网在线播放| 亚洲成人激情综合网| 国产盗摄视频一区二区三区| 欧美日韩一区二区三区视频| 欧美激情一区二区三区不卡| 日本成人超碰在线观看| 色偷偷成人一区二区三区91| 久久久久久**毛片大全| 激情综合色播五月| 色综合久久久久综合体| 中文字幕在线一区二区三区| 日日摸夜夜添夜夜添亚洲女人| av动漫一区二区| 欧美国产精品一区| 国产成人午夜99999| 久久亚洲欧美国产精品乐播| 麻豆91精品视频| 日韩亚洲欧美在线| 日韩电影免费一区| 在线观看免费视频综合| 欧美一二三区在线| 国产一区欧美一区| 欧美高清性hdvideosex| 亚洲国产精品一区二区久久 | 一区二区三区四区不卡视频| 成人高清视频在线观看| 国产免费观看久久| www.色综合.com| 亚洲日本va午夜在线电影| 91蝌蚪porny成人天涯| 亚洲精品第一国产综合野| 色素色在线综合| 1024精品合集| 欧美亚洲综合另类| 一区二区三区四区五区视频在线观看 | 在线观看三级视频欧美| 中文字幕在线观看一区二区| 成人动漫精品一区二区| 亚洲另类中文字| 欧美日韩国产bt| 亚洲18女电影在线观看| 日韩欧美中文字幕一区| 免费人成黄页网站在线一区二区 | 日韩精品在线一区| 国产福利精品导航| 亚洲精品精品亚洲| 精品国产乱码久久| 99久久精品情趣| 午夜不卡在线视频| 久久亚区不卡日本| 99精品视频在线观看| 蜜桃久久av一区| 国产精品免费久久| 欧美精品vⅰdeose4hd| 久久精品国产77777蜜臀| 欧美国产日韩精品免费观看| 99久久精品国产一区二区三区| 亚洲成人激情综合网| 国产精品毛片a∨一区二区三区| 又紧又大又爽精品一区二区| 色婷婷久久久综合中文字幕| 亚洲大片一区二区三区| 51精品视频一区二区三区| 国产一区在线视频| 亚洲图片有声小说| 精品理论电影在线| 欧美性猛交一区二区三区精品| 国产一区二区三区免费看| 亚洲精品乱码久久久久| 国产欧美一区二区精品性色超碰| 91精品国产综合久久精品| 97超碰欧美中文字幕| 黄页网站大全一区二区| 亚洲第一激情av| 亚洲精品成人精品456| 国产精品毛片大码女人| 中文字幕免费不卡|