Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Applet in jsp


Автор: Boing747 1.5.2007, 19:30
Пытаюсь поместить Applet в jsp
(из MyJSP.jsp)
Код

 <jsp:plugin type="applet" code="MyApplet.class"
    codebase="/WEB-INF/classes/demo" width="100" height="100">
</jsp:plugin>


Класс не находится. Помогите, пожалуйста, какой правильный URI?
Структура проекта.
Struts (проект)
-JavaSourse
   -demo
      -MyApplet.java
-WebContent
   -pages
      -MyJSP.jsp  
   -WEB_INF
      -classes
       -demo
        -MyApplet.class 

Автор: Anklav 2.5.2007, 09:55
Клиент должен будет закачать классы аплета себе на комп перед запуском. А к подкаталогу WEB-INF он не может обратиться. Поэтому классы нужно поместить где угодно, но только не в WEB-INF.

Автор: Boing747 2.5.2007, 10:25
Anklav, понятненько, ладно, а если я помещу его в другое место, ну к примеру 

-JavaSourse
   -demo
      -MyApplet.java
-WebContent
   -pages
      -MyJSP.jsp  
   -Applet
      -classes
       -demo
        -MyApplet.class 

Какой тогда codebase, на сколько я знаю, то надо написать  относительный путь от jsp к MyApplet.class.
 smile 
Спасибо за помощь

Автор: Anklav 2.5.2007, 10:36
Если не ошибаюсь, то должно быть вот так:

Код

<jsp:plugin type="applet" code="demo.MyApplet"
    codebase="/Applet/classes/" width="100" height="100">
</jsp:plugin>

Т.е. в code должно быть полное имя класса (если класс MyApplet лежит в пакете demo, то имя должно быть demo.MyApplet), а в codebase путь к классам, который может быть и относительным smile

Автор: Boing747 2.5.2007, 11:09
Anklav, спасибо, приду домой. попробую.

Автор: Boing747 3.5.2007, 09:36
Цитата

 Anklav, спасибо, приду домой. попробую.


К сожалению, не работает.

Ребята, ведь наверняка кто-то помещал Applet на jsp  smile Помогите, киньте пример

Автор: Boing747 3.5.2007, 18:59
Простите еще раз, но просто замучался.
Ребята, ведь наверняка кто-то помещал Applet на jsp  smile   Помогите, киньте пример

Автор: Vermis 4.5.2007, 14:27
Прежде всего надо понять следующие факты: 
  • апплет, который в данном случае используется является плагином, т.е. в идеале он разрабатывался отдельно от основного приложения, поэтому он должен находиться внутри контента приложения (если это Eclipse wtk, то это папка WebContent).
  • важно указать версию используемой для плагина jre. Например, используем JApplet и совместно с ним JLabel: браузер будет настойчиво требовать скачать плагин (по дефолту изпользуется версия 1.1). При этом остается открытым вопрос об использовании плагинов, основанных на технологиях из EE (хотя, лично я не могу придумать пример). В следующем примере будет использоваться jre 1.5

Пример:

Структура проекта:
<Tomcat 5.5>\webapps\test\jsp
    [META-INF] - все как обычно
    [WEB-INF] - все как обычно
    [test] - test.MyApplet.class
    jsp_plugin.jsp


MyApplet.class:
Код

package test;

import javax.swing.JApplet;
import javax.swing.JLabel;

public class MyApplet extends JApplet {
    @Override
    public void init() {
        add(new JLabel(getParameter("message")));
    }
}


jsp_plugin.jsp
Код

<html>
    <head>
        <%@page language="java" contentType="text/html; charset=cp1251"%>
        <title>Тестирование jsp:plugin</title>
    </head>
    <body>
        <h1>Если все пойдет заебись, то дядя Kерк увидит тут апплет</h1>
        <jsp:plugin code="test.MyApplet" codebase="/test/jsp/" type="applet" jreversion="1.5" nspluginurl="file:///E:\FTP\Install\Java\jdk-6-windows-i586.exe">
            <jsp:params>
                <jsp:param name="message" value="weeee"/>
                <jsp:param name="width" value="250"/>
                <jsp:param name="height" value="200"/>
            </jsp:params>
        </jsp:plugin>
    </body>
</html>


Запуск: http://localhost[:порт]/test/jsp/jsp_plugin.jsp

Автор: Boing747 5.5.2007, 09:45
 smile Спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)