PDA

Visualizza la versione completa : [JAVA] Servlet non accessibile


Draken
06-03-2006, 22:36
salve ho iniziato da poco a maneggiare le servlet e jsp

dunque....ho una pagina html con un campo testo



<FORM METHOD=GET ACTION="Hello">
If you don't mind me asking, what is your name?
<INPUT TYPE=TEXT NAME="name">


<INPUT TYPE=SUBMIT>
</FORM>

questo il form.....
quando clicco sul pulsante dovrebbe partire la servlet il cui alias "Hello".....quest'ultima dovrebbe generare una pagina html dove avremo la frase "Hello"+ "testo del form".......

La cosa nn funziona....
La pagina generata compare come "Hello, null"...nn compare neanke il form.....


Il descrittore di deployment il seguente:



<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>po.Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern> /FormP.html </url-pattern>
</servlet-mapping>
<session-config>
<session-timeout> 30 </session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>FormP.html</welcome-file>
</welcome-file-list>
</web-app>


se tolgo il tag "servlet-mapping", mi dice ke la servlet nn stata trovata....cosa devo fare????

attendo e grazie a tutti!!!! :D

floyd
06-03-2006, 22:46
sbagliavi solo l'url
<url-pattern>/Hello</url-pattern>
:)

Draken
06-03-2006, 22:52
continua a dare Hello, null

dannie
07-03-2006, 09:05
Forse il problema non tanto la servlet quanto il parametro o come viene letto... posta il codice della servlet. :)

Draken
07-03-2006, 15:40
package po;
/* * Hello.java * * Created on 5 marzo 2006, 22.22 * * To change this template, choose Tools | Template Manager * and open the template in the editor.
*/
/** * * @author Auron */
import java.io.*; import javax.servlet.*;
import javax.servlet.http.*;
public class Hello extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html");
PrintWriter out = res.getWriter();
String name = req.getParameter("name");
out.println("<HTML>");
out.println("<HEAD><TITLE>Hello, " + name + "</TITLE></HEAD>"); out.println("<BODY>");
out.println("Hello, " + name);
out.println("</BODY></HTML>"); }
public String getServletInfo() {
return "A servlet that knows the name of the person to whom it's" + "saying hello"; } }

dannie
07-03-2006, 15:58
:madai!?: Uhmmm, prova a scrivere in maniera pi corretta il form, tra l'altro evitando nomi che hanno gi un significato come name:


<form method="GET" action="Hello">
If you don't mind me asking, what is your name?
<input type="text" name="nome" value="Write your name!">
<input type="submit">
</form>

(e quindi ovviamente String name = req.getParameter("nome");)
Usi il metodo get, quindi quando arrivi nella pagina Hello dovresti poter leggere qualcosa tipo Hello?nome=nomeinserito giusto?

Draken
07-03-2006, 16:45
ragazzi veramente nn capisco...continua nel dare il solito errore : Hello, null...........nn compare neanke il form


Qualcuno pu postare un esempio:
Ho un form, immetto dati e quando clicco sul pulsante ok la servlet associata al tasto genera una pagina con i dati del form


Come lo scrivo con servlet????

attendo notizie e grazie a tutti :dh: :)

dannie
07-03-2006, 17:21
Aspetta.... temo ci sia un problema di fondo...
la servlet che hai postato serve a "gestire i dati" inviati dal form; quindi prima devi visualizzare il form, poi verificare se la servlet non funziona... E questo mi fa notare una cosa:

<url-pattern>/FormP.html</url-pattern>
Se FormP.html il nome della pagina html che contiene il form allora non va l! Prova a sostituire con:

<url-pattern>/Hello</url-pattern>
e poi dal browser accedi al form....
EDIT: cancello tutto e chiedo scusa, la stessa cosa che ti ha gi detto floyd all'inizio e aveva ragione... sicuro che avevi seguito bene il suo suggerimento?

Draken
07-03-2006, 17:39
continua a nn funzionare.....io nn capisco.....veramente......


il codice semplice :dh: :dh:

dannie
07-03-2006, 17:45
Ma quando apri il browser cosa digiti? L'indirizzo del form vero? tipo:
http://localhost:8080/miaApplic/FormP.html
:bh:

Loading