我通过applet创建一个浏览器小程序,然后在自己的电脑上配置一个tomcat5.0.28,然后访问applet小程序,程序报如下错误:(注意:我通过JCreator编译运行,程序正常;通过在我的目录C:\JCreatorV3\MyProjects\test_dd\classes下点击Test_dd.htm文件,程序正常。但是启动tomcat,在IE中输入http://localhost:8080/Test_dd.htm就报如下错误)*** Error: 文件名、目录名或卷标语法不正确。
org.jdesktop.jdic.init.JdicInitException: java.io.IOException: 文件名、目录名或卷标语法不正确。
at org.jdesktop.jdic.init.JdicManager.initShareNative(Unknown Source)
at org.jdesktop.jdic.browser.WebBrowser.<clinit>(Unknown Source)
at Test_dd.init(Test_dd.java:30)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: 文件名、目录名或卷标语法不正确。
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.Win32FileSystem.canonicalize(Unknown Source)
at java.io.File.getCanonicalPath(Unknown Source)
... 5 more
java.lang.NullPointerException
at org.jdesktop.jdic.browser.WebBrowser.<init>(Unknown Source)
at org.jdesktop.jdic.browser.WebBrowser.<init>(Unknown Source)
at org.jdesktop.jdic.browser.WebBrowser.<init>(Unknown Source)
at Test_dd.init(Test_dd.java:30)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
-----------------------------------------------------------------------------------我的程序原代码如下:
import java.awt.*;
import java.applet.*;
import javax.swing.*;
import java.net.URL;
import java.net.MalformedURLException;
import org.jdesktop.jdic.browser.*;public class Test_dd extends Applet 
{
JPanel panel;
WebBrowser webBrowser;

public void init() 
{
this.setLayout(null);
this.setBackground(Color.gray);

this.webBrowser = new WebBrowser();
webBrowser.addWebBrowserListener(
            new WebBrowserListener() {
            boolean isFirstPage = true;
public void initializationCompleted(WebBrowserEvent event){;}            
            public void downloadStarted(WebBrowserEvent event) {;}
            public void downloadCompleted(WebBrowserEvent event) {;}
            public void downloadProgress(WebBrowserEvent event) {;}
            public void downloadError(WebBrowserEvent event) {;}
            public void documentCompleted(WebBrowserEvent event) {;}
            public void titleChange(WebBrowserEvent event) {;}  
            public void statusTextChange(WebBrowserEvent event) {;}
            public void windowClose(WebBrowserEvent event) {;}        
        });

try
        {
            webBrowser.setURL(new URL("http://www.sohu.com.cn"));
        } 
        catch (MalformedURLException e) 
        {
            System.out.println(e.getMessage());
            return;
        }        

panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.setBackground(Color.blue);
panel.add(webBrowser,BorderLayout.CENTER);
panel.reshape(20,20,560,560);
add(panel);
}
}
其中org.jdesktop.jdic.browser.*类包可以从https://jdic.dev.java.net/servlets/ProjectDocumentList?folderID=7790&expandFolder=7790&folderID=8895处下载到。请高手指点

解决方案 »

  1.   

    at Test_dd.init(Test_dd.java:30) 有问题
    是哪句?
      

  2.   


    是这句:this.webBrowser = new WebBrowser();        
    我怀疑不是程序本身的问题,可能是tomcat配置的问题。因为我在Jcreator中执行是完全正确的。
      

  3.   

     this.webBrowser = new WebBrowser();    
    改成webBrowser = new WebBrowser();    
      

  4.   

    空指针报错啊
    this.webBrowser = new WebBrowser(); 改成 WebBrowser webBrowser = new WebBrowser(); 
    试试
      

  5.   

    还是不行。很烦啊。
    现在的问题是:用鼠标点击applet的程序Test_dd.htm,程序运行正常。但是我启动了tomcat后,然后在IE中输入http://localhost:8080/Test_dd.htm后,就报错误。请高手指点。
      

  6.   

    *** Error: 文件名、目录名或卷标语法不正确。 
    org.jdesktop.jdic.init.JdicInitException: java.io.IOException: 文件名、目录名或卷标语法不正确不是报的这个错误嘛,你应该从文件名称下手啊!
    像什么文件的命名,有没有特殊符号,文件夹的命名是不是不合乎规范,大小写等。。
      

  7.   


    多谢yojiwei的指点,在你的提示下,我顺藤摸瓜找到问题所在。原来是java的File()函数的问题。此函数对URL类型的字符串不识别,导致找不到资源。