|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Mar 2004
Messaggi: 76
|
[JSP] Errore su Tomcat 5.5.9 non "riscontrato" nè dalla 5.5,6.0 nè da Eclipse
Aiuto!
Devo lavorare su un Tomcat 5.5.9. Scritta la mia applicazione, usando Eclipse JEE 3.3.2 , le ultime JRE e JDK, testata su Tomcat 6 funge una bellezza! Nel momento in cui la porto sul Tomcat 5.5.9 mi dà un errore assurdo sull'apertura dei tag <% %>. Ho riscritto in modo ridotto una parte del codice che mi da errore per sottoporla a voi! La prima servlet deve chiamare una jsp passandogli un Vector. Codice:
package pack; import java.io.IOException; import java.io.PrintWriter; import java.util.Vector; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class visualizza extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { static final long serialVersionUID = 1L; public visualizza() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); Vector<myBean> vettore =myUtils.tornaVectorDiTax(); request.setAttribute("vettore", vettore); out.println("<CENTER>VISUALIZZA.CLASS CHIAMA VISUALIZZA.JSP<CENTER>"); RequestDispatcher dispatcher = request.getRequestDispatcher("./jsp/visualizza.jsp"); dispatcher.include(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } } Codice:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@page import="pack.myBean"%> <%@page import="java.util.Vector;"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Pagina Generata da visualizza.jsp</title> <% out.println("<CENTER>VISUALIZZA.JSP RISPONDE A VISUALIZZA.CLASS.<CENTER>"); out.println("<CENTER>RICHIEDE ED ELABORA IL VETTORE CON I RECORD!<CENTER>");%> </head> <body bgcolor="green"> <TABLE BORDER="1" ALIGN="CENTER"> <tr> <td><FONT COLOR="RED"><STRONG>SOMMA TASSE</STRONG></FONT></td> <td><FONT COLOR="RED"><STRONG>PROVINCIA</STRONG></FONT></td> </tr> <% Vector<myBean> vettore=(Vector<myBean>)request.getAttribute("vettore"); String tabella=""; int i=0; for(;i<vettore.size();i++){ myBean bean=new pack.myBean(); bean=(myBean)(vettore.get(i)); tabella+="<tr><td>"+bean.getSomma()+"</td><td>"+bean.getProvincia()+"</td></tr>"; } out.println(tabella); out.close(); %> </TABLE><br> <br> <CENTER>RECORD TROVATI: <%=i+1 %></CENTER> <CENTER>DIMENSIONE VECTOR: <%=vettore.size() %></CENTER> </body> </html> Codice:
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: 25 in the jsp file: /jsp/visualizza.jsp Generated servlet error: Syntax error on token "<", invalid AssignmentOperator An error occurred at line: 25 in the jsp file: /jsp/visualizza.jsp Generated servlet error: Syntax error on token "=", != expected An error occurred at line: 25 in the jsp file: /jsp/visualizza.jsp Generated servlet error: Syntax error on token ">", Expression expected after this token 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:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) pack.visualizza.doGet(visualizza.java:29) javax.servlet.http.HttpServlet.service(HttpServlet.java:689) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs. Quello prima di Vector<myBean> vettore=(Vector<myBean>)request.getAttribute("vettore"); Sottolineo che ne Eclipse ne Tomcat 6 mi danno errore. Per pietà qualcuno mi illumini! Ultima modifica di SodoMyzer : 22-12-2009 alle 16:55. |
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Mar 2004
Messaggi: 76
|
Dopo aver provato a cancellare varie righe è uscita una cosa molto strana:
in pratica l'errore era generato dall'istruzione sul vector Codice:
Vector<myBean> vettore=(Vector<myBean>)request.getAttribute("vettore"); Codice:
Vector vettore=(Vector)request.getAttribute("vettore"); Ecco perchè trovava l'errore su un "<". In Eclipse ho inserito <myBean> perchè mi dava un warning sul fatto che il contenuto del vector conveniva specificarlo in quel modo. Dopo l'aiuto del mio "tutor" si è risaliti ad un altro problema. Altro non è che un problema legato alla codifica dei caratteri. In visualizza.jsp (generata automaticamente da Eclipse) vi è la specifica Codice:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> (utilizzando un Eclipse,Tomcat,JDK e JRE "nuovi") il charset e il pageEncoding vengono settati come ISO-8859-1 Per ora ho risolto parte del problema sostituendo con UTF-8 per evitare possibili altri problemi. Ultima modifica di SodoMyzer : 14-01-2010 alle 12:39. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:28.