Newsgroup: it.comp.java
Titolo: Tomcat e XP Pro - dove sbaglio?

Dunque, il mio file web.xml è configurato così, nella directory
miadir/WEB-INF
<?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>
 <servlet>
  <servlet-name>RegistrazioneServlet</servlet-name>
  <servlet-class>servlets.RegistrazioneServlet</servlet-class>
 </servlet>
</web-app>
La servlet si trova in miadir/WEB-INF/classes/servlets
il CLASSPATH punta su classes
Ora, se ho un form in una pagina JSP, nella directory miadir/prova
<form name = "registrazione" action = "../servlets.RegistrazioneServlet"
method = "post">
Ottengo in risposta una pagina di errore perché "The requested resource is
not available
Stessa cosa se l'action è action = "../RegistrazioneServlet"  o action =
"RegistrazioneServlet" o ancora
action = "servlets.RegistrazioneServlet"
Dov'è che sbaglio?
Grazie a chi vorrà rispondere.

Metti
action = "/RegistrazioneServlet"
ciao

 ciao
Niente da fare, purtroppo:
The requested resource (/RegistrazioneServlet) is not available.
Comunque, grazie lo stesso.

Scusa....
Non avevo letto tutto il tuo post con attenzione ;-)
Dato che le invocazioni erano sbagliate pensavo risiedesse lì
l'errore...invece....dov'è il tag <servlet-mapping>????
Se manca quello Tomcat non sa come la servlet mappare le richieste alle
servlet invocate....

Per il momento, ho risolto mettendo il percorso "completo", ovvero ../ fino
a raggiungere miadir e poi servlet/servlets.NomeServlet (nel mio caso,
../servlet/servlets.NomeServlet).
non mi è chiaro invece, come fare per poter dare all'action una stringa
"abbreviata" (tipo action = "pippo") e lui mi va subito alla servlet
giusta...
Se qualcuno mi illumina, ho bisogno di luce :)
Grazie

 Se qualcuno mi illumina, ho bisogno di luce :)
Il mio post precedente rispondeva alla tua domanda...devi includere il tag
<servlet-mapping> nel file xml, in questo modo...
<servlet>
<servlet-name>pipposervlet</servlet-name>
<servlet-class>packagepippo.PippoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>pipposervlet</servlet-name>
<url-pattern>/pippo</url-pattern>
</servlet-mapping>
Chiaro?

Tu hai ragione, infatti ho seguito quanto mi avevi postato in precedenza.
Purtroppo, senza successo. Ma, visto che me ne confermi l'esattezza,
sicuramente avrò sbagliato qualche cosa io...
Che dire, mo riprovo :)

Ok, riprovato e ovviamente c'è un errore.
Bene, dato il file web.xml così costruito:
<?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>
 <servlet>
  <servlet-name>RegistrazioneServlet</servlet-name>
  <servlet-class>servlets.RegistrazioneServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>RegistrazioneServlet</servlet-name>
  <url-pattern>Pippo</url-pattern>
 </servlet-mapping>
</web-app>
Come devo chiamare l'action in un form? E che url viene visualizzato quando
chiamo la Servlet?

Questo è il mio file xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.2//EN" "
http://java.sun.com/j2ee/dtds/web-app_2_2.dtd
">
<web-app>
<servlet>
<servlet-name>loginservlet</servlet-name>
<servlet-class>applicationcore.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>loginservlet</servlet-name>
<url-pattern>/login</url-pattern>
</web-app>
Questo invece l'HTML con cui invocarla
<form name="form1" method="post" action="/login">
    <table
      <tr>
        <td>Login</td>
        <td>
          <input type="text" name="login" maxlength="10">
        </td>
      </tr>
      <tr>
        <td>Password</td>
        <td>
          <input type="password" name="password" maxlength="10">
        </td>
      </tr>
    </table>
  <p align="center">
    <input type="submit" name="Submit" value="Invia">
  </p>
</form>
Sei sicuro di non aver sbagliato qualcosa nella posizione della cartella
classes?

 classes?
sta sotto apache/webapps/miadir/WEB-INF/classes e il classpath punta su
classes
Devo aver sbagliato da qualche altra parte, perché appena modifico il file
web.xml mettendo il tag <servlet-mapping>, non mi vede più NESSUNA pagina
(per quello l'avevo tolto).
Beh, credo che per il momento mi toccherà inserire il percorso completo :(


Ma tu stai usando Tomcat da solo o Apache + Tomcat??

Apache Tomcat 4.0.4

 Apache Tomcat 4.0.4
Cmq, avevo commesso un errore di digitazione. Ora, vedo il resto del sito,
ma le servlet, con il servlet mapping, non le vedo.
Grazie per aver perso un pň di tempo con me, per ora mi accontenterň di
specificare il percorso completo... :)

sta sotto apache/webapps/miadir/WEB-INF/classes e il classpath punta su
classes
E grazie che non va...le servlet devono stare in
webapps/ROOT/WEB-INF/classes/cartellaDelPackage

No, davo per scontato il package... dopo classes c'è servlets...

 webapps/ROOT/WEB-INF/classes/cartellaDelPackage
Se al posto di ROOT c'č miadir, e miadir č configurata in server.xml, non ci
dovrebbero essere problemi, o sbaglio?

 ha scritto nel messaggio
news:ake1ns$mml$1...@newsreader.mailgate.org...

Prova a lasciare i settaggi di default....

> Prova a lasciare i settaggi di default....
Ho provato. Spostato tutto sotto ROOT, impostato il classpath, ma niente.
Sto mapping non lo digerisce. Domani re-installo tutto e provo a vedere se
con i settaggi di default, che più default di così non si può manco col
candeggio, il servlet-mapping funziona.