Newsgroup: it.comp.java
Titolo: Stranezza di JAVA o di TOMCAT?

Salve a tutti.
Ho scritto una servlet che usa un metodo POST per ricevere le richieste.
Configuro tomcat e provo a vedere cosa succede e tutto ciò che ottengo è
un errore per un metodo GET non supportato dalla servlet.
E la cosa assurda è che NESSUNO esegue una GET!! :(
Cosa ne pensate? 
Grazie a tutti,
 padreTony

 E la cosa assurda è che NESSUNO esegue una GET!! :(
Ehm, Mi sembra logico. Hai implementato il metodo POST e non il metodo 
GET, quindi è lapalissiano che accedendo con GET tu ottenga che tale 
metodo non è supportato.
I casi sono due: o rinomini il metodo da doPost a doGet, oppure accedi 
al servlet tramite un form con method="post".

 E la cosa assurda č che NESSUNO esegue una GET!! :(
Non č detto:
Come accedi alla servlet? Suponiamo si chiami pippo nel
contesto topolinia:
Se per accedere alla servlet vai a:
http://localhost:8080/topolinia/pippo
senza passare da un form HTML che effettui il post, il tuo
browser
esegue un get senza parametri....
CarloP.

 CarloP.
Ho pensato anch'io potesse essere lo stesso problema..
La struttura su tomcat è questa:
webapps/MIOSITO
webapps/MIOSITO/index.html	(esegue la POST)
webapps/MIOSITO/WEB-INF
webapps/MIOSITO/WEB-INF/web.xml	
webapps/MIOSITO/WEB-INF/CLASSES
webapps/MIOSITO/WEB-INF/CLASSES/miaServlet.class	 	
con web.xml fatto in questo modo:
<?xml version="1.0" encoding="ISO-8859-1"?>
 
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "
http://java.sun.com/dtd/web-app_2_3.dtd
">
 
<web-app>
  <display-name>Welcome to MIOSITO</display-name>
  <description>
     Welcome to MIOSITO
  </description>
 
 
<!-- JSPC servlet mappings start -->
 
    <servlet>
        <servlet-name>miaServlet</servlet-name>
        <servlet-class>miaServlet</servlet-class>
    </servlet>
 
    <servlet-mapping>
        <servlet-name>miaServlet</servlet-name>
        <url-pattern>/index.html</url-pattern>
    </servlet-mapping>
 
<!-- JSPC servlet mappings end -->
 
</web-app>
Forse non ho ben chiari i singoli pezzi della configurazione di questo
file. Ragioniamoci un attimo:
<servlet>
   <servlet-name>miaServlet</servlet-name>
   <servlet-class>miaServlet</servlet-class>
</servlet>
questa parte associa il nome della classe ad il nome che tomcat usa per
individuarla, giusto?
<servlet-mapping>
   <servlet-name>miaServlet</servlet-name>
   <url-pattern>/index.html</url-pattern>
</servlet-mapping>
questa parte invece associa la servlet definita al file che la richiama,
giusto?
Ora, secondo me il problema è proprio in queste ultime righe. 
Ho provato allora a mettere il file index.html in ROOT in modo che
chiamando sul browser  localhost:8080/  lo apre. Però quando provo a
sottomettere la POST dalla form mi dice di nuovo che il metodo GET non è
supportato dalla servlet. Naturalmente la form esegue una POST.. :(
Ho provato allora a modificare le righe incriminate in web.xml in:
<servlet-mapping>
   <servlet-name>miaServlet</servlet-name>
   <url-pattern>/MIOSITO/index.html</url-pattern>
</servlet-mapping>
In questo modo quando sul browser richiedo  localhost:8080/MIOSITO/ 
mostra il file index.html (cosa che va benissimo) invece di cercare di
aprire direttamente la servlet ma se ancora sottometto la form questa
volta mi dice che non risolve la servlet dicendomi che /MIOSITO/MIOSITO
è una risorsa non disponibile. 
Provo allora una ulteriore modifica di web.xml in :
<servlet>
   <servlet-name>MIAServlet</servlet-name>
   <servlet-class>miaServlet</servlet-class>
</servlet>
<servlet-mapping>
   <servlet-name>MIAServlet</servlet-name>
   <url-pattern>/MIOSITO/index.html</url-pattern>
</servlet-mapping>
dove la form su index.html esegue:
<form action="MIAServlet" method=POST>
  <input type="text"></input>
  <input type="submit" value="Enter" onclick="">
</form>
Provo a eseguire la submit e questa volta sembra non accadere nulla, o
meglio, sembra che il browser ricarichi la stessa pagina e non succede
altro, quando la servlet invece avrebbe dovuto rispondere con
qualcos'altro..
Cosa succede?
Come risolvere?
Grazie mille,
 padreTony