接着请教applet运行在MS的1.1的JVM上的问题,--(如何在编译或运行时查错)

cql0007 2003-10-17 09:33:08
我的APPLET要能运行在没有任何JAVA的IE上,也就是说要用到MS的1.1JVM。除了好多 1.2的方法被迫改过来之后,运行时的错误的根本没有办法看到。也没有办法去查。

1)我用的是JCreator,编译的时候如果指定的JDK是1.1版本的,有一个文件(主文件)在编译的时候突然报编译器错误,怎么都编译不完了,结果我只好选用1.4的JDK,在编译的参数栏指定:-target 1.1,这样保证了编译出来的CLASS还是可以在MS1.1的JVM上用的。

2)问题:
(1)我在IE里运行的时候,就只是在IE的状态栏出了个:空指针异常,哪里出错,为什么出错我都不知道,无法运行,也无法查错。

(2)如果我用appletviewer,报错为如下:
Exception in thread "main" java.util.MissingResourceException: Can't find resour
ce for bundle sun.applet.resources.MsgAppletViewer, key appletpanel.badattribute
.exception
at java.util.ResourceBundle.getObject(ResourceBundle.java:314)
at java.util.ResourceBundle.getObject(ResourceBundle.java:311)
at java.util.ResourceBundle.getString(ResourceBundle.java:274)
at sun.applet.AppletMessageHandler.getMessage(AppletMessageHandler.java:
39)
at sun.applet.AppletPanel.showAppletStatus(AppletPanel.java:701)
at sun.applet.AppletPanel.init(AppletPanel.java:185)
at sun.applet.AppletViewer.<init>(AppletViewer.java:175)
at sun.applet.StdAppletViewerFactory.createAppletViewer(AppletViewer.jav
a:80)
at sun.applet.AppletViewer.parse(AppletViewer.java:1062)
at sun.applet.AppletViewer.parse(AppletViewer.java:996)
at sun.applet.Main.run(Main.java:138)
at sun.applet.Main.main(Main.java:80)

我想请问,有没别的办法能够看到我的错误文件和错误行啊,就象如果是用了JRE,会有一个JAVA的控制台出来一样的效果,不然我怎么查错啊??
(另外,我的代码是打成了一个JAR文件的,文件数较多,还有,如果我启用了JRE1.4的plug-in,则我的代码是能正常运行的)
...全文
39 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cql0007 2003-10-20
  • 打赏
  • 举报
回复
这样啊?没有已经解决了的方法啊???没这么惨吧??
etre 2003-10-20
  • 打赏
  • 举报
回复
这个问题吗?要么不用,要用的话,一是自己写,一是微软来解决
cql0007 2003-10-20
  • 打赏
  • 举报
回复
又遇到麻烦问题了.我在APPLET中要连接SQL数据库,我将数据库驱动已经打包在APPLET那个包里面一起了.
在访问数据库的时间出现了一个这样的问题:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unsupported VM encoding MS936.
at com/microsoft/jdbc/base/BaseExceptions.createException
at com/microsoft/jdbc/base/BaseExceptions.getException
at com/microsoft/jdbc/sqlserver/tds/TDSConnection.setNonUnicodeTransliterator at com/microsoft/jdbc/sqlserver/tds/TDSConnection.setSQLCollation
at com/microsoft/jdbc/sqlserver/tds/TDSRequest.processEnvChange
at com/microsoft/jdbc/sqlserver/tds/TDSRequest.processReplyToken
at com/microsoft/jdbc/sqlserver/tds/TDSLoginRequest.processReplyToken
at com/microsoft/jdbc/sqlserver/tds/TDSRequest.processReply
at com/microsoft/jdbc/sqlserver/SQLServerImplConnection.open
at com/microsoft/jdbc/base/BaseConnection.getNewImplConnection
at com/microsoft/jdbc/base/BaseConnection.open
at com/microsoft/jdbc/base/BaseDriver.connect
at java/sql/DriverManager.getConnection
at java/sql/DriverManager.getConnection
at com/sqljdbc/SQLJdbc.connect
at com/sqljdbc/SQLJdbc.<init>
at com/readmapgis/Read_wal_file.shipQuery
虚拟机编码问题?这个问题只有当我有MS的1.1的JVM的时候才会有的,当我用成1.4的JVM的时候,访问数据库就一切正常了,但我只能用在1.1的JVM上,请问这个问题该如何解决了?
cql0007 2003-10-20
  • 打赏
  • 举报
回复
各位高手帮忙啊
难道以前用JVM1.1的时候,就不能连接SQL数据库的啊??
swinging 2003-10-18
  • 打赏
  • 举报
回复
大文件传输,可以这样做:
在后台启动一个线程向服务器请求,并获取数据。
如果数据获取完成,则通知前台该数据可以使用。
最好能根据需要分批下载,越不常用的数据越靠后。

前台根据后台载入数据的状况,给用户动态提示,或者先载入已经获取的数据,让用户看起来程序跑得很顺利。
cql0007 2003-10-17
  • 打赏
  • 举报
回复
狗日的MS的控制台报错的时候没有行号,也要查死个人了.

还有一个很迷惑的问题请教:
我把那个有APPLET的HTML文件(HTML文件内除了包含APPLET没有别的任何内容)直接双击打开运行的话,速度会比较快;但是,当我是用IIS后,用一个URL去访问后,速度会变慢了十倍还不止.都是在本地上运行,为何会这样了?

我的APPLET中读取了几个网络文件的,大概读了2M左右的文件,那些文件就在有APPLET的HTML文件的相同目录中,用URL读的.
try{
urls[0] = new URL(getCodeBase(),"1.txt");
urls[1] = new URL(getCodeBase(),"2.txt");
urls[2] = new URL(getCodeBase(),"3.txt");
urls[3] = new URL(getCodeBase(),"4.txt");
urls[4] = new URL(getCodeBase(),"5.txt");
}catch(Exception e){}
我觉得是否应该和这个有关了?如果是,那该如何优化这个速度问题了,太慢了啊,为什么直接双击运行又会快那么多了?
cql0007 2003-10-17
  • 打赏
  • 举报
回复
老兄厉害,又帮了我一大忙了,找到那个控制台了,我现在再仔细看看错误在哪,有问题再上来请教
(老兄若在广州,我一定请你吃饭了,呵呵)
Yanbin_Q 2003-10-17
  • 打赏
  • 举报
回复
你要保证你的程序能编译通过的,编译的时候看哪一行出错
microsoft也有一个java控制台,在internet选项高级里启用。
cql0007 2003-10-17
  • 打赏
  • 举报
回复
唉,整整改了一天,终于将那个APPLET完全改为在MS1.1JVM下可以用的了.

我的JAR包只是我的APLLET的CLASS文件,不大的,只有30K左右,关键是我的程序是一个图形处理程序,图形是矢量图,坐标点全部来自于文件,图大的可能有十几M的,小的也有几M的.把这些也打成JAR不太好吧.

我以前看过有文章说可以对这些文件先进行压缩,压缩完之后再传送,然后在APPLET在解压开来读取,不过概念不太清楚,不知是不是可以这样做,各位老兄指点指点

谢谢!
Yanbin_Q 2003-10-17
  • 打赏
  • 举报
回复
直接打开是不用下载相应的文件或包,通过http协议就需要先从网络上下载那些相关的类然后加载,在高速缓冲里,以后访问就不用了,你最好把类或相关的文件打成一个jar包,用archive标记加进来。

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧