PDA

Visualizza la versione completa : Errore servlet


girub
26-11-2003, 14:45
Ciao a tutti ragazzi,
sto da poco avvicinandomi a java e sto vedendo un p di esempi per capire come sono fatti magari anche modificandoli...
Insomma, dopo avere scritto hello word e aver visto qualch eservlet ora la volta di questa servlet che proprio nn vuole andare.
Il codice preso da un esmpio online questo:


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

public class DesignPageServlet extends HttpServlet
{

//Initialize global variables
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}

//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String sBKCOLOR = request.getParameter("BKCOLOR");
String sTITLE = request.getParameter("TITLE");
String sMESSAGE = request.getParameter("MESSAGE");

response.setContentType("text/html");
PrintWriter out = new PrintWriter (response.getOutputStream());
out.println("<html>");
out.println("<head><title>" + sTITLE + "</title></head>");
out.println("<body bgColor=" + sBKCOLOR + ">");
out.println("<h1>" + sTITLE + "</h1>");
out.println("

" + sMESSAGE);
out.println("</body></html>");
out.close();
}
}





ma continua a darmi quest'errore:


HTTP Status 405 - HTTP method GET is not supported by this URL

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

type Status report

message HTTP method GET is not supported by this URL

description The specified HTTP method is not allowed for the requested resource (HTTP method GET is not supported by this URL).


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

Apache Tomcat/4.1.18




Cosa potr mai essere...? :( e possibile che ancora prima di cercar di modificarla nn mi funziona...? :confused: :gren:
Ciao Giuseppe R.

smprog
26-11-2003, 15:36
Ti manca il metodo doGet.
Il doPost fa si che la servlet risponda in POST (appunto :) ) mentre il doGet ti gestice anche le chiamate in GET (ad esempio se vuoi richiamarla direttamente inserendo l'indirizzo in un browser).

Siccome di solito la servlet risponde allo stesso modo, ti puoi fare un metodo service(request, respone) in cui metti le azioni che deve fare e poi nei due metodi doGet e doPost richiami il service passandogli request e response

ciao

girub
26-11-2003, 16:27
della risposta..
ma credo di non aver capito cosa intendi dire:.
Praticamente vuoi dire che l'esempio che ho preso in considerazione non completo?
manca un pezzo..??
daltronde intuisco :eek: che sta roba vuol dire che sta ricevendo ste variabili no??

String sBKCOLOR = request.getParameter("BKCOLOR");
String sTITLE = request.getParameter("TITLE");
String sMESSAGE = request.getParameter("MESSAGE");


ma chi gli li manda??
Questo metodo doGet di cui parli va messo su questa pagina o su quella che invia le variabili??
Cioa e grazie Giuseppe

smprog
26-11-2003, 17:00
Il metodo doGet non va messo in pagina ma nella servlet come il doPost.
L'esempio non sbagliato, solo che risponde solo alle chiamate in POST, il caso tipico di una pagina in cui presente una form con il method=POST e l'action che punta alla servlet; in questo caso la chiamata in post.

Se invece il method fosse uguale a GET, oppure se richiami la servlet ad esempio con un link, allora la chiamata in GET

girub
26-11-2003, 17:22
grazie mille...
vedendo un'altro esempio ho risolto cos come va???



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

public class DesignPageServlet extends HttpServlet
{

//Initialize global variables
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}

//Process the HTTP Post request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String sBKCOLOR = request.getParameter("BKCOLOR");
String sTITLE = request.getParameter("TITLE");
String sMESSAGE = request.getParameter("MESSAGE");

response.setContentType("text/html");
PrintWriter out = new PrintWriter (response.getOutputStream());
out.println("<html>");
out.println("<head><title>" + sTITLE + "</title></head>");
out.println("<body bgColor=" + sBKCOLOR + ">");
out.println("<h1>" + sTITLE + "</h1>");
out.println("

" + sMESSAGE);
out.println("</body></html>");
out.close();
}

/* tratto ugualmente i due metodi GET e POST..... */

public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException
{
doGet(request, response);
} // end doPost(...)

}


dovrebbe andare bene no??
o almeno nn d errore.
Ciao GIuseppe

smprog
26-11-2003, 17:27
si cos corretto
ciao

girub
27-11-2003, 09:20
ancora una cosa se posso rompere......
Vorrei, sempre per esercizio fare un progettino tipo login per autenticarsi.
Dove posso trovare degli esempi di altre servlet e jsp oltre al sito Sun??

Angelo1974
27-11-2003, 11:21
mokabyte.... l'indirizzo : www.mokabyte.it (http://www.mokabyte.it)
Ciao :ciauz:

smprog
27-11-2003, 11:35
Altri siti dove puoi trovare qualcosa sono questi
JavaPortal (http://www.javaportal.it/)
JavaWorld (http://www.javaworld.com/)

Loading