Wyświetlenie Appletu w JSP błąd (ClassNotFoundEXceptio:nazwa_klasy))

Wyświetlenie Appletu w JSP błąd (ClassNotFoundEXceptio:nazwa_klasy))
KA
  • Rejestracja:prawie 13 lat
  • Ostatnio:około 12 lat
  • Postów:44
0

Witam! Na wstępie dziękuję za pomoc na priv, ale niestety nie pomogło. Sprawa jest następująca.
**Konfiguracja:**Eclipse Version: Indigo Service Release 2 Build id: 20120216-1857
Java Version: 1.7.0_04_b22
tomcat version: Tomcat 7.0
Windows 7 Proffesional

Wszystko ładnie odpala się na serwerze przez localhost oprócz wyświetlania appletu na stronie- gdzie w eclipse jest widoczna sama ramka, a w firefoxie gdy kliknę pojawia się error: ClassNotFoundExcepton: "nazwa_klasa" - gdzie nazwa klasy to string podany w code=nazwa_klasyl

Przerobiłem wiele rozwiązań z różnych forów, ale bez skutecznie.

__Zadaniem jest stworzenie prostej stronki wyświetlającej Applet z napisem HelloWorld __

Oto jak postępuję:
1.Tworzę Dynamic Web project o nazwie: Project (konfigurację serwera wykonałem wcześniej)
2. W pliku web.xml pozostawiam w welcomefile list tylko plik o nazwie 1.jps
3.Tworzę plik 1.jsp
4. Konfiguruję folder dla plików źródłowych appletów i folder dla plików zbudowanych, gdyż standardowo przenosi pliki zbudowane do WEB-INF/classes który to folder jest prywatny i nie widoczny dla przeglądarki. Aby applet mógł być odczytany przez przeglądarkę pliki klas muszą znajdować się w innym katalaogu niż WEB-INF więc:
a) wchodzę do JavaBuiltPath i dodaję folder źródłowy Applets
b) zaznaczam opcję Allow output folder for source folder
c)"rozwiajam" w liście otworzony folder i tworzę nowy folder dla plików output tj. Appout
d)Wchodzę do zakładki Deployment Assembly i usuwam wiersz gdzie dla utworzonego folderu Applets deploy patch wynosi WEB-INF....
e)dodaję nowy folder Appout z deployPath "/"
5. Uzupełniam plik JSP pluginem

Kopiuj
<jsp:plugin type="applet" code="Hello.class" codebase="Appout/com"  width="160" height="150" >
    <jsp:fallback>
        Plugin tag OBJECT or EMBED not supported by browser.
    </jsp:fallback>
</jsp:plugin> 

6.Tworzę applet o kodzie:

Kopiuj
 package com;


import java.applet.Applet;
import java.awt.Font;
import java.awt.Graphics;

public class Hello extends Applet {

	  public void init() {
		  
	       resize(150,25);
	 
	       }
	 
      public void paint(Graphics g) {
	 
	       g.setFont(new Font("Helvetica", Font.PLAIN, 20));
	 
	       g.drawString("Hello world!", 50, 25);
	 
	       }
}

7.Uruchamiam i cały wysiłek na marne - błąd ja podałem wyżej.

Na koniec podam ścieżki dostępu takie jak podane w properities:

Konfiguracja automatycznie przenosi plik .class do folderu /project/AppOut/com/Hello.class

Pliki źródłowe .java znajdują się w: /project/Applets/com/Hello.java

Plik .jsp: /project/WebContent/1.jsp

codebase="" oraz code="" próbowałem na setkę sposobów , zalecono mi usunąć nawet codebase ale w mojej wersji java jest on wymagany. Znacznik <APPLET> napewt nie pwoduje wyświetlenia ramki
Proszę o pomoc za rozwiązanie duże piwo czeka :D :D :D

edytowany 1x, ostatnio: kakuna
KA
<jsp:plugin type="applet" code="Hello.class" codebase="AppOut" jreversion="1.2" width="160" height="150" > <jsp:fallback> Plugin tag OBJECT or EMBED not supported by browser. </jsp:fallback> </jsp:plugin> również nie działa pozdro Bogdan
KA
<applet code="Hello" codebase="AppOut" width="160" height="150"></applet> również nie działa, tym razem w ogóle nie wyświetla nawet ramki
bogdans
Moje propozycje wymagały by katalog z apletem był obok pliku JSP, a nie w kosmosie.
bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

Przecież klasa nazywa się com.Hello, a nie Hello.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
KA
  • Rejestracja:prawie 13 lat
  • Ostatnio:około 12 lat
  • Postów:44
0

Próbowałem:

Kopiuj
<jsp:plugin type="applet" code="com.Hello.class" codebase="AppOut" jreversion="1.2" width="160" height="150" >
    <jsp:fallback>
        Plugin tag OBJECT or EMBED not supported by browser.
    </jsp:fallback>
</jsp:plugin>
Kopiuj
 <jsp:plugin type="applet" code="com.Hello" codebase="AppOut" jreversion="1.2" width="160" height="150" >
    <jsp:fallback>
        Plugin tag OBJECT or EMBED not supported by browser.
    </jsp:fallback>
</jsp:plugin>

<applet code="com.Hello.class" codebase="AppOut" width="400" height="500"></applet>

Kopiuj
<applet code="com.Hello" codebase="AppOut" width="400" height="500"></applet>
 

żadne z tych nie działa, to jest jakieś niemożliwe

edytowany 1x, ostatnio: kakuna
bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

Przed chwilą stworzyłem plik test.jsp z takim fragmentem;

Kopiuj
<applet code="com.Hello" codebase="../applets" width="160" height="150">
</applet>

Mam taka strukturę katalgów:

  • plugin (zawiera plik test.jsp),
  • applets
    • com (zawiera plik Hello.class)
      I wszystko działa. Wyczyniasz cuda.
      Mam:
      Tomcat 7.0
      Windows XP SP3
      Java 1.7.0-b147
      Eclipsa do takich drobiazgów nie używam.

To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
edytowany 2x, ostatnio: bogdans
KA
  • Rejestracja:prawie 13 lat
  • Ostatnio:około 12 lat
  • Postów:44
0

Mógłbyś mi podać pełną ścieżkę pliku .class oraz .jsp ? tzn. Path . Bo jsp musi zawierać się w WebContent z tego co mi wiadomo, choć nie powinno być to istotne

edytowany 2x, ostatnio: kakuna
bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

Zmodyfikowałem trochę przykłady dostarczone z Tomcatem.
webapps/examples/jsp/plugin/test.jsp
webapps/examples/jsp/applets/com/Hello.class


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
KA
  • Rejestracja:prawie 13 lat
  • Ostatnio:około 12 lat
  • Postów:44
0

Zmieniłem lokację tak aby oba pliki znajdowały się w jednym katalogu tj. WebContent i aktualne ścieżki to:
/project/WebContent/Hello.class
/project/WebContent/1.jsp

jak należy do nich wpisać codebase="" oraz code="" ;

KA
  • Rejestracja:prawie 13 lat
  • Ostatnio:około 12 lat
  • Postów:44
0
bogdans napisał(a):

Przed chwilą stworzyłem plik test.jsp z takim fragmentem;

Kopiuj
<applet code="com.Hello" codebase="../applets" width="160" height="150">
</applet>

Mam taka strukturę katalgów:

  • plugin (zawiera plik test.jsp),
  • applets
    • com (zawiera plik Hello.class)
      I wszystko działa. Wyczyniasz cuda.
      Mam:
      Tomcat 7.0
      Windows XP SP3
      Java 1.7.0-b147
      Eclipsa do takich drobiazgów nie używam.

Zrobiłem tak jak poleciłeś:

Struktura:
/project/WebContent/applets/com/Hello.class
/project/WebContent/jspfile/1.jsp

i wywołanie z jsp

Kopiuj
 
<applet code="com.Hello" codebase="../applets" width="160" height="150">
</applet>

i dalej nie działa
btw. jak interperetowac dwie kropki w codebase??

edytowany 1x, ostatnio: kakuna
bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

.. to katalog nadrzędny, odświeżyłeś stronę?


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
edytowany 2x, ostatnio: bogdans
KA
  • Rejestracja:prawie 13 lat
  • Ostatnio:około 12 lat
  • Postów:44
0
bogdans napisał(a):

.. to katalog nadrzędny, odświeżyłeś stronę?

no jasne że tak, próbowałem również odpalić z pliku html, ale również bez skutecznie. Może coś trzeba grzebać w katalogach tomcata?? Choć w sumei powinno się to robić wszystko zdalnie przez eclipse. Czarna magia chyba

edytowany 2x, ostatnio: kakuna
bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

Jeśli nie działa z pliku HTML, to znaczy że:

  • struktura katalogów jest inna niż Ci się wydaje,
  • zapomniałeś umieścić w katalogu com plik Hello.class,
  • skompilowałeś plik Hello.java bez instrukcji package.com;,
    ...

To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
KA
  • Rejestracja:prawie 13 lat
  • Ostatnio:około 12 lat
  • Postów:44
0

Dobra działa!
Powodów było kilka więc nałożyły się na siebie utrudniając rozwiązanie :
wersja działająca:
/project/WebContent/1.jsp
/project/WebContent/applets/com/Hello.class

konfiguracja:

Kopiuj
<jsp:plugin type="applet" code="com.Hello.class" codebase="." jreversion="1.2" width="700" height="400" >
    <jsp:fallback>
        Plugin tag OBJECT or EMBED not supported by browser.
    </jsp:fallback>
</jsp:plugin>

kluczowym było codebase="" oraz to że wbudowana przeglądarka eclipse nie pokazuje appletów. Mam nadzieje że komuś w przyszłości tym pomogę gdyby pojawił się podobny problem. pozdrawiam i dziękuję za oferowaną pomoc bogdans

edytowany 1x, ostatnio: kakuna
bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

Nie przyszło mi do głowy, że testujesz w Eclipse. Końcowy użytkownik nie będzie miał Eclipse, będzie korzystał z przeglądarki. I w przeglądarce powinieneś testować


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.