|
|||||||
|
|
|
![]() |
|
|
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 17: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 13:39. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:16.



















