2013-05-22 9 views
10

Nel mio jsp se chiamo <form action="/sampleServlet" method="get" name="form1">, ottengo la seguente eccezione:<form action = "/ sampleServlet" dandomi eccezione

Errore HTTP 404 - sampleServlet non è found.I impostare sampleServlet in web Il file .xml e il modello url sono anch'essi impostati su/sampleServlet.

Perché ottengo 404 (servlet non trovato)?

risposta

32

Quando si utilizza l'URL in HTML, senza anticipo/sono relativi all'URL corrente (ovvero la pagina corrente visualizzata). Con leader/sono relativo alla radice del sito:

<form action="/context-path/sampleServlet"> 

o

<form action="sampleServlet"> 

farà quello che vuoi.

Ti suggerisco di aggiungere il contesto all'interno del percorso di azione in modo dinamico. Esempio (in JSP):

<form action="${pageContext.request.contextPath}/sampleServlet"> 

Con questo non si avrà mai per modificare il percorso, ad esempio, se si sposta il file o copiare il codice, o rinominare vostro contesto!

+0

grazie you..it ha lavorato .. – user2365917

+0

Sei il benvenuto –

+0

Questo mi sta dando un errore 404 con il seguente URL: http://127.0.0.1:8888/${pageContext.request.contextPath}/fileUpload – anon58192932

4

potrebbe aiutare a

configurazione servlet

<servlet> 
    <servlet-name>sampleServlet</servlet-name> 
    <servlet-class>test.sampleServlet</servlet-class> 
    </servlet> 
<servlet-mapping> 
    <servlet-name>sampleServlet</servlet-name> 
    <url-pattern>/sampleServlet/</url-pattern> 
    </servlet-mapping> 

Codice Servlet: codice

package test; 

import java.io.IOException; 
import java.io.PrintWriter; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 


public class sampleServlet extends HttpServlet{ 

    public void doGet(HttpServletRequest request, HttpServletResponse response) 
    throws IOException{ 
     PrintWriter out = response.getWriter(); 
     out.println("<html>"); 
     out.println("<body>"); 
     out.println("<h1>Hello Servlet Get</h1>"); 
     out.println("</body>"); 
     out.println("</html>"); 
    } 
} 

JSP:

<html> 
    <body> 
    <form action="/sampleServlet/" method="GET"> 
     <input type="submit" value="Submit form "/> 
    </form> 
    </body> 
</html> 

è possibile fare clic sul pulsante di invio e dopo si può vedere servlet mettere fuori

1

Basta usare action = "sampleServlet"

Si lavorerà per voi.

Problemi correlati