Un moyen rapide de convertir une application JSP infectée par un scriptlet en Struts?

StackOverflow https://stackoverflow.com/questions/628234

  •  06-07-2019
  •  | 
  •  

Question

Nous avons une application héritée à prendre en charge. C'est du JSP pur, c'est-à-dire que JSP ouvre des connexions, fait de la logique métier, soumet des formulaires (généralement au même JSP), etc. C’est plus de 400 pages, dont certaines atteignent 100 000 pages.

L’application devrait être étendue et modifiée au cours des prochaines années. Nous étudions donc différentes manières de scinder la présentation et la logique commerciale afin de simplifier la maintenance. Au minimum, nous aimerions le porter dans un simple framework MVC (Struts est le candidat n ° 1).

Personne n’est enthousiaste à l’idée de refactoriser chaque page manuellement. Nous avons eu une idée qui pourrait être quelque part il y a un outil qui fait au moins le refactoring partiel, par exemple. crée ActionForm en fonction des appels request.getParameter () dans JSP, déplace tout le code Java dans Action (bien que non compilable), remplace certains & "; <% if &"; avec < c: si balises, etc.

Le travail restant est toujours très ennuyeux, mais au moins il a une portée beaucoup plus petite.

Quelqu'un connaît-il un tel outil?

Était-ce utile?

La solution

Je ne pense pas que cela en vaille la peine. Vous dites que vous avez plus de 400 pages dont certaines dépassent les 100 000?

100k !!!

La meilleure approche consiste probablement à effectuer une bonne analyse de cette application Web et à la modulariser. Vous pouvez avoir des modules totalement nouveaux écrits dans d'autres frameworks et toujours être utilisés conjointement.

Pour les pages de 100 Ko, ce sont de bons candidats pour leurs propres modules.

Je ne vois vraiment aucun avantage à traduire simplement le désordre JSP dans un autre désordre du cadre. Ce qui va arriver, c’est que tout simplement, il se cassera en morceaux et que personne n’aura envie de les réparer.

La bonne partie est? Quels modules iront en premier? Quel autre ne devrait pas changer?

Je commencerais par ceux qui ont eu plus de changements au cours des derniers mois. Le fait qu'un fichier soit 100K signifie seulement que de nouvelles fonctionnalités doivent être ajoutées, mais le modèle était si mal conçu qu'au lieu de créer de nouveaux objets, du code était simplement copié / collé et placé avec un if (j'ai presque l'impression d'avoir vu votre code déjà) et le fichier grandit et grandit.

Certaines parties semblent faciles à migrer, mais le contrôle de code source indique que personne n’a touché au bout de 2 ans. laisse les tranquille.

Plus qu’un simple framework. vous devez migrer et réécrire les parties du système les plus touchées et créer des scénarios de test cette fois-ci.

De plus, vous devez créer un style de projet et le valider automatiquement avec quelque chose comme checkstyle, afin que personne ne commette de nouveaux correctifs rapides.

Éventuellement, toutes les applications ne seront pas migrées, mais les nouvelles modifications seront plus faciles à effectuer et à gérer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top