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

    [J2EE]: HTTP Status 404 - /PrimoServlet/BasicServlet

    Ciao,
    ho già letto una discussione su questo forum riguardo ad un problema simile al mio ma non mi è stata di aiuto, percui vi sottopongo il mio problema:
    Questo è l'errore che non riesco a risolvere

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>
    HTTP Status 404 - /PrimoServlet/BasicServlet

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

    type Status report

    message /PrimoServlet/BasicServlet

    description The requested resource (/PrimoServlet/BasicServlet) is not available.


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

    Apache Tomcat/6.0.18
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>

    Vi posto il file index.jsp e la servlet che dovrebbe essere attivata

    1) index.jsp
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>BasicServlet</title>
    </head>
    <body>
    <form action="BasicServlet" method="POST">



    Premere Submit per attivare il servlet BasicServlet



    <input type="submit" value="Submit">
    <input type="reset">
    </form>
    </body>
    </html>

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>

    2) BasicServlet.java
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>

    package my.basicservlet;

    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;

    public class BasicServlet extends HttpServlet {
    public void init(ServletConfig config) throws ServletException
    {
    // Passa sempre l'oggetto ServletConfig alla superclasse
    super.init(config);
    }

    // Elabora la richiesta HTTP Get
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();

    out.println("<html>");
    out.println("<head><title>BasicServlet</title></head>");
    out.println("<body>");

    // Stampa il REQUEST_METHOD inviato dal client
    out.println("Metodo di richiesta " + request.getMethod() + "\n");
    out.println("</body></html>");
    out.close();
    }

    // Elabora la richiesta HTTP Post
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();

    out.println("<html>");
    out.println("<head><title>BasicServlet</title></head>");
    out.println("<body>");

    // Stampa il REQUEST_METHOD inviato dal client
    out.println("Metodo di richiesta " + request.getMethod() + "\n");
    out.println("</body></html>");
    out.close();
    }

    // Ottiene informazioni sul serblet
    public String getServletInfo() {
    return "Informazioni su BasicServlet";
    }
    }

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>

    E' giusto un esempio che ho trovato su un libro di JSP che sto studiando.
    Ho scritto il tutto con NetBeans 6.1, che in automatico mi ha creato molte cartelle e files che sinceramense non so a cosa servono.

    Quando mando in esecuzione il programma mi si apre una pagina di internet explorer con indirizzo: http://localhost:4040/PrimoServlet/
    e nella quale vi sono due pulsanti. Il tasto Submit, da come ho letto sul libro, dovrebbe aprire una nuova pagina che deve essere generata dal codice contenuto nel file BasicServlet.java
    Ma quando premo Submit mi dà l'errore che ho riportato sopra.

    Penso che il problema sia nel <form action="BasicServlet"...
    Non so che directory devo specificargli, il libro non dà molte spiegazioni a riguardo.
    Soprattutto vorrei sapere quale file deve essere attivato dal pulsante Submit.

    GRAZIE DELL'AIUTO!

  2. #2
    Hai mappato la servlet nel file web.xml?
    Al mio segnale... scatenate l'inferno!

  3. #3
    Il file web.xml non lo ho scritto io ma lo ha fatto NetBeans in automatico il suo codice è il seguente:
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>

    <?xml version="1.0" encoding="UTF-8" ?>
    - <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    - <session-config>
    <session-timeout>30</session-timeout>
    </session-config>
    - <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    </web-app>

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326

    Moderazione

    Invece di utilizzare sfilze inutili di parentesi angolari per delimitare il codice, utilizza gli apopsiti tag [code] e [/code] come espressamente indicato anche nel Regolamento: in questo modo il codice diventa leggibile e mantiene l'indentazione.


    Ad ogni modo, manca appunto la mappatura della servlet. Probabilmente non hai realizzato una servlet utilizzando la procedura guidata di NetBeans (che si sarebbe occupata di fare la modifica), ma hai semplicemente aggiunto un nuovo file al progetto...

    Devi aggiungere al file web.xml la mappatura della URL alla Servlet, in questo modo:
    codice:
        <servlet>
            <servlet-name>BasicServlet</servlet-name>
            <servlet-class>my.basicservlet.BasicServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>BasicServlet</servlet-name>
            <url-pattern>/BasicServlet</url-pattern>
        </servlet-mapping>
    In questo modo dichiari che la tua WebApplication fa uso della Servlet "BasicServlet" e che ad essa è associato l'indirizzo virtuale "/BasicServlet"


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Grazie dell'aiuto,
    ho inserito la mappatura del servlet nel file web.xml ed ora funziona...
    Però non ho capito come realizzare un servlet con la procedura guidata di NetBeans, forse nel Source Package devo fare New>Servlet, invece di New>Java Class???
    E comunque quando ho creato il progetto ho scelto Web Application... è corretto???

  6. #6
    Scusa se non ho seguito il regolamento, ma mi sono iscritto da poco al forum e non sono ancora molto pratico.
    Comunque nel caso dovessi aggiungere altro codice seguiro il tuo consiglio.
    Grazie dell'aiuto dinuovo.

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Originariamente inviato da Ivan Macrì
    Grazie dell'aiuto,
    ho inserito la mappatura del servlet nel file web.xml ed ora funziona...
    Però non ho capito come realizzare un servlet con la procedura guidata di NetBeans, forse nel Source Package devo fare New>Servlet, invece di New>Java Class???
    Esatto. In questo modo NetBeans sa che si tratta di una Servlet e va ad aggiornare automaticamente il Context Descriptor File (web.xml).

    E comunque quando ho creato il progetto ho scelto Web Application... è corretto???
    Sì.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.