2013-01-03 22 views
0

我搜索了谷歌和這邊,並做了一些教程,我想它是(像往常一樣)對我的問題的單線解決方案:部署一個動態Web項目,包括一個帶JNPLP文件部署的JApplet的HTML頁面

我有 「的index.html」 頁面,包括下面的代碼:

<script src="http://www.java.com/js/deployJava.js"></script> 
<script> 
    var attributes = {code:'gui.Applet.class', archive:'ComTool.jar', width:1288, height:800} ; 
    var parameters = {jnlp_href: 'Deploy.jnlp', draggable: 'true'} ; 
    var version = '1.7' ; 
    deployJava.runApplet(attributes, parameters, version); 
</script> 

和 「Deploy.jnlp」 文件lookes這樣的:

<?xml version="1.0" encoding="UTF-8"?> 
<jnlp spec="1.0+" codebase="" href="Deploy.jnlp"> 

<information> 
    <title>Tool</title> 
    <vendor>Andrea</vendor> 
    <homepage href="index.html"/> 
    <description>Tool for representing relations between components and their versions.</description> 
    <description kind="short">Allows to change relations between components and their versions.</description> 
    <description kind="tooltip">The test tool.</description> 
    <offline-allowed/> 
    <shortcut online="false"> 
     <desktop /> 
    </shortcut> 
</information> 

<resources> 
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/> 
    <jar href="WEB-INF/lib/ComTool.jar" main="true" download="lazy"/> 
    <jar href="WEB-INF/lib/itextpdf-5.3.2.jar" download="lazy"/> 
    <jar href="WEB-INF/lib/ojdbc6.jar" download="lazy"/> 
</resources> 

<applet-desc 
    name="Tool" 
    main-class="gui.Applet" 
    width="1288" 
    height="800"> 
</applet-desc> 

<update check="background"/> 

<security> 
    <all-permissions/> 
</security> 
</jnlp> 

和這兩個文件都在我的「WebContent」文件夾動態Web項目 - 該文件夾的結構是:

WebContent/META-INF 
WebContent/WEB-INF/lib/ComTool.jar 
WebContent/WEB-INF/lib/itextpdf-5.3.2.jar 
WebContent/WEB-INF/lib/ojdbc6.jar 
WebContent/WEB-INF/web.xml 
WebContent/Deploy.jnlp 
WebContent/index.html 

當右鍵單擊該項目,並選擇了「的index.html」頁面加載「運行方式/服務器上運行」,但沒有小程序,從字面上。這意味着沒有錯誤,沒有灰色的盒子,就像頁面沒有找到JNLP文件一樣。 JAR全部簽名,當我雙擊瀏覽器中的「index.html」文件時,一切都可以正常工作,但不能在由Eclipse Juno管理的Tomcat 7.0服務器上運行。服務器運行,我認爲這不是問題。哦,我差點忘了web.xml文件:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 

<display-name>CompTool</display-name> 

<distributable/> 

<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
</welcome-file-list> 

</web-app> 

我想我必須在web.xml文件中添加一些東西?我經歷了這個tag list,但我沒有找到對我有用的東西。我還必須說動態網站項目對我來說是比較新的。我玩了一圈,發現了,如果我補充一點:

<error-page> 
    <location>/error.html</location> 
</error-page> 

作品都不是,當然「的error.html」是在這裏:

WebContent/error.html 

當這個作品我要生成一個WAR這個動態Web項目的文件並將其部署到其他服務器上。我剛剛創建了一個動態Web項目並插入了文件,更改了所有路徑並進行了雙重檢查,並刪除了「web.xml」文件中不必要的條目,我只想盡量減少錯誤來源,現在是我的問題,我做錯了什麼?請我需要幫助...

最佳,安德烈

回答

0

這是一場艱苦的一個,在這裏我的錯誤,如果有人遇到同樣的問題,有時:

  1. 不要試圖啓動一個動態Web項目通過eclipse中的「Run As」,將它作爲WAR導出到Apache-Tomcat-7.0.34/webapps文件夾中,它會自動部署並運行!
  2. 做你的功課,我想我可以直接從服務器加載圖像爲我的圖形用戶界面,不,我不能。小程序始終在客戶端上運行,因此使用URL和URI來加載圖像(請向谷歌瞭解更多信息)。
  3. 如果你想保存或服務器使用servlet創建文件,我得到了,太多了錯誤的圖片...
  4. OJDBC6.jar簽署(也-verify的jarsigner驗證ojdbc6.jar)可以導致問題重新加載一個HTML頁面,爲了解決這個問題,請使用fatjar(google ...)並將所有JAR文件打包到一個文件中(如果使用ojdbc6),請對其進行簽名。它在開始時導致類似「ojdbc6.jar中的無符號資源」的錯誤,當我將應用程序臨時保存時。
  5. 使用jnlp中的「codebase」屬性通過URL指向服務器上的小程序位置。

我希望這會有所幫助。

少一點沮喪的Andrea :)