Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [JSP] errore di apache su file jsp

    Salve a tutti, sto facendo un'applicazione a scopo di prova di un negozio on line in jsp.
    Ho creato una pagina di eliminazione di ordini effettuati da un utente.
    Vi posto solo il file jsp adibito all'eliminazione del prodotto o dell'intero ordine se il prodotto è uno solo.
    Sono alle prime armi con jsp e il apache mi da degli errori che non capisco magari sono banali.

    Codice del file
    <%@ page import="java.util.Date" import="java.util.Locale" import="java.text.Nu$
    <%@ include file="sql.jsp" %>


    <%
    String idOrdine=request.getParameter("idOrdine");
    try {
    Integer.parseInt(idOrdine);
    } catch (NullPointerException e) {
    idOrdine="0";
    } catch (NumberFormatException e) {
    idOrdine="0";
    }

    String idProdotto=request.getParameter("idProdotto");
    try {
    Integer.parseInt(idProdotto);
    } catch (NullPointerException e) {
    idProdotto="0";
    } catch (NumberFormatException e) {
    idProdotto="0";
    }

    boolean cancellaOrdine=true;
    boolean cancellaProdotto=true;

    if (idProdotto.equals("0") || idOrdine.equals("0"))
    cancellaProdotto=false;
    if (idOrdine.equals("0"))
    cancellaOrdine=false;

    Connection c = DriverManager.getConnection(stringaConnessione,
    utenteSQL, passwordSQL);
    Statement s = c.createStatement();

    if (cancellaProdotto) {
    ResultSet rs = s.executeQuery ("SELECT COUNT(*) FROM
    righe_ordini
    WHERE IDOrdine = idOrdine");
    if(rs.getInt(0) == 1) {
    s.executeUpdate("DELETE * FROM righe_ordini WHERE
    IDOrdine = idOrdine");
    s.executeUpdate("DELETE * FROM intestazione_ordini WHERE
    ID = idOrdine");
    }
    else {
    s.executeUpdate("DELETE * FROM righe_ordini WHERE
    IDOrdine = idOrdine");

    else if (cancellaOrdine) {
    s.executeUpdate("DELETE * FROM righe_ordini WHERE
    IDOrdine = idOrdine");
    s.executeUpdate("DELETE * FROM intestazione_ordini WHERE
    ID = idOrdine");
    }

    rs.close();
    s.close();
    c.close();

    response.sendRedirect("ordini.jsp?stampa=1");
    %>



    Codice di errore di apache dopo l'attivazione della pagina:
    org.apache.jasper.JasperException: Unable to compile class for JSP

    Generated servlet error:
    Syntax error, insert "}" to complete ClassBody

    An error occurred at line: 4 in the jsp file: /myShop/elimina2.jsp
    Generated servlet error:
    Syntax error, insert "}" to complete Statement

    An error occurred at line: 4 in the jsp file: /myShop/elimina2.jsp
    Generated servlet error:
    Syntax error, insert "}" to complete Block

    Generated servlet error:
    Syntax error on token "}", delete this token


    org.apache.jasper.servlet.JspServletWrapper.handle JspException(JspServletWrapper.java:512)
    org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:377)
    org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:802)

    root cause
    org.apache.jasper.JasperException: Unable to compile class for JSP

    Generated servlet error:
    Syntax error, insert "}" to complete ClassBody

    An error occurred at line: 4 in the jsp file: /myShop/elimina2.jsp
    Generated servlet error:
    Syntax error, insert "}" to complete Statement

    An error occurred at line: 4 in the jsp file: /myShop/elimina2.jsp
    Generated servlet error:
    Syntax error, insert "}" to complete Block

    Generated servlet error:
    Syntax error on token "}", delete this token


    org.apache.jasper.compiler.DefaultErrorHandler.jav acError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacEr ror(ErrorDispatcher.java:328)
    org.apache.jasper.compiler.JDTCompiler.generateCla ss(JDTCompiler.java:414)
    org.apache.jasper.compiler.Compiler.compile(Compil er.java:297)
    org.apache.jasper.compiler.Compiler.compile(Compil er.java:276)
    org.apache.jasper.compiler.Compiler.compile(Compil er.java:264)
    org.apache.jasper.JspCompilationContext.compile(Js pCompilationContext.java:563)
    org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:305)
    org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet .java:802)

  2. #2
    le stringhe delle query sono così come le hai scritte o vanno daccapo per problemi di copia e incolla?
    Al mio segnale... scatenate l'inferno!

  3. #3
    Nel codice non vanno a capo, le ho copiate e incollate cosi.

  4. #4
    Mancano due parentesi graffe in questo punto:

    codice:
    if (cancellaProdotto) {
    	ResultSet rs = s.executeQuery ("SELECT COUNT(*) FROM righe_ordini WHERE IDOrdine = idOrdine");
    	if(rs.getInt(0) == 1) {
    		s.executeUpdate("DELETE * FROM righe_ordini WHERE IDOrdine = idOrdine");
    		s.executeUpdate("DELETE * FROM intestazione_ordini WHERE ID = idOrdine");
    	}else {
    		s.executeUpdate("DELETE * FROM righe_ordini WHERE IDOrdine = idOrdine");
    	} 
    } else if (cancellaOrdine) {
    Al mio segnale... scatenate l'inferno!

  5. #5
    si grazie avevo corretto
    ora lìerrore è questo

    org.apache.jasper.JasperException: Exception in JSP: /myShop/elimina2.jsp:36

    33: if (cancellaProdotto) {
    34: rs = s.executeQuery ("SELECT COUNT(*) FROM righe_ordini WHERE IDOrdine=idOrdine");
    35: if(rs.getInt(0) == 1) {
    36: s.executeUpdate("DELETE * FROM righe_ordini WHERE IDOrdine=idOrdine");
    37: s.executeUpdate("DELETE * FROM intestazione_ordini WHERE ID=idOrdine");
    38: }
    39: else {

  6. #6
    Immagino sia ancora un problema di parentesi graffe. E' buona norma utilizzare le parentesi graffe anche se l'istruzione if contiene una singola istruzione, il codice è più leggibile e più facilmente manutenibile. Ad ogni modo le query che fai sono errate, vanno corrette in questo modo:

    Codice PHP:
    s.executeUpdate("DELETE * FROM righe_ordini WHERE IDOrdine="+idOrdine); 
    stessa cosa per le altre.
    Al mio segnale... scatenate l'inferno!

  7. #7
    E' vero che sbadato grazie mille.
    Cmq ho corretto il codice ma gli errori rimangono gli stessi

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.