soundsgood
14-03-2010, 14:00
Ciao ragazzi, vi scrivo perche non riesco ad importare una classe Java dentro una pagina JSP. Per capirne il perche sto facendo un esempio il piu facile possibile. Intanto vi dico che utilizzo Windows Vista e Tomcat 6 e che Tomcat funziona se faccio pagine html o scrivo quanche jsp che stampa a video qualcosa.
Procedo nel seguente modo:
dentro la cartella Tomcat/webapps/gestione piazzo i seguenti file:
index.jsp il cui codice è:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
</head>
<body>
<% String stringa = "mm";
Classe classe = new Classe();
stringa = classe.metodo();
out.print(stringa);
%>
</body>
</html>
Classe.class il cui sorgente è:
public class Classe {
public String metodo() {
return "funziona";
}
}
quando sul browser digito: http://localhost:8080/gestione/index.jsp e mi da il seguente messaggio
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 18 in the jsp file: /index.jsp
Classe cannot be resolved to a type
15: <%@ page import = "java.util.*, java.text.*, Classi.*, java.net.*, java.rmi.*, javax.xml.namespace.*, javax.xml.rpc.*, org.apache.axis.client.Call, org.apache.axis.client.Service, org.apache.axis.encoding.ser.*, java.io.*, org.jdom.Document, org.jdom.Element, org.jdom.output.Format, org.jdom.output.XMLOutputter, org.jdom.*, org.jdom.input.*" %>
16:
17: <% String stringa = "mm";
18: Classe classe = new Classe();
19: stringa = classe.metodo();
20: out.print(stringa);
21: %>
An error occurred at line: 18 in the jsp file: /index.jsp
Classe cannot be resolved to a type
15: <%@ page import = "java.util.*, java.text.*, Classi.*, java.net.*, java.rmi.*, javax.xml.namespace.*, javax.xml.rpc.*, org.apache.axis.client.Call, org.apache.axis.client.Service, org.apache.axis.encoding.ser.*, java.io.*, org.jdom.Document, org.jdom.Element, org.jdom.output.Format, org.jdom.output.XMLOutputter, org.jdom.*, org.jdom.input.*" %>
16:
17: <% String stringa = "mm";
18: Classe classe = new Classe();
19: stringa = classe.metodo();
20: out.print(stringa);
21: %>
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.24 logs.
ps: in precedenza ho provato a mettere il .class dentro C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ROOT\WEB-INF ed utilizzare la direttiva import ma dava lo stesso messaggio.
Non so quando ci possa entrare qui le cartelle dove mettere il .class e la variabile d'ambiente classpath o qualche file di configurazione xml
aspetto vostri suggerimenti
Procedo nel seguente modo:
dentro la cartella Tomcat/webapps/gestione piazzo i seguenti file:
index.jsp il cui codice è:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
</head>
<body>
<% String stringa = "mm";
Classe classe = new Classe();
stringa = classe.metodo();
out.print(stringa);
%>
</body>
</html>
Classe.class il cui sorgente è:
public class Classe {
public String metodo() {
return "funziona";
}
}
quando sul browser digito: http://localhost:8080/gestione/index.jsp e mi da il seguente messaggio
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 18 in the jsp file: /index.jsp
Classe cannot be resolved to a type
15: <%@ page import = "java.util.*, java.text.*, Classi.*, java.net.*, java.rmi.*, javax.xml.namespace.*, javax.xml.rpc.*, org.apache.axis.client.Call, org.apache.axis.client.Service, org.apache.axis.encoding.ser.*, java.io.*, org.jdom.Document, org.jdom.Element, org.jdom.output.Format, org.jdom.output.XMLOutputter, org.jdom.*, org.jdom.input.*" %>
16:
17: <% String stringa = "mm";
18: Classe classe = new Classe();
19: stringa = classe.metodo();
20: out.print(stringa);
21: %>
An error occurred at line: 18 in the jsp file: /index.jsp
Classe cannot be resolved to a type
15: <%@ page import = "java.util.*, java.text.*, Classi.*, java.net.*, java.rmi.*, javax.xml.namespace.*, javax.xml.rpc.*, org.apache.axis.client.Call, org.apache.axis.client.Service, org.apache.axis.encoding.ser.*, java.io.*, org.jdom.Document, org.jdom.Element, org.jdom.output.Format, org.jdom.output.XMLOutputter, org.jdom.*, org.jdom.input.*" %>
16:
17: <% String stringa = "mm";
18: Classe classe = new Classe();
19: stringa = classe.metodo();
20: out.print(stringa);
21: %>
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.24 logs.
ps: in precedenza ho provato a mettere il .class dentro C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ROOT\WEB-INF ed utilizzare la direttiva import ma dava lo stesso messaggio.
Non so quando ci possa entrare qui le cartelle dove mettere il .class e la variabile d'ambiente classpath o qualche file di configurazione xml
aspetto vostri suggerimenti