Lezione Servlet Natalizi
Upcoming SlideShare
Loading in...5
×
 

Lezione Servlet Natalizi

on

  • 978 views

come organizzare un progetto JavaEE con servlet

come organizzare un progetto JavaEE con servlet

Statistics

Views

Total Views
978
Views on SlideShare
978
Embed Views
0

Actions

Likes
1
Downloads
25
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Excellent
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Lezione Servlet Natalizi Presentation Transcript

  • 1. Lezione Servlet Silvano Natalizi Mar 29, 2010
  • 2. Le form Html e le Servlet
    • Le form HTML permettono l’input dei dati tramite le loro caselle di testo, ma non possono elaborare questa informazione per creare una risposta dinamica.
    • Per elaborare l’informazione possiamo usare una SERVLET
    • Questa è uno speciale programma java che può estrarre l’informazione da una request, ed inviare al cliente la risposta (response) desiderata
  • 3. Client - Server
  • 4. Che cosa fa il web server ?
  • 5. Che cosa fa il client ?
  • 6. Il client browser ottiene l’HTML e lo visualizza all’utente
  • 7. Il protocollo HTTP
  • 8. Html è parte della risposta http
  • 9. Che cosa c’è nella request ? GET
  • 10. Che cosa c’è nella Request: POST
  • 11. Anatomia di una request GET
  • 12. Anatomia di una richiesta POST
  • 13. Anatomia di una response HTTP
  • 14. Tutti i pezzi del puzzle
  • 15. Il server web ama servire pagine statiche
  • 16. Web server application
  • 17. Helper app
  • 18. Che cosa è un contenitore ?
  • 19. La servlet
    • Una servlet non ha un metodo main
    • Essa è sotto il controllo di un’altra applicazione java
    • Questa applicazione java è un container
  • 20. Come è fatta una servlet
  • 21. Organizzare un progetto
    • La servlet è salvata in src
    • La classe compilata è salvata nella cartella classes
    • Il descrittore web.xml nella cartella etc
  • 22. Organizzazione delle cartelle nel server
  • 23. Il comando di compilazione
  • 24. Web.xml
  • 25. Approfondimento Servlet
    • Il package javax.servlet.http ha la classe HttpServlet che possiamo usare per scrivere la nostra Servlet.
    • Javax è un’estensione di java
    • HttpServlet è una classe astratta (abstract)
    • Dobbiamo pertanto definire la nostra servlet che eredita (extends) HttpServlet e la personalizza per i campi che abbiamo sulla nostra form
    • Ad esempio una form con i campi firstName e lastName
    • Questa form deve ora puntare alla nostra servlet
  • 26. Struttura predefinita della servlet
    • Una servlet è una classe java con una struttura predefinita, nonché metodi ed attributi.
    • Questi sono mandati in esecuzione con una sequenza preordinata ogni qual volta c’è una request per la servlet
  • 27. Metodi della servlet
    • Due dei più importanti metodi della servlet sono:
    • doGet()
    • doPost()
    • Questi metodi sono richiamati automaticamente dalla classe genitrice HttpServlet quando c’è rispettivamente una richiesta GET/POST
    • Per elaborare un contenuto personalizzato, occorre sovrascrivere i metodi doGet() e doPosto().
  • 28. Sovrascrittura doGet
    • Per sovrascrivere il metodo doGet, dobbiamo comprendere la sua dichiarazione (signature)
    • protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
    • Ha un parametro HttpServletRequest chiamato req
    • Ha un parametro HttpServletResponse chiamatato resp
  • 29. Il parametro req
    • req rappresenta la richiesta corrente da elaborare
    • L’input immesso nella form html è trasportato fino al server dalla richiesta
    • quello che ci occorre è un metodo per ricavare dal parametro req questa informazione.
    • Questo metodo c’è !!
    • Si chiama getParameter()
  • 30. getParameter()
    • Il metodo getParameter() è dichiarato nella interface HttpServletRequest
    • Al metodo getParameter() passiamo il nome del campo di input che vogliamo ricavare
    • getParameter ci restituisce il valore che l’utente ha digitato per quella variabile
  • 31. Esempio getParameter
    • Se vogliamo ottenere il valore digitato dall’utente nel campo di <input> firstName della form html:
    • String nome=req.getParameter(“firstName”);
    • il valore restituito dal metodo getParameter() è sempre di tipo String e contiene null se il campo cercato non esiste nella request
  • 32. Il parametro resp
    • Ok abbiamo ottenuto firstName e lastName dalla request ed ora ?
    • L’azione successiva da intraprendereè creare una dinamica risponse, magari rinviando al cliente firstName e lastName.
    • A questo scopo già abbiamo un puntatore all’oggetto response: resp
    • resp è di tipo HttpServletResponse
  • 33. Il metodo getWriter()
    • La classe HttpServletResponse ha un conveniente metodo chiamato getWriter che restituisce un oggetto di tipo java.io.PrintWriter:
    • PrintWriter out=resp.getWriter;
  • 34. Un oggetto di tipo PrintWriter
    • Usiamo un oggetto di tipo PrintWriter per scrivere qualsiasi elemento HTML che vogliamo mostrare nel browser del client.
    • PrintWriter è simile a System.out.
    • In entrambi i casi si usa println() per scrivere una stringa di caratteri. Ma nel primo caso questa stringa è visualizzata sullo schermo del computer; nel caso invece del println di PrintWriter il contenuto scritto è trasmesso al cliente e visualizzato come HTML
  • 35. The End