Rappel sur le contexte des applications Web d'entreprise
Concepts de base
- Serveur et client Web. Protocoles applicatifs (HTTP). Scripts CGI et gestion des sessions. Accès aux ressources de l'entreprise : SGBDR, base documentaire et XML, moniteur transactionnel, annuaire, application héritée. HTML-XML, applets Java. La plate-forme JEE. Architecture multitiers.
Développement Web en Java
Composants nécessaires à l'utilisation de Java côté serveur
- Serveur Web et plate-forme serveur. Moteur de servlet. Java Virtual Machine.
Environnement de développement et d'exploitation
- Outils de développement et de débogage : NetBeans et Eclipse. Architecture du conteneur Web Tomcat d'Apache. Déploiement des servlets et pages JSP.
Développement d'une première servlet
- Génération de contenu dynamique.
Travaux pratiques
Mise en place de l'environnement. Développement d'une servlet.
Applications Web et servlets
Développement d'une application avec des servlets
- Le conteneur de servlet. Le cycle de vie d'une servlet. Initialiser une servlet. Ecrire les méthodes de services. Gestion des formulaires HTML. Le traitement de la réponse, l'envoi d'information, la génération de HTML. Filtrage des requêtes/réponses. Programmation des filtres. La récupération d'information : du serveur Web, du client et de l'environnement. Invocation d'autres ressources Web. Inclusion et transfert du contrôle.
Gestion des erreurs et journalisation des événements
- Gestion des erreurs d'exécution. Gestion et emploi des exceptions Java. Envoi d'erreurs http. Journalisation des événements.
Suivi de session
- Les différentes méthodes. Obtention, consultation et abandon de session. Contexte de session.
Travaux pratiques
Développement d'une application à base de servlets exploitant l'environnement du conteneur Web.
Présentation des Java Server Pages
Présentation des objectifs et de l'architecture
- Objectifs. Mécanisme de fonctionnement. Exemples de pages JSP.
Technique de développement
- Les scriplets. Intégration dans la page Web. Directives, déclarations, expressions et actions JSP. Inclusion statique vs dynamique. Versions du langage, syntaxe XML.
Utilisation de JavaBeans à partir de page JSP
- Définition, création, déploiement et utilisation.
- Accès et modification à partir d'une page JSP.
Développement d'application à l'aide de JSP
- Combinaison JSP et servlets. Inclusion d'applets.
- Accès aux ressources de l'entreprise.
Travaux pratiques
Développement d'une application Web mettant en oeuvre servlets et JSP.
Les librairies de balises
Principe des librairies et extensions de balises
- Extensions de balises. Fonctionnement. Exemple.
Développement d'extension de balises
- Balises simples, avec attributs, avec corps.
- Déployer et exploiter une librairie de balises.
Présentation de JSTL (Java Standard Tag Library)
- Concevoir des JSP avec JSTL. Exemples.
- Les bibliothèques : core, XML, i18n, SQL, fonctions.
Travaux pratiques
Développement de librairies de balises. Intégration de JSTL aux applications développées.
Accès aux bases de données
Etude d'une application avec accès aux bases de données relationnelles
- Mise en place de la base et de l'interface JDBC. Connexion à la base, récupération d'information, mise à jour de données. Transaction. Pool de connexions. Les DataSources.
Correspondance BDR/Modèles objet
- Objectifs. Approches et outils Java.
- Présentation de JPA et les différentes solutions du marché (Hibernate...).
Travaux pratiques
Développement d'une application Web présentant des données d'un SGBDR.
Introduction à Struts
Utilisation d'un framework de type MVC
- Présentation. Architecture. Composants du framework. Gestion des événements. Configuration de l'application. Extension et librairies de balises.
Travaux pratiques
Adaptation de l'application au modèle MVC avec Struts.
Introduction à JSF
- Présentation. Architecture. Composants du framework. Gestion des événements. Configuration de l'application. Extension et librairies de balises.
Sécurisation de l'application
- La sécurité dans un contexte Web. Notions de users, realms, roles. Authentification et autorisation. Sécurité et programmation de servlets. Installer et configurer SSL. Certificats numériques. Java Authentication and Authorization Service. Configuration de Tomcat.
- Les nouvelles annotations de Java EE6
Travaux pratiques
Ajout de la sécurisation d'accès au site construit.