MVC web personnalisé pour un projet Java EE hérité


Je suis en train de créer mon propre framework Web MVC personnalisé pour un projet. Ce projet a une base de code très ancienne où une page JSP soumet directement un formulaire à un autre JSP alors que les chemins sont également codés en dur. Maintenant, c'est un grand projet et mettre des entretoises ou JSF prendra beaucoup de temps. Ma suggestion est donc de construire un petit framework MVC personnalisé et d'y convertir de nombreux flux de pages existants et de les encourager à développer de nouvelles applications en utilisant ce nouveau MVC Framework.

Je voudrais examiner cela avec vous tous si cela a du sens ou si nous devrions directement aller aux frameworks MVC standard.

Mon idée

1. Create one front controller servlet which will have URL pattern like /*.sm
2. This servlet reads one config file and creates a map whose key is requestedURI and value is the class name of the command bean.
3. upon intercepting any action request it reads the parameter map (request.getParameterMap()). This servlet refers the already built map, understand whose command bean is to be invoked? Creates an instance of this command bean.
4. pass the parameter map to this command bean and calls execute method.
5. if any exception is found, front controller servlet forwards the request to one global error page
6. if everything is fine, it then forwards the request to the expected URI (by removong .sm and replace it with .jsp)

Pensez-vous que je manque quelque chose ici? Je sais que je peux le rendre plus chic en fournissant une page d'erreur par page de demande dans le fichier de configuration, mais ceux-ci peuvent également être faits plus tard.

Author: Arjan Tijms, 2010-01-20

1 answers

Je pense que vous finirez par réinventer la roue en roulant votre propre framework MVC. Je sais qu'il est tentant de créer le vôtre, car vous n'aurez pas à vous habituer à une nouvelle API mais à créer la vôtre et vous pourrez plus facilement l'adapter à vos cas d'utilisation spécifiques. Mais comme il semble être une application très longue durée, vous devrez considérer le fait, que votre propre cadre (qui peut maintenant être l'état de l'art) sera héritage dans quelques années, aussi.

Et c'est là l'adaptation de l'un des cadres populaires est utile. Les créateurs d'un nouveau framework veulent généralement que les autres se déplacent également, de sorte qu'ils offriront (ou devraient) des options d'intégration ou de migration faciles loin des frameworks qu'ils pensent faire mieux (Spring est un bon exemple car il s'intègre de manière transparente avec les applications Struts existantes et vous pouvez progressivement déplacer votre application sans mettre De plus, la plupart des frameworks actuels sont très polyvalents (ce qui peut parfois être un problème car ils ont besoin de plus de temps pour y entrer) et peuvent être adaptés à presque tous les cas d'utilisation.

Je recommanderais donc de revoir attentivement les solutions existantes (vous pouvez également apprendre beaucoup de leurs décisions et erreurs de conception) et de ne commencer à créer les vôtres que si aucune d'entre elles ne correspond à vos besoins.

 2
Author: Daff, 2010-01-20 17:50:42