Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Servlet non compila

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    6

    Servlet non compila

    Un saluto a tutti e grazie di cuore in anticipo,

    mi sto affacciando al mondo dei database e sto lavorando ad una form che usa una servlet java. Il problema è che quando tento di compilare solo la servlet mi viene detto che mancano delle classi...

    Ecco gli errori:


    Lucrezia:java Ema$ javac Inserisci.java
    Inserisci.java:12: package javax.servlet does not exist
    import javax.servlet.*;
    ^
    Inserisci.java:13: package javax.servlet.http does not exist
    import javax.servlet.http.*;
    ^
    Inserisci.java:14: package org.apache.ecs does not exist
    import org.apache.ecs.*;
    ^
    Inserisci.java:15: package org.apache.ecs.html does not exist
    import org.apache.ecs.html.*;
    ^
    Inserisci.java:18: cannot find symbol
    symbol: class HttpServlet
    public class Inserisci extends HttpServlet {
    ^
    Inserisci.java:20: cannot find symbol
    symbol : class HttpServletRequest
    location: class Inserisci
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    ^
    Inserisci.java:20: cannot find symbol
    symbol : class HttpServletResponse
    location: class Inserisci
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    ^
    Inserisci.java:20: cannot find symbol
    symbol : class ServletException
    location: class Inserisci
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    ^
    Inserisci.java:23: cannot find symbol
    symbol : class Document
    location: class Inserisci
    Document documento = new Document();
    ^
    Inserisci.java:23: cannot find symbol
    symbol : class Document
    location: class Inserisci
    Document documento = new Document();
    ^

    ---------------------------------------------------------------

    ecco la servlet scritta in java:


    //
    // Inserisci.java
    //
    // Classe per inserire una nuova sede (Municipio, comune...)
    //
    //

    import java.sql.*;
    import java.util.*;

    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import org.apache.ecs.*;
    import org.apache.ecs.html.*;


    public class Inserisci extends HttpServlet {

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    {
    response.setContentType("text/html");
    Document documento = new Document();
    documento.appendTitle("Inserzione di un nuovo Riferimento");

    try {

    String nomesede = request.getParameter("nomesede");
    String citta = request.getParameter("citta");
    String via = request.getParameter("via");
    String civico = request.getParameter("civico");

    if(nomesede.equals("") || citta.equals("") || via.equals("") || civico.equals(""))
    {
    documento.appendBody("Attenzione, tutti i campi sono obbligatori");
    }
    else
    {
    Class.forName("org.gjt.mm.mysql.Driver").newInstan ce();
    Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/GestioneInterventi","ced1","2609");
    Statement statement = connection.createStatement();
    String query= "insert into Sede values ('" + nomesede + "','" + citta + "','" + via + "','" + civico + "')";
    statement.executeUpdate(query);
    documento.appendBody("Inserzione riuscita.");
    }
    } catch (Exception e) { documento.appendBody("Inserzione fallita: " + e.toString()); }
    documento.output(response.getWriter());

    }
    }


    Non so proprio cosa fare Che brutto essere ignoranti! Ciao ragazzi

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Servlet non compila

    Originariamente inviato da ecaon82
    mi sto affacciando al mondo dei database e sto lavorando ad una form che usa una servlet java. Il problema è che quando tento di compilare solo la servlet mi viene detto che mancano delle classi...

    Lucrezia:java Ema$ javac Inserisci.java
    Inserisci.java:12: package javax.servlet does not exist
    import javax.servlet.*;
    ^
    Inserisci.java:13: package javax.servlet.http does not exist
    import javax.servlet.http.*;
    ^

    ... ecc....
    Ci sono diverse questioni qui. Innanzitutto le tue classi sarebbe meglio se fossero in un package, non nel package di "default".

    La seconda questione è che stai compilando da prompt dei comandi. E dovresti quindi avere in "classpath" tutte le librerie necessarie. Ora, javax.servlet non fa parte di Java SE, quindi il solo JDK non basta di certo. Devi avere da qualche parte le librerie (i .jar intendo) che contengono le API delle servlet.

    Se nel tuo sistema è installato il Java EE SDK della Sun, allora a seconda della versione dovresti trovarci dentro, se non sbaglio, un j2ee.jar o javaee.jar.

    Se hai installato un Tomcat potresti referenziare le sue librerie, in particolare la servlet-api.jar che trovi nella sua cartella 'lib'.

    Cosa simile per quel package org.apache.ecs che da una veloce ricerca in rete risulta essere del Jakarta ECS (Element Construction Set). Devi aver scaricato i "binari" di questa libreria e quindi referenziare i jar necessari.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    6

    citazione

    Ciao andbin,

    qua e la avevo visto che bisognava settare il CLASSPATH con i jar:

    /common/lib/servlet-api.jar
    e
    /common/lib/jsp-api.jar

    ma non so come si fa da shell dei comandi...pensi che settandolo risolverei il problema?

    Io avevo provato così ma non è cambiato nulla:

    set CLASSPATH=.:/Library/"Tomcat 5.5"/common/lib/servlet-api.jar:/Library/"Tomcat 5.5"/common/lib/jsp-api.jar:/Library/"Tomcat 5.5"/common/lib/ecs.jar

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 © 2025 vBulletin Solutions, Inc. All rights reserved.