diff --git a/demoCoursAL/.classpath b/demoCoursAL/.classpath
index fd14ee7..aedb26b 100644
--- a/demoCoursAL/.classpath
+++ b/demoCoursAL/.classpath
@@ -4,5 +4,7 @@
+
+
diff --git a/demoCoursAL/build.xml b/demoCoursAL/build.xml
index ecb4913..9eb997c 100755
--- a/demoCoursAL/build.xml
+++ b/demoCoursAL/build.xml
@@ -23,6 +23,9 @@
+
+
+
@@ -37,6 +40,7 @@
+
@@ -72,17 +76,23 @@
-
-
-
+
+
+
+
+
+
+
-
+
+
diff --git a/demoCoursAL/src/application.xml b/demoCoursAL/src/application.xml
index 7ea0e58..1bbcecd 100755
--- a/demoCoursAL/src/application.xml
+++ b/demoCoursAL/src/application.xml
@@ -11,5 +11,11 @@ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns
appliBanqueEntites.jar
+
+
+ appliBanque.war
+ appBanque
+
+
diff --git a/demoCoursAL/src/client/Main.java b/demoCoursAL/src/client/Main.java
index 5551909..92c35d7 100644
--- a/demoCoursAL/src/client/Main.java
+++ b/demoCoursAL/src/client/Main.java
@@ -14,9 +14,10 @@ public class Main {
try {
InitialContext ctx = new InitialContext();
System.out.println("Accès au service distant") ;
- Object obj = ctx.lookup("ejb:appliBanque/appliBanqueSessions//ServiceBanqueBean!ejb.sessions.ServiceBanque");
+ Object obj = ctx.lookup("ejb:appliBanque/appliBanqueSessions//ServiceBanqueBean"+
+ "!ejb.sessions.ServiceBanqueRemote");
- ServiceBanque service = (ServiceBanque) obj ;
+ ServiceBanqueRemote service = (ServiceBanqueRemote) obj ;
service.addCompte(1, "Olivier", 2000.0);
service.addCompte(2, "Paul", 300.0) ;
service.addAction("nintendo",46.5) ;
diff --git a/demoCoursAL/src/ejb/sessions/ServiceBanque.java b/demoCoursAL/src/ejb/sessions/ServiceBanque.java
index 4840c25..9df41e2 100644
--- a/demoCoursAL/src/ejb/sessions/ServiceBanque.java
+++ b/demoCoursAL/src/ejb/sessions/ServiceBanque.java
@@ -1,11 +1,12 @@
package ejb.sessions;
import ejb.entites.LigneAction ;
+import ejb.entites.Compte ;
-@javax.ejb.Remote
public interface ServiceBanque {
public void addCompte(int numeroCompte, String nomTitulaire, double soldeDepart)
throws CompteDejaExistantException ;
+ public Compte getCompte(int numeroCompte) throws CompteInconnuException ;
public void addAction(String nomAction, double taux)
throws ActionDejaExistanteException ;
public void crediterCompte(int numeroCompte, double montant)
diff --git a/demoCoursAL/src/ejb/sessions/ServiceBanqueBean.java b/demoCoursAL/src/ejb/sessions/ServiceBanqueBean.java
index 3f0c21d..c4ec256 100644
--- a/demoCoursAL/src/ejb/sessions/ServiceBanqueBean.java
+++ b/demoCoursAL/src/ejb/sessions/ServiceBanqueBean.java
@@ -1,5 +1,6 @@
package ejb.sessions;
+import java.util.Collection;
import java.util.Set;
import javax.persistence.EntityManager;
@@ -10,7 +11,8 @@ import ejb.entites.Compte;
import ejb.entites.LigneAction;
@javax.ejb.Stateless
-public class ServiceBanqueBean implements ServiceBanque {
+public class ServiceBanqueBean
+ implements ServiceBanqueLocal, ServiceBanqueRemote {
@PersistenceContext(unitName="appliBanque") protected EntityManager em ;
@Override
public void addCompte(int numeroCompte, String nomTitulaire, double soldeDepart)
@@ -119,7 +121,7 @@ public class ServiceBanqueBean implements ServiceBanque {
return c.getLignesactions() ;
}
- private Compte getCompte(int numeroCompte) throws CompteInconnuException {
+ @Override public Compte getCompte(int numeroCompte) throws CompteInconnuException {
Compte c= (Compte) em.find(Compte.class, numeroCompte) ;
if (c==null) throw new CompteInconnuException() ;
return c;
diff --git a/demoCoursAL/src/ejb/sessions/ServiceBanqueLocal.java b/demoCoursAL/src/ejb/sessions/ServiceBanqueLocal.java
new file mode 100644
index 0000000..8440f7d
--- /dev/null
+++ b/demoCoursAL/src/ejb/sessions/ServiceBanqueLocal.java
@@ -0,0 +1,6 @@
+package ejb.sessions;
+
+
+@javax.ejb.Local public interface ServiceBanqueLocal extends ServiceBanque {
+
+}
diff --git a/demoCoursAL/src/ejb/sessions/ServiceBanqueRemote.java b/demoCoursAL/src/ejb/sessions/ServiceBanqueRemote.java
new file mode 100644
index 0000000..c03eedd
--- /dev/null
+++ b/demoCoursAL/src/ejb/sessions/ServiceBanqueRemote.java
@@ -0,0 +1,6 @@
+package ejb.sessions;
+
+@javax.ejb.Remote
+public interface ServiceBanqueRemote extends ServiceBanque {
+
+}
diff --git a/demoCoursAL/src/web/controleurs/BadServlet.java b/demoCoursAL/src/web/controleurs/BadServlet.java
new file mode 100644
index 0000000..68508e6
--- /dev/null
+++ b/demoCoursAL/src/web/controleurs/BadServlet.java
@@ -0,0 +1,46 @@
+package web.controleurs;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import javax.ejb.EJB;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import ejb.entites.Compte;
+import ejb.sessions.CompteInconnuException;
+import ejb.sessions.ServiceBanqueLocal;
+
+@WebServlet(value={"badDisplayCompte"})
+public class BadServlet extends HttpServlet {
+ @EJB ServiceBanqueLocal service ;
+
+ public BadServlet() {}
+
+ public void doGet(HttpServletRequest req,HttpServletResponse res)
+ throws ServletException, IOException {
+ int numeroCompte=
+ Integer.parseInt(req.getParameter("numeroCompte")) ;
+ Compte c=null ;
+ try {
+ c=service.getCompte(numeroCompte) ;
+ } catch (CompteInconnuException e) {
+ }
+ res.setContentType("text/html");
+ PrintWriter out = res.getWriter();
+ out.println("demo servlet"+
+ "");
+ out.println("");
+ if (c==null)
+ out.println("Compte "+numeroCompte+" inconnu
") ;
+ else {
+ out.println("Compte "+numeroCompte+"
") ;
+ out.println("- Titulaire:"+c.getTitulaire()+"
");
+ out.println("- Solde:"+c.getSolde()+"
");
+ }
+ out.println("");
+ }
+}
diff --git a/demoCoursAL/src/web/controleurs/Controleur.java b/demoCoursAL/src/web/controleurs/Controleur.java
new file mode 100644
index 0000000..0c34abf
--- /dev/null
+++ b/demoCoursAL/src/web/controleurs/Controleur.java
@@ -0,0 +1,47 @@
+package web.controleurs;
+
+import java.io.IOException;
+
+import ejb.sessions.* ;
+import ejb.entites.* ;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+
+@WebServlet(value={"rechCompte","afficherCompte"})
+public class Controleur extends HttpServlet {
+ private static final long serialVersionUID = 1L;
+
+ @javax.ejb.EJB private ServiceBanqueLocal service ;
+
+ public Controleur() {}
+
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ String url = request.getRequestURL().toString();
+ String maVue ="/rechCompte.html"; // vue par défaut
+ if (url.endsWith("/rechCompte")) {
+ maVue ="/rechCompte.html"; // rien d'autre à faire
+ } else if (url.endsWith("/afficherCompte")) {
+ maVue = "/afficherCompte.jsp";
+ int numeroCompte=Integer.parseInt(request.getParameter("numeroCompte")) ;
+ Compte compte ;
+ try {
+ compte= service.getCompte(numeroCompte);
+ java.util.Collection l_la = service.getActionsAchetees(numeroCompte);
+ request.setAttribute("listeLA", l_la);
+ } catch (CompteInconnuException e) {
+ compte=null ;
+ }
+ request.setAttribute("compte",compte) ;
+
+ }
+ RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(maVue);
+ dispatcher.forward(request,response);
+ }
+}
diff --git a/demoCoursAL/src/web/vues/afficherCompte.jsp b/demoCoursAL/src/web/vues/afficherCompte.jsp
new file mode 100644
index 0000000..ff15867
--- /dev/null
+++ b/demoCoursAL/src/web/vues/afficherCompte.jsp
@@ -0,0 +1,32 @@
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+
+
+
+ Application banque
+
+
+
+
+
+Information compte:
+
+ Compte n° ${requestScope.compte.numero}
+ Titulaire : ${requestScope.compte.titulaire}
+ Solde ${requestScope.compte.solde}
+
+
+
+ - ${la.nombre} action(s) ${la.action.nom}
+ au taux de ${la.action.taux}
+
+
+
+
+
+
+ Compte Inconnu
+
+
+
+
\ No newline at end of file
diff --git a/demoCoursAL/src/web/vues/badDisplayCompte2.jsp b/demoCoursAL/src/web/vues/badDisplayCompte2.jsp
new file mode 100644
index 0000000..8c1090e
--- /dev/null
+++ b/demoCoursAL/src/web/vues/badDisplayCompte2.jsp
@@ -0,0 +1,37 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8"
+ pageEncoding="UTF-8"%>
+
+
+
+
+demo JSP
+
+
+<%@ page import="javax.ejb.*" %>
+<%@ page import="javax.naming.*" %>
+<%@ page import="ejb.sessions.ServiceBanqueLocal" %>
+<%@ page import="ejb.entites.Compte" %>
+<%@ page import="ejb.sessions.CompteInconnuException" %>
+<%!
+ Compte c ;
+ int numeroCompte ;
+%>
+
+<%
+ numeroCompte=Integer.parseInt(request.getParameter("numeroCompte")) ;
+ Compte c=null ;
+ InitialContext ic = new InitialContext();
+ Object obj = ic.lookup("java:app/appliBanqueSessions/ServiceBanqueBean!ejb.sessions.ServiceBanqueLocal");
+ ServiceBanqueLocal service= (ServiceBanqueLocal) obj ;
+ try {
+ c=service.getCompte(numeroCompte) ;
+%>
+ Compte <%= numeroCompte%>
+ - Titulaire:<%= c.getTitulaire() %>
+ - Solde:<%= c.getSolde() %>
+
+<% } catch (CompteInconnuException e) { %>
+ Compte <%= numeroCompte %> inconnu
;
+<% } // fin du try catch %>
+
+
\ No newline at end of file
diff --git a/demoCoursAL/src/web/vues/rechCompte.html b/demoCoursAL/src/web/vues/rechCompte.html
new file mode 100644
index 0000000..508bec8
--- /dev/null
+++ b/demoCoursAL/src/web/vues/rechCompte.html
@@ -0,0 +1,18 @@
+
+
+
+ Application Banque
+
+
+
+
+
+ Rechercher un compte
+
+
+
--
libgit2 0.21.2