Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: [JSP] tomcat e servlet

  1. #1

    tomcat e servlet

    Salve a tutti,
    ho un problema con l'esecuzione delle servlet su tomcat. Credo ke questo sia dovuto al fatto ke tomcat non riesce a trovare le servtet richieste restituendo questo tipo di errore:
    HTTP Status 404 - /JSPForum/servlet/forum.PostLogin

    pur avendo i file .class in /JSPForum/WEB-INF/classes/
    e creato il file web.xml (in /JSPForum/WEB-INF/) in questo modo:

    <?xml version="1.0" encoding="utf-8" ?>

    <web-app>
    <servlet>
    <servlet-name>RegisterForm</servlet-name>
    <description>servlet di registrazione</description>
    <servlet-class>forum.RegisterForm</servlet-class>
    </servlet>

    <servlet>
    <servlet-name>LoginForm</servlet-name>
    <description>servlet di login</description>
    <servlet-class>forum.LoginForm</servlet-class>
    </servlet>

    <servlet>
    <servlet-name>PostRegister</servlet-name>
    <description>servlet di login</description>
    <servlet-class>forum.PostRegister</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>PostLogin</servlet-name>
    <description>servlet di login</description>
    <servlet-class>forum.PostLogin</servlet-class>
    </servlet>

    <servlet-mapping>
    <servlet-name>RegisterForm</servlet-name>
    <url-pattern>/forum.RegisterForm</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
    <servlet-name>LoginForm</servlet-name>
    <url-pattern>/forum.LoginForm</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
    <servlet-name>PostRegister</servlet-name>
    <url-pattern>/PostRegister</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
    <servlet-name>PostLogin</servlet-name>
    <url-pattern>/PostLogin</url-pattern>
    </servlet-mapping>

    </web-app>

    cioè per ogni servlet ho inserito il servlet-mapping.
    Perchè tomcat continua a non trovare le servlet?
    Per favore aiutatemi!!!

  2. #2
    Come richiami la servlet? Assicurati che il nome con cui la richiami coincida con l'url-pattern specificato.
    Al mio segnale... scatenate l'inferno!

  3. #3
    Ciao
    prova ad aggiungere il tag load-on-startup

    <servlet>
    <servlet-name>LoginForm</servlet-name>
    <description>servlet di login</description>
    <servlet-class>forum.LoginForm</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>

    load-on-startup = 1 la servlet viene invocata alla prima richiesta.

    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  4. #4
    l'url che usi per invocare la servlet (/JSPForum/servlet/forum.PostLogin) dovrebbe essere scritta: /JSPForum/forum.PostLogin (altrimenti modifica il pattern da te indicato!).

    x mirkoagrati: che intendi con:

    load-on-startup = 1 la servlet viene invocata alla prima richiesta!

    Una servlet viene sempre INVOCATA ad ogni richiesta. Se invece dici che viene caricata alla prima richiesta, è errato! Quello è il comportamento di default quando NON indichi load-on-startup! Se invece lo indichi e lo metti a 1 la servlet è caricata allo startup del contesto! Cose comuque preferibile se non vuoi che chi invoca per primo la servlet possa vedere tempi di risposta molto più lunghi delle successive richieste...
    Ivan Venuti
    Vuoi scaricare alcuni articoli sulla programmazione, pubblicati su riviste di informatica? Visita http://ivenuti.altervista.org/articoli.htm. Se vuoi imparare JavaScript leggi il mio libro: http://www.fag.it/scheda.aspx?ID=21754 !

  5. #5
    Grazie x i suggerimenti, ho modificato web.xml in questo modo:

    <servlet>
    <servlet-name>PostLogin</servlet-name>
    <description>servlet di login</description>
    <servlet-class>forum.PostLogin</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>

    ...

    <servlet-mapping>
    <servlet-name>PostLogin</servlet-name>
    <url-pattern>/forum.PostLogin</url-pattern>
    </servlet-mapping>

    la servlet la richiamo con /JSPForum/servlet/forum.PostLogin
    e si trova in /JSPForum/WEB-INF/classes/forum/
    ma continuo a ricevere lo stesso erore:
    HTTP Status 404 - /JSPForum/servlet/forum.PostLogin
    è corretto???
    HELP PLEASE!!!

    Antonio

  6. #6
    vediamo se riesco ad essere più chiaro:

    1) con la configurazione attuale devi chiamare la URL /JSPForum/forum.PostLogin

    2) se vuoi usare l'url attuale (/JSPForum/servlet/forum.PostLogin) devi modificare il mapping:

    <servlet-mapping>
    <servlet-name>PostLogin</servlet-name>
    <url-pattern>/servlet/forum.PostLogin</url-pattern>
    </servlet-mapping>

    ps. ovviamente ASSUMO che la tua webapp di chiami JSPForum!!
    Ivan Venuti
    Vuoi scaricare alcuni articoli sulla programmazione, pubblicati su riviste di informatica? Visita http://ivenuti.altervista.org/articoli.htm. Se vuoi imparare JavaScript leggi il mio libro: http://www.fag.it/scheda.aspx?ID=21754 !

  7. #7
    Mi sembra che punti alla servlet compilata (.class) anzichè puntare al .java
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  8. #8
    Originariamente inviato da mirkoagrati
    Mi sembra che punti alla servlet compilata (.class) anzichè puntare al .java
    vorresti mettere dire che alla fine sotto /WEB-INF/classes/ non deve essereci il .class?? e' ovvio che il Tomcat accederà al .class e non al .java, anche se la compila al volo VVoVe:
    o forse lo metteresti sulla root dell'applicazione? Con l'unico risultato che chiunque può fare il download del sorgente???

    Non ho davvero capito che ci vuoi fare del .java ...
    Ivan Venuti
    Vuoi scaricare alcuni articoli sulla programmazione, pubblicati su riviste di informatica? Visita http://ivenuti.altervista.org/articoli.htm. Se vuoi imparare JavaScript leggi il mio libro: http://www.fag.it/scheda.aspx?ID=21754 !

  9. #9
    Cazzata !!!Scusa

    prova a referenziarla con qualcos'altro tipo:
    <servlet>
    <servlet-name>PostLogin</servlet-name>
    <description>servlet di login</description>
    <servlet-class>forum.PostLogin</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
    <servlet-name>PostLogin</servlet-name>
    <url-pattern>*.PostLogin </url-pattern>
    </servlet-mapping>

    e poi qualunque chiamata a xxx.PostLogin dovrebbe essere ricevuta da quella servlet.

    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  10. #10
    Originariamente inviato da ivenuti
    vediamo se riesco ad essere più chiaro:

    1) con la configurazione attuale devi chiamare la URL /JSPForum/forum.PostLogin

    2) se vuoi usare l'url attuale (/JSPForum/servlet/forum.PostLogin) devi modificare il mapping:

    <servlet-mapping>
    <servlet-name>PostLogin</servlet-name>
    <url-pattern>/servlet/forum.PostLogin</url-pattern>
    </servlet-mapping>

    ps. ovviamente ASSUMO che la tua webapp di chiami JSPForum!!

    Ho fatto come mi hai detto (la mia webapp si chiama JSPForum giusto):
    <servlet-mapping>
    <servlet-name>PostLogin</servlet-name>
    <url-pattern>/servlet/forum.PostLogin</url-pattern>
    </servlet-mapping>

    ora non ho più quel fatidico errore 404
    ma mi visualizza una pagina bianca...
    Cosa sta succedendo?


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.