Visualizzazione dei risultati da 1 a 9 su 9

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da simo9115 Visualizza il messaggio
    molto probabilmente sarà un errore banale visto la mia pochissima esperienza...
    Non è questione di errore "banale" oppure no. È che quello che hai fatto non è affatto quello che proponevo io e che in sostanza era l'approccio indicato in quell'articolo indicato all'inizio.

    Quindi:

    1) Fai una pagina web che ha il form con i dati utili per l'invio della email. Questa pagina può essere "statica" (.html/.htm) o "dinamica" (.jsp). Come viene generata la pagina che mostra il form e/o da dove arrivi non è granché importante e non c'entra tanto con la problematica dell'invio della email.

    2) Il <form> dovrà avere una action="urlMappatoSuUnaServlet" dove urlMappatoSuUnaServlet è chiaramente un url che all'interno della webapp è "mappato" su una Servlet.

    3) Fai una Servlet (extends HttpServlet) con il doPost implementato (avendo fatto l'invio del form in POST) al cui interno prendi i dati con request.getParameter e con questi puoi poi creare il MimeMessage da inviare.


    Anche se quell'articolo indicato non è completissimo/chiarissimo, le parti di codice salienti sono quelle mostrate.
    Ultima modifica di andbin; 21-03-2016 a 14:12
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    81
    Quote Originariamente inviata da andbin Visualizza il messaggio
    2) Il <form> dovrà avere una action="urlMappatoSuUnaServlet" dove urlMappatoSuUnaServlet è chiaramente un url che all'interno della webapp è "mappato" su una Servlet.
    scusa ancora per il disturbo ma questo tipo di operazione nn l'ho mai eseguita.
    Ho creato il file web.xml e lo inserito all'interno della cartella WEB-inf.
    Il file deve essere configurato in questo modo?
    codice:
    <web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
        <servlet>
            <servlet-name>SendMail</servlet-name>
            <servlet-class>SendMail</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>SendMail</servlet-name>
            <url-pattern>/servlet</url-pattern>
        </servlet-mapping>
    </web-app>
    ovviamente SendMail è la servlet.

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da simo9115 Visualizza il messaggio
    Il file deve essere configurato in questo modo?
    ovviamente SendMail è la servlet.
    Di per sé è tecnicamente corretto. Nelle webapp sarebbe bene e meglio sfruttare i package, cioè non mettere classi nel package di default.

    Comunque siccome in url-pattern hai messo /servlet, il / è relativo alla context-root, ovvero la tua servlet risponde all'url assoluto (detto in modo generalizzato):

    http://nomehost:porta/nomecontesto/servlet

    Se la pagina del form fosse nella root del contesto, cioè rispondesse a es.:

    http://nomehost:porta/nomecontesto/form.html

    (o .jsp ... ma non ha importanza ora), allora in action puoi mettere

    action="servlet"

    perché è relativo alla pagina che è già nella context-root. Attenzione: NON puoi mettere action="/servlet" perché lato client, il "/" è relativo alla server-root e vorrebbe dire http://nomehost:porta/servlet che ovviamente non corrisponde!
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    81
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Di per sé è tecnicamente corretto. Nelle webapp sarebbe bene e meglio sfruttare i package, cioè non mettere classi nel package di default.

    Comunque siccome in url-pattern hai messo /servlet, il / è relativo alla context-root, ovvero la tua servlet risponde all'url assoluto (detto in modo generalizzato):

    http://nomehost:porta/nomecontesto/servlet

    Se la pagina del form fosse nella root del contesto, cioè rispondesse a es.:

    http://nomehost:porta/nomecontesto/form.html

    (o .jsp ... ma non ha importanza ora), allora in action puoi mettere

    action="servlet"

    perché è relativo alla pagina che è già nella context-root. Attenzione: NON puoi mettere action="/servlet" perché lato client, il "/" è relativo alla server-root e vorrebbe dire http://nomehost:porta/servlet che ovviamente non corrisponde!
    grazie mille per l'aiuto e per la pazienza dimostrata! grazie mille ora porta tutto grazie e ancora grazie

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.