View Full Version : [JSP-JAR] Import jar into jsp
arpino84
22-04-2008, 16:33
Buondì a tutti,
sto proprio impazzendo ...
Volevo iniziare a guardare i jsp ed i jar ... ma non riesco proprio a creare, ne l'uno ne l'altro ... o meglio, non riesco ad importare un jar dentro jsp e a lanciarlo con tomcat ...
Mi serve proprio un banalissimo esempio HelloWorld ... per vedere come è e cercare di fare qualcosa ...
Qualcuno di voi mi può aiutare?!?!
devi mettere il jar sotto WEB-INF\lib , poi nella jsp le classi le importi cosi
<%@ page import="java.util.*,java.io.File"%>
arpino84
23-04-2008, 07:58
La domanda ora sorge spontanea ... come creo il jar ... o ancora a monte ... come creo il .java!??!
arpino84
23-04-2008, 08:54
Allora ... ho provato a fare un piccolo esempio ...
1) Ho creato JarData.java
import java.util.Date;
public class JarData {
Date data = null;
public JarData() {
data = new Date();
}
public String getData() {
return data.toString();
}
}
2) Ho creato il test.jsp
<%@page language="java"%>
<%@page import="JarData"%>
<html>
<head>
<title>Java Server Pages: Hello World</title>
</head>
<body>
<% out.println(" Hello World JSP! "); %>
</body>
</html>
Ho messo il .java sotto WEB-INF/lib
Ho richiamato la mia pagina jsp da web ... e mi ha dato errore.
org.apache.jasper.JasperException: Unable to compile class for JSP
Generated servlet error:
The import JarData cannot be resolved
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:397)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
asp ... da quel che ho capito io hai fatto tutto a mano ? allora ... devi usare un ide , e da ide devi creare un progetto web ... , non serve fare un jar per le classi che crei , i compilati (.class ) delle tue classi ( e non i .java ) vanno sotto WEB-INF\classes , ( e solo i jar sotto WEB-INF\lib ) , cmq ti consiglio di creare il progetto da ide ( ci sono delle procedure guidate ) ,xche a mano non e una passeggiata
arpino84
23-04-2008, 13:21
Claro ... ho utilizzato eclipse per questo ...
Ma se usavo un editor di testo era uguale ...
Io volevo prima provare a fare un giro con i .java ... e poi passare al .jar ...
I file .jar che si usano nelle web-application di solito sono di terze parti, te puoi tranquillamente mettere i tuoi compilati sotto web-inf/classes
Occhio che stai cercando d'imparare un modo di sviluppare sorpassato da anni... ;)
arpino84
23-04-2008, 14:09
Il mio capo mi ha chiesto di verificare la fattibilità di utilizzare un jboss già installato da un'applicativo per farci girare anche nostre "funzionalità" aggiuntive ...
E il tutto dovrebbe essere tramite .jar perchè ... almeno non è in chiaro cosa fa la "funzionalità" ...
Ma il codice come l'ho scritto è sbagliato???
Le applicazioni web vengono impacchettate nei file .war (web archive) e non in file .jar (java archive), i file war a loro volta possono contenere dei file .jar che usano come librerie, di norma la logica applicativa non viene impacchettata a sua volta in un file jar poiché vorrebbe dire mantenere 2 progetti invece di uno singolo.
Se crei un Dynamic Web Project sotto Eclipse, per farlo devi avere almeno la versione il plug-in per lo sviluppo web, ti viene creato un progetto con tutti i folder necessari e che viene esportato in maniera automatica in una file war correto.
arpino84
23-04-2008, 15:06
Le applicazioni web vengono impacchettate nei file .war (web archive) e non in file .jar (java archive), i file war a loro volta possono contenere dei file .jar che usano come librerie, di norma la logica applicativa non viene impacchettata a sua volta in un file jar poiché vorrebbe dire mantenere 2 progetti invece di uno singolo.
Se crei un Dynamic Web Project sotto Eclipse, per farlo devi avere almeno la versione il plug-in per lo sviluppo web, ti viene creato un progetto con tutti i folder necessari e che viene esportato in maniera automatica in una file war correto.
Eclipse ha i plug-in per lo sviluppo web ... quindi io creo un Dynamic Web Project con i miei jsp e classi java (non jar) e esporto tutto in un .war ...
A questo punto mi basterebbe caricare questo .war nel jboss ...
Potrebbe bastare ma, se non ricordo male le versioni 3 di Jboss, usano un classloader unico per tutte le applicazioni per cui dovresti stare attento alle versioni dei jar delle librerie che usi o modificare le configurazioni del classloader.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.