- L'objectif majeur de Java EE est de faciliter le d�veloppement d'applications web
robustes et distribu�es, d�ploy�es et ex�cut�es sur un serveur d'applications.
* les sites internet statiques : ce sont des sites dont le contenu est � fixe �, il
n'est modifiable que par le propri�taire du site. Ils sont r�alis�s � l'aide des
technologies HTML, CSS et Javascript uniquement.
* les sites internet dynamiques : ce sont des sites dont le contenu est � dynamique
�, parce que le propri�taire n'est plus le seul � pouvoir le faire changer ! En
plus des langages pr�c�demment cit�s,
ils font intervenir d'autres technologies : Java EE est l'une d'entre elles !
* Un serveur d'applications est constitu� d'un serveur HTTP et d'un conteneur web.
* Le mod�le de conception MVC impose une r�partition stricte des t�ches au sein
d'une application :
- la couche Mod�le se charge des traitements � effectuer sur les donn�es et de leur
stockage ;-
- la couche Vue se charge de la pr�sentation des donn�es pour l'utilisateur et de
l'interaction ;
- la couche Contr�le se charge d'aiguiller les requ�tes entrantes vers les
traitements et vues correspondants.
* Un framework est une bo�te � outils mise � disposition du d�veloppeur pour lui
all�ger certaines t�ches.
* Dans une application Java EE sans frameworks :
- la couche Mod�le est constitu�e d'objets Java ;
- la couche Vue est constitu�e de pages JSP ;
- la couche Contr�le est constitu�e de servlets.
* Un IDE permet de simplifier le d�veloppement d'un projet dans son ensemble.
* Un bean :
- doit �tre une classe publique ;
- doit avoir au moins un constructeur par d�faut, public et sans param�tres. Java
l'ajoutera de lui-m�me si aucun constructeur n'est explicit� ;
- peut impl�menter l'interface Serializable, il devient ainsi persistant et son
�tat peut �tre sauvegard� ;
- ne doit pas avoir de champs publics ;
- peut d�finir des propri�t�s (des champs non publics), qui doivent �tre
accessibles via des m�thodes publiques getter et setter, suivant des r�gles de
nommage.
- Il faut configurer le build-path d'un projet web sous Eclipse pour qu'il y d�pose
automatiquement les classes compil�es depuis les codes sources Java de vos objets.
- Un bean peut par exemple �tre transmis d'une servlet vers une page JSP (ou une
autre servlet) en tant qu'attribut de requ�te.
* Tomcat n'est pas un serveur d'applications Java EE au sens complet du terme.
* La configuration du serveur passe principalement par deux fichiers : [Link]
et [Link].
* Une application web Java EE doit respecter une architecture bien d�finie.
* Doctrine :
- Un mapping objet-relationnel (en anglais object-relational mapping ou ORM) est un
type de programme informatique qui se place en interface entre un programme
applicatif
et une base de donn�es relationnelle pour simuler une base de donn�es orient�e
objet.
-L'utilisation de la programmation orient�e objet avec une base de donn�es
relationnelle n�cessite de convertir les donn�es relationnelles en objets et vice-
versa.
Ceci conduit � programmer cette conversion pour chaque objet et donc � dupliquer
�norm�ment de code similaire.
* Eclipse modifie l'architecture des applications pour les int�grer correctement �
son syst�me.
- Les Servlet sont des composants techniques permettant de mat�rialiser une requ�te
et une r�ponse.
-- une servlet est une classe Java qui permet de cr�er dynamiquement des donn�es
au sein d'un serveur HTTP.
Ces donn�es sont le plus g�n�ralement pr�sent�es au format HTML, mais elles
peuvent �galement l'�tre au format XML
ou tout autre format destin� aux navigateurs web. Les servlets utilisent l'API
Java Servlet (package [Link]).
- Une servlet est en r�alit� une simple classe Java, qui a la particularit� de
permettre le traitement de requ�tes et la personnalisation de r�ponses.
est 'une classe capable de recevoir une requ�te HTTP envoy�e depuis le
navigateur de l'utilisateur, et de lui renvoyer une r�ponse HTTP.
- si les requ�tes �taient des v�hicules, les servlets seraient charg�es de faire la
circulation.
* Le client envoie des requ�tes au serveur gr�ce aux m�thodes du protocole HTTP,
notamment GET, POST et HEAD.
* Le conteneur web place chaque requ�te re�ue dans un objet HttpServletRequest, et
place chaque r�ponse qu'il initialise dans l'objet HttpServletResponse.
* Le conteneur transmet chaque couple requ�te/r�ponse � une servlet : c'est un
objet Java assign� � une requ�te et capable de g�n�rer une r�ponse en cons�quence.
* La servlet est donc le point d'entr�e d'une application web, et se d�clare dans
son fichier de configuration [Link].
* Une servlet peut se charger de r�pondre � une requ�te en particulier, ou � un
groupe entier de requ�tes.
* Pour pouvoir traiter une requ�te HTTP de type GET, une servlet doit impl�menter
la m�thode doGet() ; pour r�pondre � une requ�te de type POST, la m�thode
doPost() ; etc.
* Une servlet n'est pas charg�e de l'affichage des donn�es, elle ne doit donc pas
s'occuper de la pr�sentation (HTML, CSS, etc.).
*Souvenez-vous : la servlet est le point d'entr�e de votre application !
JSP :
-Les pages JSP sont une des technologies de la plate-forme Java EE les plus
puissantes, simples � utiliser et � mettre en place.
Elles se pr�sentent sous la forme d'un simple fichier au format texte, contenant
des balises respectant une syntaxe � part enti�re.
Le langage JSP combine � la fois les technologies HTML, XML, servlet et JavaBeans
en une seule solution permettant aux d�veloppeurs de cr�er des vues dynamiques.
- en Java EE : la technologie utilis�e pour r�aliser une vue est la page JSP.
-contrairement � une page HTML statique directement renvoy�e au client, une page
JSP Dynamique est ex�cut�e c�t� serveur, et g�n�re alors une page renvoy�e au
client.
- On peut r�sumer la technologie JSP en une technologie offrant les capacit�s
dynamiques des servlets tout en permettant une approche naturelle pour la cr�ation
de contenus statiques.
- il est possible de mettre en place des balises qui n'existent pas dans le langage
JSP, afin d'augmenter les fonctionnalit�s accessibles.
- quand une JSP est demand�e pour la premi�re fois, ou quand l'application web
d�marre, le conteneur de servlets va v�rifier, traduire puis compiler la page JSP
en une classe h�ritant de HttpServlet.
- les JSP permettent au d�veloppeur de faire du Java sans avoir � �crire de code
Java .
- Le r�pertoire /WEB-INF cache les fichiers qu'il contient � l'ext�rieur de
l'application.
-La m�thode forward() de l'objet RequestDispatcher permet depuis une servlet de
rediriger la paire requ�te/r�ponse HTTP vers une autre servlet ou vers une page
JSP.
* GET ET POST DIFFERENCE :
-Dans le cas d�une requ�te GET, seule une quantit� limit�e de donn�es peut �tre
envoy�e car les donn�es sont envoy�es dans l�en-t�te.
-En cas de requ�te POST, une grande quantit� de donn�es peut �tre envoy�e car les
donn�es sont envoy�es dans le corps.
-La requ�te GET n�est pas s�curis�e car les donn�es sont expos�es dans la barre
d�URL.
-La requ�te POST est s�curis�e car les donn�es ne sont pas expos�es dans la barre
d�URL.
-La requ�te GET est plus efficace et utilis� plus que POST.
-La requ�te POST est moins efficace et utilis�e moins que GET.
-La m�thode GET ne doit pas �tre utilis�e lors de l�envoi de mots de passe ou
d�autres informations sensibles.
-M�thode POST utilis�e lors de l�envoi de mots de passe ou d�autres informations
sensibles.
-Un param�tre de requ�te est une cha�ne de caract�res plac�e par le client � la fin
de l'URL de la requ�te HTTP. sont utilis�s pour permettre � un client de
transmettre des donn�es au serveur.
- Un attribut de requ�te est un objet stock� dans l'objet HttpServletRequest, et
peut contenir n'importe quel type de donn�es. ,ils sont utilis�s pour permettre �
une servlet de communiquer avec d'autres servlets ou pages JSP.
- Les API Web utilisent en g�n�ral le protocole HTTP pour leurs messages de requ�te
et fournissent une d�finition de la structure des messages de r�ponse. Les messages
de r�ponse se pr�sentent la plupart du temps sous la forme d'un fichier XML ou
JSON.
Ces deux formats sont les plus courants, car les donn�es qu'ils contiennent sont
faciles � manipuler pour les autres applications.
- HttpServletRequest req : la requ�te HTTP re�ue par votre serveur (par exemple le
message GET de la premi�re partie).
- HttpServletResponse resp : un objet permettant d'envoyer la r�ponse.
- Qui va se charger de cr�er un objet HelloWorldServlet , puis d'alimenter rep
et resp avec les bonnes valeurs ? Vous, dans le main ? S�rement pas ! Il vous
faudrait recoder toute la gestion de HTTP !
- C'est un serveur d'application web Java qui va s'en occuper, plus exactement un
conteneur de Servlet : c'est un programme qui va se charger de r�cup�rer les
messages HTTP.
En fonction du contenu du message, le serveur utilisera la bonne Servlet.
- Il existe de nombreux conteneurs :
- Apache Tomcat
- Eclipse Jetty
- WildFly
- etc.
- Une session est un objet associ� � un utilisateur en particulier. Elle existe
pour la dur�e pendant laquelle un visiteur va utiliser l'application, cette dur�e
se terminant lorsque l'utilisateur ferme son navigateur
-L'insertion directe de code Java dans une JSP est possible mais tr�s d�conseill�e.
- les expressions EL permettent via une syntaxe tr�s �pur�e d'effectuer des tests
basiques sur des expressions, et de manipuler simplement des objets et attributs
dans une page,
et cela sans n�cessiter l'utilisation de code ni de script Java !
- Un objet implicite n'est pas g�r� par le d�veloppeur, mais par le conteneur de
servlets.
- Chaque objet implicite JSP donne acc�s � un objet mis � disposition par le
conteneur.
- Chaque objet implicite EL est un raccourci vers des donn�es de l'application.
- Les expressions EL remplacent �l�gamment scriptlets et actions standard.
- La technologie EL ne r�pond malheureusement pas � tous nos besoins.
- La documentation est indispensable, � condition qu'elle soit � jour.
-La m�thode trim() permet de retirer les blancs en d�but et fin de cha�ne. Les
blancs consid�r�s sont les caract�res d'espacement (espace, tabulation, espace
ins�cable, etc.) ainsi que les caract�res de fin de ligne (LF, CR, etc.).