2010-05-08 2 views
1

Это домашнее задание, но вопрос не в том, что такое кодирование. задача состоит в том, чтобы написать java-апплет для работы на сервере m-grid. У меня есть сервер, работающий на apache. он имеет несколько апплетов-образцов в форме .jar и .class. версии .class работают; .jar-версии работают на AppletViewer, но они ломаются, если я представить их в качестве задания на сервер с этим:Java-апплет не работает

load: class examples/pixelcount/PixelCount.class not found. 
java.lang.ClassNotFoundException: examples.pixelcount.PixelCount.class 
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) 
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) 
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 
Caused by: java.net.ConnectException: Connection refused: connect 
at java.net.PlainSocketImpl.socketConnect(Native Method) 
at java.net.PlainSocketImpl.doConnect(Unknown Source) 
at java.net.PlainSocketImpl.connectToAddress(Unknown Source) 
at java.net.PlainSocketImpl.connect(Unknown Source) 
at java.net.SocksSocketImpl.connect(Unknown Source) 
at java.net.Socket.connect(Unknown Source) 
at sun.net.NetworkClient.doConnect(Unknown Source) 
at sun.net.www.http.HttpClient.openServer(Unknown Source) 
at sun.net.www.http.HttpClient.openServer(Unknown Source) 
at sun.net.www.http.HttpClient.<init>(Unknown Source) 
at sun.net.www.http.HttpClient.New(Unknown Source) 
at sun.net.www.http.HttpClient.New(Unknown Source) 
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) 
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) 
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) 
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
at java.net.HttpURLConnection.getResponseCode(Unknown Source) 
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source) 
at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source) 
at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
... 7 more 
Exception: java.lang.ClassNotFoundException: examples.pixelcount.PixelCount.class 

Я не совсем уверен, где именно проблема здесь, учитывая, что они работают на Appletviewer. любая помощь будет оценена ..

EDIT:

не знаю, если я написал это ясно. по ".class версии" я имею в виду HTML-файл с этим содержимым:

<applet height="300" width="450" code="examples/pixelcount/PixelCount.class"></applet> 

и ".jar" с этим содержанием:

<applet height="300" width="450" archive="PixelCount.jar" code="examples.pixelcount.PixelCount.class"></applet> 

EDIT2:

упомянутый пример банку файл может here

+0

Некоторые реализации могут подобрать класс файлы, даже если есть баночка присутствует. Таким образом, вы можете обнаружить, что ни одна реализация не читает из банки. (Не могу вспомнить, если appletviewer подхватит CLASSPATH, что может стать источником путаницы.) –

ответ

0

Класс PixelCount не упакован в вашу банку, я думаю.

И, как ошибка Caused by: java.net.ConnectException: Connection refused: connect, возможно, он пытался получить этот класс из сети где-то, и местоположение не совпадает или прокси находится между ними.

EDIT

У вас есть архив где-то м-сервер, независимо, что может быть, может найти его? См. Java Applet Tag ref. docs. Вам может понадобиться что-то вроде

CODEBASE = codebaseURL 
This OPTIONAL attribute specifies the base URL of the applet--the directory 
that contains the applet's code. If this attribute is not specified, then the 
document's URL is used. 

КОД относится к базовому URL-адресу документа, который содержит тег апплета. Если вы хотите переопределить это, вам может понадобиться этот параметр CODEBASE.

+0

Я добавил ссылку на файл jar - мне кажется, что .class есть ... и как я сказал, он работает на appletviewer. –

+0

хотя я немного озадачен ошибкой соединения. сервер работает на локальном хосте и доступен и работает отлично. –

+0

@scoob_doobi обновил мой ответ. Это может быть полезно, или может быть так много горячего воздуха. – extraneon

0

Не удается найти файл PixelCount.class, его нет в примерах каталога/pixlecount, поэтому эта ошибка происходит.

+0

как я уже сказал, это пример, предоставленный сервером. все остальные примеры ведут себя одинаково. казалось бы, это не проблема самих примеров, а скорее моя среда. –

-2

Не включайте расширение .class в атрибут кода.

examples.pixelcount.PixelCount это имя класса.
examples.pixelcount.PixelCount.class является именем file который содержит класс.

Атрибут код должен прочитать

code="examples.pixelcount.PixelCount" 
+0

Извините, я не написал это четко. обе версии html работают (верхняя в браузере, нижняя в браузере и appletviewer). это только когда я отправляю простой файл .jar, указанный во втором примере, на сервер, который он разбивает. Хотя это действительный комментарий, тем не менее :-) –

+0

Нет, предполагается, что предполагается расширение класса (хотя некорректные значения могут быть приняты некоторыми [разбитыми] реализациями). http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/applet.html –

Смежные вопросы