le cycle de vie d'une page JSP (java web developement)
mercredi 10 décembre 2014
jeudi 27 novembre 2014
Design pattern Fabrique (Factory Method) en Java
Design pattern Fabrique (Factory Method):
Télécharger le projet ==> Design_pattern_fabrique.zip
Ex:
L'idée est de développer les bases d'un jeu de stratégie en temps réel (RTS pour les gamers). Dans ce type de jeu, la plupart des unités permettent de faire la guerre aux autres joueurs. Le vainqueur sera le dernier joueur disposant encore d'unités sur la carte. Généralement, les unités sont construites dans des bâtiments (usines, casernes...) grâce à des ressources (minerais, bois...) qu'il faut prélever sur la carte.
Télécharger le projet ==> Design_pattern_fabrique.zip
Ex:
L'idée est de développer les bases d'un jeu de stratégie en temps réel (RTS pour les gamers). Dans ce type de jeu, la plupart des unités permettent de faire la guerre aux autres joueurs. Le vainqueur sera le dernier joueur disposant encore d'unités sur la carte. Généralement, les unités sont construites dans des bâtiments (usines, casernes...) grâce à des ressources (minerais, bois...) qu'il faut prélever sur la carte.
Implémentation d'un début de solution avec une Simple Fabrique
Implémentation avec le design pattern Fabrique
Lien du telechargement du projet : ==> design_pattern_fabrique.zip
Design pattern Observateur en Java (exemple)
Design pattern observateur (observer en anglais):
Télécharger le projet ==> Design_pattern_observateur.zip
Ex:
Afin d’illustrer l’implémentation du pattern Observateur en Java réalisons une petite application permettant de se positionner grâce au GPS. Le principe du Global Positioning System est simple. Une personne souhaitant connaître sa position utilise un récepteur GPS. Ce récepteur reçoit des informations (position, date précise…) d’au moins quatre satellites (sur un total de 24 satellites). Grâce à la date transmise, le récepteur peut calculer la distance le séparant du satellite dont il connaît la position. Il renouvelle l’opération avec trois autres satellites et peut donc en déduire sa position dans l’espace (procédé appelé là trilatération). Si vous désirez en savoir plus sur le GPS vous pouvez consulter l’article de Wikipédia sur ce sujet.
Considérons que notre ordinateur est relié à un récepteur GPS par un réseau sans fil. On va concevoir une classe nommée Gps qui va stocker les informations du récepteur (positionnement, précision…). Puis deux autres classes (AfficheResume et AfficheComplet) permettant d’afficher de deux façons différentes ces informations. Comme dans la définition du pattern Observateur, on trouve également deux interfaces Observateur et Observable. Pour résumer la classe Gps sera observable et les classes AfficheResume et AfficheComplet seront ses observateurs. Voyons plus en détails le diagramme UML et l’implémentation de cette application.
Lien du telechargement du projet : ==> disign_pattern.zip
Télécharger le projet ==> Design_pattern_observateur.zip
Ex:
Afin d’illustrer l’implémentation du pattern Observateur en Java réalisons une petite application permettant de se positionner grâce au GPS. Le principe du Global Positioning System est simple. Une personne souhaitant connaître sa position utilise un récepteur GPS. Ce récepteur reçoit des informations (position, date précise…) d’au moins quatre satellites (sur un total de 24 satellites). Grâce à la date transmise, le récepteur peut calculer la distance le séparant du satellite dont il connaît la position. Il renouvelle l’opération avec trois autres satellites et peut donc en déduire sa position dans l’espace (procédé appelé là trilatération). Si vous désirez en savoir plus sur le GPS vous pouvez consulter l’article de Wikipédia sur ce sujet.
Considérons que notre ordinateur est relié à un récepteur GPS par un réseau sans fil. On va concevoir une classe nommée Gps qui va stocker les informations du récepteur (positionnement, précision…). Puis deux autres classes (AfficheResume et AfficheComplet) permettant d’afficher de deux façons différentes ces informations. Comme dans la définition du pattern Observateur, on trouve également deux interfaces Observateur et Observable. Pour résumer la classe Gps sera observable et les classes AfficheResume et AfficheComplet seront ses observateurs. Voyons plus en détails le diagramme UML et l’implémentation de cette application.
Implémentation d’une solution personnelle basée sur Observateur
Lien du telechargement du projet : ==> disign_pattern.zip
Design pattern Singleton en java
Télécharger le projet ==> Design_pattern_singleton.zip
Ex:
Afin de mettre en pratique le pattern Singleton en Java, prenons un court exemple d’implémentation dans le milieu bancaire. Tout d’abord nous allons concevoir une classe CompteBancaire qui permet de déposer ou retirer de l’argent sur un compte. Mais nous souhaiterions pouvoir afficher les opérations (effectuées ou refusées) dans la console en cas de litige (il serait aussi possible d’utiliser en sortie un fichier texte). Cette petite application devra rapidement évoluer et il est fort probable que par la suite d’autres classes soient concerner par cette journalisation. Pour cela, nous allons implémenter une classe distincte nommée Journalisation reprenant le pattern Singleton. Ainsi nous allons garantir que notre programme va utiliser une seule et même instance de la classe Journalisation. Une troisième classe intitulée Main permettra d’exécuter l’application et d’obtenir un résultat en console.
Implémentation de la solution basée sur Singleton:
Lien du telechargement du projet : ==> design_pattern_singleton.zip
mardi 25 novembre 2014
Projet applicatif du framework JSF & AJAX
Afin de rendre le groupe plus actif, je vous propose un petit projet en Java EE dans laquelle on va utiliser l'AJAX avec le framework JSF. Ce projet consiste a déterminer le taux de difficulté du mot de passe entrer par l'utilisateur ,ce projet ressemble a ce qui est utilisé dans nos jours dans l'inscription dans gmail par exemple et pour cela on va travailler avec netbeans car il contient déjà les JARs des framework JSF. voici la description des outils utilisées dans ce projet:
Java Enterprise Edition, ou Java EE (anciennement J2EE), est une spécification pour la technique Java de Sun plus particulièrement destinée aux applications d’entreprise. Ces applications sont considérées dans une approche multi-niveaux. Dans ce but, toute implémentation de cette spécification contient un ensemble d’extensions au framework Java standard (JSE, Java Standard Edition) afin de faciliter notamment la création d’applications réparties.
JavaServer Faces (abrégé en JSF) est un framework Java, pour le développement d'applications We.
L'architecture informatique Ajax (acronyme d'Asynchronous JavaScript and XML) permet de construire des applications Web et des sites web dynamiques interactifs sur le poste client en se servant de différentes technologies ajoutées aux navigateurs web entre 1995 et 2005.
Netbeans est un environnement de développement intégré (EDI), placé en open source par Sun en juin 2000 sous licence CDDL et GPLv2 (Common Development and Distribution License). En plus de Java, NetBeans permet également de supporter différents autres langages, comme Python, C, C++, JavaScript, XML, Ruby, PHP et HTML. Il comprend toutes les caractéristiques d'un IDE moderne (éditeur en couleur, projets multi-langage, refactoring, éditeur graphique d'interfaces et de pages Web).
Conçu en Java, NetBeans est disponible sous Windows, Linux, Solaris (sur x86 et SPARC), Mac OS X ou sous une version indépendante des systèmes d'exploitation (requérant une machine virtuelle Java). Un environnement Java Development Kit JDKest requis pour les développements en Java.
NetBeans constitue par ailleurs une plate forme qui permet le développement d'applications spécifiques (bibliothèque Swing (Java)). L'IDE NetBeans s'appuie sur cette plate forme.
Alors, on commence:
Vous pouvez télécharger le projet ==>> ProjetJSF&AJAX.rar
- créer un projet java web -> web application (donner un nom au projet créer) puis suivent
- on va utiliser GlassFish pour déployer le projet
- cocher le bouton ( Enable Contexts and Dependency Injection ) puis suivent
- il faut cocher aussi Java Server Faces puis finish
- on créer une class dans laquelle on mettre le bean (le Bean compteBean je l'ai met dans un package Beans) suivant :
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package beans;
- import javax.faces.bean.ManagedBean;
- import javax.faces.bean.RequestScoped;
- import javax.faces.event.AjaxBehaviorEvent;
- /**
- *
- * @author Software Engineer
- */
- @ManagedBean
- @RequestScoped
- public class CompteBean {
- private String password;
- private String message = "veuillez entrer votre password";
- public CompteBean() {
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public String getMessage() {
- return message;
- }
- public void setMessage(String message) {
- this.message = message;
- }
- public void passwordValide(AjaxBehaviorEvent e){
- if(!password.isEmpty()){
- if(password.length() < 3){
- message = "password faible";
- }else if(password.length() < 8){
- message = "password moyen";
- }else{
- message = "password fort";
- }
- }else{
- message = "vous devez entrer un password";
- }
- }
- }
- après avoir copier le code en passe maintenant à la partie présentation qui va contenir le code suivant:
- <?xml version='1.0' encoding='UTF-8' ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:f="http://java.sun.com/jsf/core">
- <h:head>
- <title>Facelet Title</title>
- </h:head>
- <h:body>
- <h:form>
- <h:inputSecret value="#{compteBean.password}" id="idp">
- <f:ajax execute="idp" render="idm" event="keyup" listener="#{compteBean.passwordValide}"/>
- </h:inputSecret>
- <h:outputText value="#{compteBean.message}" id="idm"/>
- </h:form>
- </h:body>
- </html>
- run projet et tester la validation du password que vous avez entrer et vous allez voir un message qui s'affiche sans changer la page ou de cliquer sur un bouton .
Quelques application et le langage par lequel elles ont été développer
1. Google – Java (Web), –C++ (indexing).
2. Facebook – PHP.
3. YouTube- Flash, Python, Java.
4. Yahoo– PHP and Java.
5. Microsoft Live.com–.NET
6. Baidu – Unknown
7. Wikipedia – PHP
8. Blogger – Java
9. MSN – .NET
10.Twitter – Ruby on Rails, Scala, Java
2. Facebook – PHP.
3. YouTube- Flash, Python, Java.
4. Yahoo– PHP and Java.
5. Microsoft Live.com–.NET
6. Baidu – Unknown
7. Wikipedia – PHP
8. Blogger – Java
9. MSN – .NET
10.Twitter – Ruby on Rails, Scala, Java
Fabrique Abstraite (Abstract Factory)
´Une fabrique est un endroit du code où sont construits des objets. Le but de ce patron de conception est d'isoler la création des objets de leur utilisation.
´On peut ainsi ajouter de nouveaux objets dérivés sans modifier le code qui utilise l'objet de base.
´Avec ce patron de conception, on peut interchanger des classes concrètes sans changer le code qui les utilise, même à l'exécution. Toutefois, ce patron de conception exige un travail supplémentaire lors du développement initial, et apporte une certaine complexité qui n'est pas forcément souhaitable.
Ce motif de conception est utilisé lorsqu'à l'exécution il est nécessaire de déterminer dynamiquement quel objet d'un ensemble de sous-classes doit être instancié.
´Une fabrique abstraite encapsule un groupe de fabriques ayant une thématique commune.
´ Le code client crée une implémentation concrète de la fabrique abstraite, puis utilise les interfaces génériques pour créer des objets concrets de la thématique.
´ Le client ne se préoccupe pas de savoir laquelle de ces fabriques a donné un objet concret, car il n'utilise que les interfaces génériques des objets produits.
´Ce patron de conception sépare les détails d'implémentation d'un ensemble d'objets de leur usage générique.
´utilisation de ce motif:
´Le système doit être indépendant de la création des objets qu'il utilise
´Le système doit être capable de créer des objets d'une même famille
´principal avantage:
´isoler la création des objets retournés par la fabrique
´ permet de facilement remplacer une fabrique par une autre selon les besoins.
Apprendre à programmer en java (partie 1)
Contenu:
Installer les outils de développement.
- Installer les outils de développement.
- Les variables et les opérations.
- Lire les entrées clavier.
Installer les outils de développement.
La différence entre ces deux environnements est que le JRE contient tout le nécessaire pour que vos programmes Java puissent être exécutés sur votre ordinateur, le JDK, en plus de contenir le JRE, contient tout le nécessaire pour développer, compiler…
par la suite on aura besoin d'un IDE, on va travailler avec Eclipse. Donc je vous invite à télécharger Eclipse sur les lien suivant:
(il suffit de décompresser le contenu du fichier zip après le téléchargement et comme ça vous aurez votre Eclipse IDE)
Lien pour: Windows 32-bit
Lien pour: Windows 64-bit
Lien pour: Mac OS X (cocao) 32-bit
Lien pour: Mac OS X (cocao) 64-bit
Lien pour: Linux 32-bit
Lien pour: Linux 64-bit
Les variables et les opérations.
Les opération en java:
Lire les entrées clavier.
package softwareengineering;
import java.util.Scanner;
par la suite on aura besoin d'un IDE, on va travailler avec Eclipse. Donc je vous invite à télécharger Eclipse sur les lien suivant:
(il suffit de décompresser le contenu du fichier zip après le téléchargement et comme ça vous aurez votre Eclipse IDE)
Lien pour: Windows 32-bit
Lien pour: Windows 64-bit
Lien pour: Mac OS X (cocao) 32-bit
Lien pour: Mac OS X (cocao) 64-bit
Lien pour: Linux 32-bit
Lien pour: Linux 64-bit
Pour bien comprendre voici un video qui vous montre comment installer JDK, démarrer Eclipse et créer un petit programme:
Les variables et les opérations.
type_de_la_variable nom_de_la_variable ;
Cette opération se termine toujours par un point-virgule " ; " . Ensuite, on l'initialise avec une valeur qui dépend du type.
En Java, il y a deux types de variables:
- des variables de type simple (primitif).
- des variables de type complexe (des objets)
Les opération en java:
Lire les entrées clavier.
Je me doute qu'il vous tardait de pouvoir communiquer avec votre application… Le moment est enfin venu ! Mais je vous préviens, la méthode que je vais vous donner présente des failles. Je vous fais confiance pour ne pas rentrer n'importe quoi n'importe quand !
Je vous ai dit que vos variables de type
String
sont en réalité des objets de type String
. Pour que Java puisse lire ce que vous tapez au clavier, vous allez devoir utiliser un objet de type Scanner
. Cet objet peut prendre différents paramètres, mais ici nous n'en utiliserons qu'un : celui qui correspond à l'entrée standard en Java. Lorsque vous faites System.out.println();
, je vous rappelle que vous appliquez la méthode println()
sur la sortie standard ; ici, nous allons utiliser l'entrée standard System.in
. Donc, avant d'indiquer à Java qu'il faut lire ce que nous allons taper au clavier, nous devrons instancier un objetScanner
.
declaration:
Scancer in = new Scanner(System.in) ;
import java.util.Scanner;
- public class Main {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- System.out.println("veuillez entrer une chaine de caracteres");
- String s = sc.nextLine();
- System.out.println(s);
- }
- }
- package softwareengineering;
- import java.util.Scanner;
- public class Main {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- System.out.println("veuillez entrer une chaine de caracteres");
- String s = sc.nextLine();
- byte b = sc.nextByte();
- int entier = sc.nextInt();
- float f = sc.nextFloat();
- //il y en a beaucoup de type qu'on peut récupérer depuis le clavier
- System.out.println(s);
- System.out.println(b);
- System.out.println(entier);
- System.out.println(f);
- }
- }
Inscription à :
Articles (Atom)