2015-11-22 17 views
5

Good Day,Impossibile raggiungere la pagina Servlet

Ho appena configurato il tomcat e utilizzando le pagine del servlet Java. Sono nuovo con questo e in grado di colpire la pagina indice con successo, ma se ho cercato direttamente di colpire l'azione modulo e passato il param definito, allora potrei vedere i risultati. Per favore guidami se mi manca qualcosa.

JSP - Codice

<div align="center" style="margin-top: 50px;"> 
    <form action="CrunchifyServlet"> 
     Please enter your Username: <input type="text" name="username" size="20px"> <br> 
     Please enter your Password: <input type="text" name="password" size="20px"> <br><br> 
     Please enter your Age: <input type="text" name="age" size="20px"> <br><br> 
    <input type="submit" value="submit"> 
    </form> 
</div> 

Java - Codice

public class HelloCrunchify extends HttpServlet { 
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // reading the user input 
     String username = request.getParameter("username"); 
     String password = request.getParameter("password"); 
     String age = request.getParameter("age"); 
     PrintWriter out = response.getWriter(); 
     out.println (
        "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" +" + 
         "http://www.w3.org/TR/html4/loose.dtd\">\n" + 
        "<html> \n" + 
        "<head> \n" + 
         "<meta http-equiv=\"Content-Type\" content=\"text/html; " + 
         "charset=ISO-8859-1\"> \n" + 
         "<title> Crunchify.com JSP Servlet Example </title> \n" + 
        "</head> \n" + 
        "<body> <div align='center'> \n" + 
         "<style= \"font-size=\"12px\" color='black'\"" + "\">" + 
         "Username: " + username + " <br> " + 
         "Password: " + password + " <br> " + 
         "Age: " + age + 
        "</font></body> \n" + 
        "</html>" 
       );  
     } 

}

web.xml

<display-name>CrunchifyJSPServletExample</display-name> 
    <welcome-file-list> 
<welcome-file>index.html</welcome-file> 
<welcome-file>index.htm</welcome-file> 
<welcome-file>index.jsp</welcome-file> 
<welcome-file>default.html</welcome-file> 
<welcome-file>default.htm</welcome-file> 
<welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 
<servlet> 
    <servlet-name>Hello</servlet-name> 
    <servlet-class>com.crunchify.jsp.servlet.HelloCrunchify</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>Hello</servlet-name> 
    <url-pattern>/CrunchifyServlet</url-pattern> 
</servlet-mapping> 
</web-app> 

Project Explorer

e se ho cercato di colpire questo localhost:9080/CrunchifyJSPServletExample/Crunchify.jsp mi sto Stato HTTP 404.

aiuto sarà apprezzato.

Grazie

+0

Sei in grado di vedere la pagina jsp? O è solo che non sei in grado di inviarlo? – SacJn

+0

@SacJn no Sto solo ricevendo lo stato Http - 404. Solo per verificare se il tomcat funziona o no invio direttamente il modulo con parametri definiti e ho visto i risultati. ma non riesco a vedere la mia pagina jsp. –

+0

Quindi il problema con il nome e il percorso della tua pagina jsp. Puoi confermarlo? – SacJn

risposta

5

Hai bisogno di prendere il vostro jsp da WEB-INF e metterlo direttamente sotto WebContent e funzionerà.

1

Controllare se si utilizza il percorso del contesto corretto CrunchifyJSPServletExample. In genere sarà il nome del file war generato se si sta eseguendo la distribuzione su Tomcat manualmente o se si utilizza il tomcat configurato in eclipse è possibile specificare il percorso nella scheda Moduli.

+0

Grazie per la vostra risposta non c'è niente di sbagliato con il collegamento Ho cercato di colpire questo http: // localhost: 9080/CrunchifyJSPServletExample/CrunchifyServlet? Username = crunchify & password = Password, posso vedere con successo il contesto scritto in classe java che sto stampando attraverso PrintWriter –

+0

OK. Ho appena provato con il tuo codice nella mia macchina ed è stato in grado di caricare correttamente la pagina jsp e l'invio dei moduli funziona correttamente. La tua pagina jsp si trova nella cartella webapps? –

+0

qui nella mia macchina è in WebContent/WEB-INF. –

1

Provalo. Cambia codice Java.

Prima:

protected void **doGet**(HttpServletRequest request, HttpServletResponse response) 

Dopo:

protected void **service**(HttpServletRequest request, HttpServletResponse response) 

o:

protected void **doPost**(HttpServletRequest request, HttpServletResponse response) 

Html codice lato, di solito l'impostazione del metodo HTTP come GET o POST. Ad esempio:

Ma non esiste una specifica del metodo http. Forse html comunica al server con get metodo e la servlet non può essere riconosciuta.

Si prega di aggiungere il codice come sysout in servlet. E non c'è uscita, il metodo http è sospetto.

+0

Formatta correttamente la risposta. Non è chiaro. –

+0

grazie mille! – Yuji

2

Dopo aver consultato il tuo file web.xml e aver letto il tuo commento, stai utilizzando Crunchify.jsp per pubblicare i dati, ma il contenitore servlet non riesce a trovare Crunchify.jsp nella cartella corretta in guerra, quindi stai ricevendo questo errore 404, quello che devi fare è inserire Crunchify.jsp nella stessa cartella di index.jsp enter image description here

Come mostrato nell'immagine sopra, metti Crunchify.jsp come Pagine Web -> Crunchify.jsp ora se si richiama http://localhost:9080/CrunchifyJSPServletExample/Crunchify.jsp dovrebbe funzionare bene

+1

si prega di consultare il post aggiornato. Ho allegato il project explorer –

1

in grado di colpire la pagina indice successo

Diciamo che il vostro contenuto della pagina index sono in un file chiamato index.html. Seguire le istruzioni riportate di seguito:

  1. Luogo index.html file nella directory radice del file di guerra cioè, allo stesso livello con la directory WEB-INF.
  2. Inserire e distribuire l'app nel contesto CrunchifyJSPServletExample.
  3. Infine chiamare l'URL localhost: 9080/CrunchifyJSPServletExample. Dovrebbe recuperare il contenuto di index.html.
Problemi correlati