PDA

View Full Version : Applet-Tomcat-Package


sukoy27k
28-12-2005, 14:03
Ho appena finto di lavorare ad un applet X,questa include due classi da me create :un parser di stringhe e una calsse per fare alcuni lavori sulle date.
Le due librerie sono strutturate nei soliti modi con le cartelle a costruire il path del package.
Dall'applet import nel solito modo e tutto funge fin quando applet e package si trovano nella stessa cartella(ovviamente direi).
Il problema dove sorge....ho una jsp e delle servlet che fanno uso degli stessi package,come dalla documentazione del servlet engine "Tomcat",le classi da importare vanno in webapps->Root->web-inf>classes dove dovranno rispecchiare i path dei package.
In questo modo l'import dalla jsp funziona correttamente.
L'applet posta nella cartella root di modo che il server http di tomcat la possa raggiungere.Il problema è che l'import dall'applet non mi funge in quanto Tomcat risolve le richieste soltanto per le servlet e non posso aggiungere nessun codebase del tipo localhost:8080/web-inf/classes in quanto questa è una cartella non accessibile dal server http.
L'unico modo per far funzionare la cosa è aggiungere i due package alla cartella root ein questo modo tuto funge normalmente come giusto che sia,ma non essendo una cosa molto bella aver package replicati,vorrei sapere come dire a Tomcat risolvi gli import anche delle applet.

Grazie :D

kingv
28-12-2005, 15:10
la soluzione corretta è quella che hai implementato tu, con le classi "replicate".

In un caso vengono utilizzate da Tomcat, nell'altro dalla jvm del client che esegue l'applet, il fatto che fisicamente risiedano sullo stessa macchina è incidentale, per cui ci puo' stare che i file siano duplicati (anche se ti tocca aggiornarli in due posti nel caso di modifiche)

pinok
28-12-2005, 21:52
Forse (da provare) su una macchina Linux/Unix te la potresti cavare con un link simbolico che punti sulla cartella in cui ci sono fisicamente le librerie usate dall'applet.

sukoy27k
28-12-2005, 22:05
Forse (da provare) su una macchina Linux/Unix te la potresti cavare con un link simbolico che punti sulla cartella in cui ci sono fisicamente le librerie usate dall'applet.
ci avevo pensato ma sembrava :
1)una soluzione un pò barbara
2)windows don't know how mean symbolic link

credevo che operando in qualche modo sul codebase si potesse fare qualcosa che ingnoravo.

Grazie :cool:

Bahamut Zero
22-10-2007, 18:20
ragazzi scusate se uppo questa vecchia discussione ma ho un problema simile.....

Ho una pagina JSP che dovrebbe richiamare una applet JavaSound.class che richiama a sua volta altri 3 file .CLASS!

La directory della mia applicazione sotto TOMCAT si chiama SpeakerLogin

Il codice della JSP è il seguente


<%@ page language="java" pageEncoding="ISO-8859-1"%>

<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base />

<title>MyJsp.jsp</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<Body>
Questa è la mia pagina<br>
Qui sotto c'è un applet<br>
<br>
<Applet Code="/JavaSound.class" width=200 Height=100>
</Applet>
</Body>
</html:html>



Ho provato a mettere tutti i file sotto \WEB-INF\classes ma non va quindi ho provato a mettere i file *.class nella directory dove è presente la mia JSP ma quando provo a farla andare dice sempre APPLET NON TROVATA e FireFox si impalla e devo chiuderlo dal task manager!

Qualcuno potrebbe darmi una mano su come settare le directory nel modo giusto? :help:

Tnk mille ciao