0

我搜索了谷歌和这边并做了一些教程,我想它(像往常一样)是我的问题的单线解决方案:

我有一个“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”文件如下所示:

<?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>

并且这两个文件都在我的动态 Web 项目的“WebContent”文件夹中 - 该文件夹的结构是:

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 文件中添加一些东西?我浏览了这个标签列表,但没有发现任何对我有用的东西。我还必须说动态 Web 项目对我来说相当新。我玩了一下,发现如果我添加这个:

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

两者都不起作用,当然“error.html”在这里:

WebContent/error.html

当这工作时,我想生成这个动态 Web 项目的 WAR 文件并将其部署在其他服务器上。我刚刚创建了一个动态 Web 项目并插入了文件,更改并仔细检查了所有路径并删除了“web.xml”文件中不必要的条目,我只想尽量减少错误源,现在我的问题是我做错了什么?请问我需要帮助...

最好的,安德里亚

4

1 回答 1

0

这是一个困难的问题,如果有人在某个时候遇到同样的问题,我的错误如下:

  1. 不要尝试通过 Eclipse 中的“运行方式”启动动态 Web 项目,将其作为 WAR 导出到 ...Apache-Tomcat-7.0.34/webapps 文件夹中,它会自动部署并运行!
  2. 做你的功课,我想我可以直接从服务器为我的 GUI 加载图像,不,我不能。小程序总是在客户端上运行,因此使用 URL 和 URI 来加载图像(请向 google 询问更多信息)。
  3. 如果你想在服务器上保存或创建文件,请使用 Servlets,我也得到了错误的图片......
  4. OJDBC6.jar 签名(也由 jarsigner -verify ojdbc6.jar 验证)可能会导致重新加载 HTML 页面时出现问题,要解决此问题,请使用 fatjar(google ...)并将所有 JAR 文件打包到一个文件中(如果您使用 ojdbc6 ),然后签名。当我临时保存应用程序时,它还会在开始时导致类似“ojdbc6.jar 中的未签名资源”错误。
  5. 使用 jnlp 中的“codebase”属性通过 URL 指向服务器上的小程序位置。

我希望这有帮助。

安德里亚不那么沮丧了:)

于 2013-01-06T14:22:33.097 回答