Avatar billede scoty Nybegynder
30. august 2002 - 11:29 Der er 11 kommentarer og
3 løsninger

Jsp - Applet - Tomcat

Jeg har en jsp side, og en applet jeg gerne vil have til at snakke sammen, med hver gang får jeg en ClassNotFoundException.... Hvorfor det...?

TextInJApplet.java
import javax.swing.*;
import java.awt.*;

public class TextInJApplet extends JApplet
{
    private int size;
    private String text;
    private JTextField tf;

    public void init()
    {
        String sizeStr = getParameter("size");
        if(sizeStr!=null)
        {
            size = Integer.parseInt(sizeStr);
        }
        else
        {
            size = 8;
        }
        text = getParameter("text");
        if(text==null)
        {
            text = "nothing was sent !";
        }
        tf = new JTextField(text);
        tf.setFont(new Font("courier",Font.BOLD,size));
        getContentPane().setLayout(new FlowLayout());
        getContentPane().add(tf);
    }
}


<%@ page language="java" %>
ShowAnApplet.jsp:

<HTML>

<HEAD>
    <TITLE>jspIncludeToShowAnApplet.jsp</TITLE>
</HEAD>

<BODY>

    <P><h1>jspIncludeToShowAnApplet.jsp</h1></P>



    <h2> The following is a JApplet invoked using jsp:include </h2>



    <jsp:plugin type="applet" code="TextInJApplet.class"  jreversion="1.3" align="center" width="400" height="300" nspluginurl="http://java.sun.com/products/plugin/1.3.0_01/plugin-install.html" iepluginurl="http://java.sun.com/products/plugin/1.3.0_01/jinstall-130_01-win32.cab#Version=1,3,0,1" >

          <jsp:params>
                <jsp:param name="text" value="JAVA WINS ALL :)"/>

                <jsp:param name="size" value="12"/>

          </jsp:params>
    </jsp:plugin>



  <h4>isn't it lovely ... :)</h4>

            </BODY>

<HTML>
Avatar billede disky Nybegynder
30. august 2002 - 12:03 #1
post hele din exception, og beskriv venligst fejlen lidt bedre.
Avatar billede scoty Nybegynder
30. august 2002 - 12:10 #2
load: class TextInJApplet.class not found.

java.lang.ClassNotFoundException: java.io.IOException: open HTTP connection failed.

    at sun.applet.AppletClassLoader.getBytes(Unknown Source)

    at sun.applet.AppletClassLoader.access$100(Unknown Source)

    at sun.applet.AppletClassLoader$1.run(Unknown Source)

    at java.security.AccessController.doPrivileged(Native Method)

    at sun.applet.AppletClassLoader.findClass(Unknown Source)

    at sun.plugin.security.PluginClassLoader.findClass(Unknown Source)

    at java.lang.ClassLoader.loadClass(Unknown Source)

    at sun.applet.AppletClassLoader.loadClass(Unknown Source)

    at java.lang.ClassLoader.loadClass(Unknown Source)

    at sun.applet.AppletClassLoader.loadCode(Unknown Source)

    at sun.applet.AppletPanel.createApplet(Unknown Source)

    at sun.plugin.AppletViewer.createApplet(Unknown Source)

    at sun.applet.AppletPanel.runLoader(Unknown Source)

    at sun.applet.AppletPanel.run(Unknown Source)

    at java.lang.Thread.run(Unknown Source)
Avatar billede scoty Nybegynder
30. august 2002 - 12:11 #3
en tomcat server hvor min class fil ligger under

WEB-INF/classes

og min jsp side ligger i roden
Avatar billede disky Nybegynder
30. august 2002 - 12:16 #4
er det serveren der kommer med den fejl ?

Hvad er det egentligt du prøver på, forsøger du at køre appleten på serveren ?

Det er en sjov måde du integrerer appleten i html siden på.

En applet er jo beregnet til at køre hos clienten.
Avatar billede scoty Nybegynder
30. august 2002 - 12:27 #5
Jeg vil have en JSP siden, der køre en applet.

Fejl meddelsen kommer fra min Java Plugin.

Jeg skal bruge en JSP side, der køre en applet
Avatar billede disky Nybegynder
30. august 2002 - 12:29 #6
Altså en Jsp side som fortæller clientens browser at den skal loade en applet eller hvad ?
Avatar billede scoty Nybegynder
30. august 2002 - 12:35 #7
Ja lige præcis
Avatar billede disky Nybegynder
30. august 2002 - 12:41 #8
Din applet's class filer, skal ligge i roden sammen med din JSP side.
Avatar billede scoty Nybegynder
30. august 2002 - 12:43 #9
Det kan jeg ikke gøre på webserver, jeg bruger Java Services Developer Pack 1_0_01
Den ligger automatisk class filerne i WEB-INF/classes
Avatar billede disky Nybegynder
30. august 2002 - 12:46 #10
Så har du et problem.

En applet's class filer skal på den måde du loader den, ligge sammen med JSP side, du kan evt. flytte dem per håndkraft.

WEB-INF/classes skuffen er beregnet til de class filer du bruger på serveren, normalt skal man ikke kunne tilgå dem fra client siden, af sikkerhedsårsager
Avatar billede scoty Nybegynder
30. august 2002 - 13:03 #11
Virker ikke ved at flytte det ved håndkraft....

Spørgsmålet drejer sig om at vi vil have en applet og en jsp til
at køre sammen.
Avatar billede disky Nybegynder
30. august 2002 - 13:05 #12
kan du også sagtens, men den eneste måde de kan kommunikere på er via en socket connection.

Husk appleten afvikles på clientens maskine og JSP siden som en servlet på serveren.
Avatar billede soelvpil Nybegynder
30. august 2002 - 17:12 #13
<jsp:plugin> er helt standard.

Normalt hvis man laver en applet, starter man med en html-side med et applet-tag. Så finder man pludselig ud af, at koden ikke virker i en browser, fordi browserens jdk er for gammel. Næste skridt er som regel at downloade en java-plugin, og så virker koden. Problemet dukker så op igen for alle dem, der prøver at bruge applet'en.

Til sidst finder man så løsningen ved at angive i sin html noget med hvor browseren kan hente en ny plugin (det er vist noget med <object> og <embed> for at få det til at virke i både explorer og netscape).

<jsp:plugin> genererer lige præcis denne slutløsning som html. Det ser så også ud til (det vidste jeg faktisk ikke) at plugin-tag'et også lige undersøger, om der faktisk vil være en applet at finde i den anden ende. Egentlig smart nok, for så får man fejlbeskeden på serveren, i stedet for at den drukner et eller andet sted i browseren.

Men hele problemet er altså, at din applet-klasse ligger et helt forkert sted. Den SKAL pinedød ligge sammen med din jsp-fil, for at browseren skal kunne finde den. Så hvis du har en server til at køre, manuelt flytter java-klassen det rigtige sted hen, og hitter siden i en browser, så bør det altså virke. Måske er problemet at du sidder med et udviklingsmiljø med en integreret applet-viewer, og at dette ikke er sat rigtigt op?
Avatar billede scoty Nybegynder
09. september 2002 - 13:21 #14
Lukker spm...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester