DissertationsEnLigne.com - Dissertations gratuites, mémoires, discours et notes de recherche
Recherche

Java-Servlet-Jsp

Rapports de Stage : Java-Servlet-Jsp. Rechercher de 53 000+ Dissertation Gratuites et Mémoires
Page 1 sur 10

l'API servlet pour : •Initialiser et finaliser la servlet •Accéder à l'environnement de la servlet •Recevoir ou rediriger les requêtes et envoyer les réponses •Interagir avec d'autres servlets ou composants •Maintenir les informations de sessions du client •Filtrer avant ou après traitement les requêtes et les réponses •Implémenter la sécurité sur le tiers web

Servlet & JSP

4

par Philippe Poulard JSP = Document Centric servlet ASP PHP La technologie JSP fournit un moyen simple et extensible pour générer du contenu dynamique pour le client web.

JSP

Java Server Pages

Servlet & JSP

5

Une page JSP est un document texte qui décrit comment traiter la requête d'un client et comment créer une réponse. Une page JSP contient : •Des informations de formatage (modèle) du document web, habituellement en HTML ou XML. Les concepteurs web peuvent modifier cette partie de la page sans affecter les parties dynamiques. Cette approche permet de séparer la présentation du contenu dynamique. •Des éléments JSP et de script pour générer le contenu dynamique du document Web. La plupart des pages JSP utilisent aussi des JavaBeans et/ou des Enterprise JavaBeans pour réaliser les opérations complexes de l'application. Les JSP permettent en standard d'instancier des beans, de modifier ou lire leurs attributs et de télécharger des applets. La technologie JSP est extensible en utilisant des balises personnalisées qui peuvent être encapsulées dans des bibliothèques de balises personnalisées (taglibs)

par Philippe Poulard

Exemple JSP

Le résultat d'une page peut être : •HTML •XML •SVG •WML •…

Localized Dates Locale:

Servlet & JSP

6

Le résultat est une page HTML dynamique

par Philippe Poulard

Le conteneur Web

Les composants web sont hébergés dans des conteneurs de servlets, conteneurs de JSP et conteneurs web. En sus des fonctionnalités normales d'un conteneur de composants, un conteneur de servlets (servlets container) fournit les services réseaux par lesquels les requêtes et réponses sont émises.

Servlet & JSP

Il décode également les requêtes et formate les réponses dans le format approprié. Tous les conteneurs de servlets doivent supporter le protocole HTTP et peuvent aussi supporter le protocole HTTPS. Un conteneur de JSP (JSP container) fournit les mêmes services qu'un conteneur de servlets. Ces conteneurs sont généralement appelés conteneurs web (Web containers). container Web requête HTTP servlet service création d'un Thread pour chaque requête

7

par Philippe Poulard

Technos Web

(pas de "bricolage") La technologie J2EE offre une approche beaucoup plus formelle pour le traitement des applications Web que les technologies alternatives apparentées (ASP, PHP, CGI, ISAPI, NSAPI…) CGI Un processus par requête est lancée sur le serveur Servlets •Résidentes •pas de temps de lancement •Multithreads •Gestion de cache •Connexions persistantes (BD) •Plus efficaces •Plus pratiques •Plus puissantes •Portables •Gratuites On peut faire des choses impossibles à réaliser avec des scripts CGI C'est du Java !

…ça rame

Servlet & JSP

8

•gratuit •implémenté sur tous les serveurs Web •supporte tous les langages (les utilisateurs l'utilisent surtout avec PERL) •assez lent •parfois difficile à développer Manque d'évolutivité (plusieurs processus créés, serveur très sollicité) Contournement : •FastCGI : instance partagée des programmes CGI •mod_perl (Apache) : script CGI interprété et exécuté dans le serveur Web

par Philippe Poulard

Avantages de Java côté serveur

Servlet & JSP

Servlets plus pratiques : C'est du Java ! API pour gérer : •les cookies •le suivi de session •le protocole HTTP (headers HTTP)

Portabilité de Java Supportées sur tous les serveurs : •Apache •Microsoft IIS •WebStar…

Plus facile à utiliser que CGI/PERL

Partage de données entre servlets Chaînage de servlets Gestion de sessions

9

Inconvénient : Comme toutes les technos Web, l'interface graphique utilisateur est limitée à HTML

par Philippe Poulard

Requêtes HTTP Contenu d'une requête HTTP

•infos d’en-tête •URL de la ressource •données de formatage Requête GET : •pour extraire des informations sur le serveur •intègre les données de formatage à l ’URL

http://www.inria.fr/hello?param1=value1&…

Servlet & JSP

Requête POST : •pour modifier les données sur le serveur •données de la page assemblées/envoyées vers le serveur

Traitement d'une requête par le serveur

Avec la requête HTTP, le serveur Web : •identifie l’environnement d ’exploitation à charger (mapping) •en fonction de l ’extension du fichier (.jsp , .cgi , .php...) •ou du répertoire où il se trouve ( cgi-bin/, servlet/) •charge l’environnement d ’exécution (run-time) •interpréteur Perl pour les programmes CGI en Perl •JVM pour les servlets Java •…

10

par Philippe Poulard

Utilisation d'une servlet

Une servlet doit implémenter l’interface javax.servlet.Servlet •soit directement, •soit en dérivant d’une classe qui implémente déjà cette interface (comme GenericServlet ou HttpServlet ) L'interface javax.servlet.Servlet possède les méthodes pour : •initialiser la servlet : init() •recevoir et répondre aux requêtes des clients : service() •détruire la servlet et ses ressources : destroy()

import javax.servlet.*; public class MyServlet implements Servlet { public void init(ServletConfig config) throws ServletException { // phase d'initialisation } public void service( ServletRequest req, ServletResponse rep) throws ServletException, IOException { // phase de traitement des requêtes } public void destroy() { // phase d'arrêt }

Servlet & JSP

11

}

par Philippe Poulard

Cycle de vie

moteur de servlet

démarrage du serveur

crée un pool de Thread instancie la servlet initialise la servlet

Thread

Thread Servlet init()

Servlet & JSP

requête HTTP 1 requête HTTP 2 réponse HTTP 1 réponse HTTP 2

arrêt du serveur

affecter à un Thread affecter à un Thread service() service()

terminer le pool de Thread détruire la servlet destroy()

12

par Philippe Poulard

Utilisation d'une servlet Web

Une servlet Web étend la classe javax.servlet.http.HttpServlet (elle implémente javax.servlet.Servlet) Plusieurs méthodes spécifiques au protocole HTTP remplacent la méthode service(), qui appelle la méthode correspondant au type de requête : Méthode Type de requête HTTP GET POST PUT DELETE HEAD OPTIONS TRACE

import javax.servlet.*; import javax.servlet.http.*; public class SimpleServlet extends HttpServlet {

Servlet & JSP

doGet() doPost() doPut() doDelete() doHead() doOptions() doTrace()

public void init(ServletConfig c) throws ServletException { // phase d'initialisation } public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { // phase de traitement des requêtes HTTP GET } public void destroy() { // phase d'arrêt } public String

...

Télécharger au format  txt (18.7 Kb)   pdf (163.1 Kb)   docx (15.5 Kb)  
Voir 9 pages de plus »
Uniquement disponible sur DissertationsEnLigne.com