[JAVA] Nachteile bei der Auswahl von Struts1

Nun, diese Information ist wirklich das, aber im Jahr 2019 ist Struts1 bei einigen alten Männern immer noch beliebt? Weil es so aussieht ... Das ist Sicherheit, aber aus anderen Perspektiven.

ActionForm, Routing usw.

Charakteristisch

Einstellungen wie Routing per XML Es packt Anforderungsparameter in ein Objekt namens ActionForm Wenn der Bereich auf Sitzung festgelegt ist, wird die ActionForm mit den Anforderungsparametern unverändert in die Sitzung gepackt. Wenn der Anforderungsparameter leer ist, werden die Daten aus der Sitzung abgerufen. Die Serverseite weiß nicht, ob es sich um GET oder POST handelt. Behandeln Sie es auf jeden Fall genauso.

Fehler

Das Schreiben von XML (auch XML-Hölle genannt) braucht Zeit. Wenn Sie versuchen, zu einer anderen Aktion zu springen (Struts1s eigene Klasse, die HttpServlet erbt), fühlt es sich wie Spaghetti an. ActionForm ist kein POJO. Dies hängt davon ab, wie der Benutzer es verwendet. Es ist jedoch möglich, ActionForm auf scope = session zu setzen, alle in JSP verwendeten Variablen in ActionForm zu packen und Dinge, die keine Sitzungen sein müssen, in die Sitzung zu packen. Globalisierung von Variablen! Da Action eng mit HttpServlet verbunden ist, ist es schwierig, mit JUnit zu testen. Aus Sicherheitsgründen (wie CSRF) sollten GET und POST unterschieden werden. In Bezug auf das Design ist es besser, GET und POST in das Design einzubeziehen. Wenn es sich beispielsweise um eine Referenz, aber POST handelt, können Sie die Seite nicht aufrufen, selbst wenn Sie auf die URL klicken, was sich auf die Benutzerfreundlichkeit auswirkt.

Benutzerdefiniertes JSP-Tag

Charakteristisch

Es scheint eine Idee zu sein, die HTML-Tags und das Front-End nicht kennt. Ist es möglich, wie ein Java-Objekt zu arbeiten? ..

Fehler

Erstens können benutzerdefinierten JSP-Tags keine beliebigen Attribute zugewiesen werden, sodass benutzerdefinierte HTML5-Datenattribute nicht geschrieben werden können. Der Nachteil ist, dass das HTML-Tag nach dem Auswerten der JSP in vielerlei Hinsicht aus dem benutzerdefinierten JSP-Tag schwer vorstellbar ist (obwohl es möglicherweise die Idee ist, sich das Front-End nicht vorzustellen oder es bewusst zu machen). Es gibt auch ein Bildungsproblem, aber Neulinge glauben fälschlicherweise, dass JSP direkt vom Browser interpretiert wird. Wenn Sie das DOM über JavaScript betreiben möchten, haben Sie möglicherweise das Gefühl, dass der Quellcode nicht mit dem benutzerdefinierten JSP-Tag übereinstimmt. Beispielsweise hat das Eigenschaftsattribut eines benutzerdefinierten JSP-Tags ein anderes Wort, z. B. das Namensattribut in HTML-Begriffen.

Varidata

Ich weiß nicht viel, weil ich es nicht benutzt habe, aber es scheint, dass ich XML schreibe.

Schließlich…

Wenn möglich, wechseln Sie zu einer anderen FW ...

Spring ist beliebt, aber wenn es sich nicht um eine groß angelegte Entwicklung handelt, wenn Sie es etwas anders als FW verwenden möchten oder wenn Sie die langsame Startzeit nicht mögen, denke ich, dass Spring nicht geeignet ist. In einem solchen Fall wird das folgende Micro-Framework empfohlen, wenn Sie auf Java beschränkt sind.

jooby - do more! more easily!! Javalin - A lightweight Java and Kotlin web framework Spark Framework: An expressive web framework for Kotlin and Java

Recommended Posts

Nachteile bei der Auswahl von Struts1
Rollenorganisationsnotiz in Struts