2011-07-19 94 views
0

這是我的另一個問題的更具體的版本。我創建了一個應該與我的MS Access數據庫進行通信的小程序。當我通過編譯器運行它時,它工作正常,但是當我將.class文件嵌入到html頁面中並打開html頁面時,它會運行,但它不會對數據庫實際發生的任何更改發生,也無法檢索來自數據庫的數據。我最終將發佈這個HTML文件到一個安全的網絡。小程序應該直接與計算機上的數據庫進行通信,而不需要servlet /套接字/等(儘管這應該不是很好的做法)。如果不同的計算機訪問html頁面,它應該能夠運行applet並對主機上的數據庫進行更改,但它不需要允許applet對其自己的文件進行任何特殊訪問,因爲它們沒有被更改,只有主機上的數據庫是。所以我認爲沒有理由使它成爲一個已簽名的applet,因爲這將使applet能夠對任何計算機進行更改,而不僅僅是自己的計算機。我運行Vista,因此策略工具不可用。Applet + MS Access

注:HTML文件,類文件和Java源文件都是我在同一個文件夾中的計算機上,這是它會留的方式。該html文件尚未發佈,我自己創建它來測試applet。

+1

[使用嵌入在HTML頁面中的小應用程序與數據庫進行通信]的可能重複(http://stackoverflow.com/questions/6754117/using-an-applet-embedded-in-html-page-to-communicate-與數據庫) –

+0

我投票結束這個問題。如果需要,最好用附加信息編輯原始問題。 –

回答

-1

我以前曾經嘗試過這種事情。我認爲你的問題在於applet的本質。

小程序下載,並通過客戶端機器上運行,所以如果服務器上存在您試圖訪問的數據庫,客戶端可能沒有訪問服務器上的數據庫位置。衆所周知,來自客戶端機器的代碼是不可信的。

它可能會更容易重寫你的頁面作爲一個servlet,作爲servlet住在服務器上,並可能具有對數據庫的訪問。然後您的servlet可以發送html並在客戶端和服務器之間來回接收表單數據。

如果你的心臟上設置一個小程序的前端,您可以發送HTTP消息回一個servlet這將隨後進行數據庫操作。這個選項將更加安全並且更容易實現許可。

希望這會有所幫助,讓我知道如果您有其他問題。

+0

謝謝Erik。我的心被安裝在一個applet上,但我也研究了servlet,因爲修改我的代碼結構可能會更簡單。現在的問題是我試圖導入javax.servlet。*,但DrJava聲稱這個包不存在。另外,我還有一種印象:由於沒有GUI,servlet不可能成爲前端。 – joseph

+1

@MrTuesday -1 *「我認爲你的問題在於小程序的本質,......客戶端可能無法訪問服務器上的數據庫位置。」*一個沙盒小程序可以很容易地「回家」給它自己的服務器(包括一個數據庫)。你的帖子中有太多的錯誤,「你甚至沒有錯」。 *「如果您還有其他問題,請告訴我。」*在提供任何其他答案之前,請詳細瞭解小程序。 –

+1

StackOverflow的人在他們的評論中往往很難... –