Bonjour,
Je souhaiterais développer en java j2ee une application de type mvc2 mais sans de framework. Auriez-vous des exemples d'application qui utilise ce type de modèle car j'en trouve pas sur internet
Merci
Bonjour,
Je souhaiterais développer en java j2ee une application de type mvc2 mais sans de framework. Auriez-vous des exemples d'application qui utilise ce type de modèle car j'en trouve pas sur internet
Merci
Ce n'est pas clair... peux-tu préciser ta demande ?
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
A mon avis il s'agit juste d'une application MVC avec pour contrôleur une Servlet qui redirige les données vers une JSP. Le terme MVC2 a été inventé par Sun, très certainement pour faire la distinction entre le développement Servlet/JSP versus full-JSP comme on pourrait le faire en PHP sans framework.
N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java
Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI
J'ai entendu dire que en MVC2 on avait plusieurs JPS mais une seule Servlet qui gère toutes les JSP avec 2 méthode : service et init et j'aurait donc voulu un exemple d'application qui gère cela en java j2ee sans framework
Alors, la différence entre MVC et MVC2 réside dans le fait qu'avec MVC2, on n'a plus qu'un seul contrôleur (qui route les demandes généralement vers la classe adéquate). Avec MVC, on a n contrôleurs... pour le reste, c'est le même patron de conception.
Donc, pour ton besoin, je dirais que c'est à toi d'inventer un routage si tu ne veux pas utiliser un framework existant.
Tu devras donc implémenter une servlet (ou un filtre) qui, en fonction de paramètres de request, saura appeler telle ou telle classe, ou telle ou telle servlet pour exécuter l'action voulue et renvoyer le résultat désiré.
En fait, je ne vois pas trop l'intérêt si ce n'est pas avec un framework "tout fait"... quel est le besoin sous-jacent ?
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
J'avais fait un système MVC2 il y a un bon moment (2005), ça ressemblait à ceci.
- web.xml
- la servlet de routage
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <?xml version="1.0" encoding="ISO-8859-1"?> <web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>OBIA</display-name> <servlet> <servlet-name>Rooter</servlet-name> <servlet-class>obia.kernel.ServletRooter</servlet-class> </servlet> <servlet-mapping> <servlet-name>Rooter</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> <session-config> <session-timeout>1</session-timeout> </session-config> </web-app>
- la page d'appel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 <?xml version="1.0" encoding="ISO-8859-1"?>package obia.kernel; import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; /** * Servlet rooter depending on URI attribute * * @@author Olivier BUTTERLIN */ public class ServletRooter extends HttpServlet { private static final long serialVersionUID = 1L; private static final Logger logger = Logger.getLogger(ServletRooter.class); private static Map<String, HttpServlet> pool = new HashMap<String, HttpServlet>(); public void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { try { // Extract target class name String url = request.getRequestURI(); int p = url.indexOf("/servlet/"); if (p != -1) { url = url.substring(p + 9); } if (url.indexOf("?") != -1) { url = url.substring(0, p); } // Try to get existing class or create one at first time HttpServlet servlet = pool.get(url); if (servlet == null) { servlet = (HttpServlet) Class.forName(url).newInstance(); pool.put(url, servlet); } // Pass control to target servlet servlet.service(request, response); } catch (Throwable t) { logger.error(t.getMessage()); throw new ServletException(t); } } }
- Ensuite tu as la cible qui n'est rien d'autre qu'une servlet dans mon cas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ... <FORM name="FORM1" method="POST" action="<%=request.getContextPath()%>/servlet/obia.service.equipment.EquipmentLoanManagement"> ... </FORM> /servlet sert pour l'URL-PATTERN de la servlet de routage obia.service.equipment.EquipmentLoanManagement est le nom de la classe cible que le "rooter" va appeler
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager