Tutorial Struts 2: solució única per a principiants



Aquest article sobre Struts 2 Tutorial us ajudarà a començar amb el framework Struts 2 per desenvolupar aplicacions web J2EE juntament amb la demostració de codi.

Si busqueu un que us pot ajudar a desenvolupar aplicacions web JEE de forma ràpida i eficient, llavors Struts 2 és la solució perfecta per a vosaltres. Struts 2 és un marc de codi obert molt utilitzat al mercat. A través d’aquest tutorial de Struts 2, us ajudaré a començar-hi juntament amb implementacions pràctiques.

A continuació es mostren els temes que tractaré en aquest tutorial de Struts:





Què és Struts?

En termes simples, Struts és un marc de codi obert basat que ajuda al desenvolupament d'aplicacions web en J2EE. Aixòamplia el i promou el model, la visualització i el controlador ( MVC ) arquitectura.Això fa que les aplicacions web desenvolupades en tecnologies estàndard comJSP, JavaBeans i XML, més mantenibles, extensibles i flexibles.

El Struts Framework va ser desenvolupat inicialment per Craig McClanahan i es va lliurar a la Fundació Apache el maig del 2000. A poc a poc, capta la posició d’un projecte Apache de primer nivell el 2005 i més tard el febrer del 2007, va ser substituït per Puntals 2 .



El Struts Framework es va basar àmpliament en el MVC (Model-Vista-Controlador) paradigma del disseny. El seu objectiu principal era separar el model de la vista i el controlador de l'aplicació per reduir la dependència i promoure la separació de preocupacions (SoC). En altres paraules, va ajudar a separar la lògica de l'aplicació que es comunica principalment amb la base de dadesdes del mitjançant el qual l’usuari interactua amb l’aplicació i la instància que ajuda a canalitzar la informació entre Model i Visualització.

Característiques de Struts 2

  1. Formes i accions basades en POJO :Les classes d'acció a Struts es tracten com a controlador a l'aplicació. Són els responsables de respondre a una acció de l'usuari, executar la lògica empresarial i retornar un resultat amb la vista que s'ha de representar. També actua com a classe Model.
  2. Etiquetes i personalització millorades: S'han introduït diversos tipus d'etiquetes a Struts 2, com ara etiquetes d'interfície d'usuari, etiquetes de control, etiquetes de dades, etc. que ajuden al desenvolupament d'aplicacions.
  3. Funcionalitat AJAX: Struts 2 admet la tecnologia ajax que normalment s’utilitza per generar una sol·licitud asíncrona. Permet millorar el rendiment de l'aplicació enviant només les dades de camp necessàries al servidor.
  4. Fàcil integració: Proporciona una fàcil integració amb altres marcs web com ara , DWR, SiteMesh i Rajoles.
  5. Configuracions mínimes: Mentre s’utilitza l’aplicació Struts 2, no cal fer cap configuració general. Funciona amb configuracions mínimes on la majoria dels paràmetres prenen els valors predeterminats tret que hi hagi alguna desviació.
  6. Integrar tecnologies de visualització: Amb Struts2, podeu integrar-vos fàcilment amb diverses tecnologies de visualització com XSLT, JSP, Freemarker, velocity, etc.
  7. Tema i plantilles: Struts 2 proporciona suport a 3 tipus de temes:
    1. Xhtml
    2. simple
    3. Css_xhtml

Aquí XHTML és el tema predeterminat per a Struts 2 i s'utilitza principalment per a un aspecte i aspecte comuns.

Ara que ja sabeu què és Struts i les seves diverses funcions, anem ara amb aquest article del tutorial Struts i coneixeu la seva arquitectura.



Arquitectura

Struts Architecture - Tutorial Struts 2 - EdurekaCom podeu veure al diagrama anterior, Struts utilitza nivells elevats Arquitectura MVC . Aquí s’utilitza el filtre de servlets de desplegament Struts2 per implementar el controlador, mentre que s’utilitzen accions per implementar el model i la vista s’implementa combinant tipus de resultats i resultats. En aquesta arquitectura, el fil conductor, l'enllaç i la integració amb altres components estan habilitats per la pila de valors i OGNL. A més, les configuracions de les aplicacions web, accions, interceptors, resultats, etc. també ajuden a canalitzar molta informació.

Ara, permeteu-me explicar el flux de treball complet durant el cicle de vida d’una sol·licitud generada per l’usuari. A continuació he detallat el flux de treball pas a pas per conèixer millor el funcionament de Struts:

  • Comença amb la sol·licitud de l'usuari que s'envia al servidor per sol·licitar algun recurs.
  • El distribuïdor de filtres processa aquesta sol·licitud per determinar l'acció adequada.
  • A més, s’apliquen a la sol·licitud funcions d’interceptor configurades correctament, com ara validació, càrrega de fitxers, etc.
  • Un cop decidida l'acció seleccionada i executada en funció de l'operació sol·licitada.
  • En el cas que es requereixi qualsevol interceptor configurat, es requereixi un posterior processament.
  • Al final, la visualització proporciona el resultat i es retorna a l'usuari.

Espero que això esborri el flux de treball d'una aplicació Struts. Vegem ara tot el que necessiteu al vostre sistema per començar a utilitzar Struts a la següent secció d’aquest tutorial de Struts 2

Configuració de l'entorn

A continuació he detallat els elements bàsics necessaris per començar a utilitzar Struts 2:

  • Java
    En cas que no tingueu Java instal·lat al vostre sistema, podeu consultar el document Instal·lació de Java article.
  • Tomcat
    Si no teniu Tomcat al vostre sistema, podeu visitar-la aquí per a descàrrega gratuïta.
  • IDE (preferiblement Eclipse)
    Finalment, necessiteu el vostre IDE Eclipse per al desenvolupament d'aplicacions.

Un cop fet, ja esteu a punt per mullar-vos els peus amb Struts. A la següent secció d’aquest tutorial de Struts 2, us faré un breu resum sobre els conceptes fonamentals de Struts 2.

Conceptes fonamentals

1. Configuracions

En qualsevol aplicació Struts hi ha dos fitxers de configuració principals:

  1. fitxer struts.xml: Aquest fitxer conté la informació relativa al fitxerconfiguració que es modifica com a accions. S'utilitza principalment per anul·lar la configuració predeterminada d'una aplicació. Aquest fitxer es crea generalment al directori WEB-INF / classes de qualsevol projecte Struts.
  2. fitxer struts.properties: Aquest fitxer proporciona un mecanisme que pot alterar el comportament del framework. Des d’unframework fa ús d’una sèrie de propietats que podeu canviar-ne segons el vostre requisit.

2. Accions

Les accions o les classes d’acció són els conceptes bàsics de qualsevol aplicació Struts 2, ja que actuen com a controlador del patró MVC. En altres paraules, les classes d'acció contenen la lògica empresarial que ajuda al processament de les dades. A part d'això, també és responsable de la classe d'accióresponent a una sol·licitud dels usuaris, executant la lògica empresarial. També ajuda el marc a determinar i retornar un resultat sobre la base del fitxer de configuració (struts.xml), de tornada a l'usuari per representar la pàgina Visualització.

Les classes d'accions Stuts2 no tenen caràcter individual, és a dir, es crearà una instància d'aquesta classe amb cada sol·licitud. Per tant, no cal que siguin segurs de fils i siguin senzills i independents. Això fa que les proves d’aquestes classes siguin molt més fàcils.

Es pot crear un fitxer d'acció de tres maneres, que són les següents:

  • Simple Action Class
    Qualsevol classe java concreta es pot utilitzar com a classe d’acció Struts 2, però l’únic requisit és que la classe hagi de contenir un mètode execute () amb el tipus de retorn String. A continuació es mostra el codi per crear una classe d’acció simple:
package com.edureka.struts2.action public class DemoAction {public String execute () {return 'Benvingut!' }}
  • Implementació de la interfície d'acció
    També es pot crear una classe Struts 2 Action mitjançant la implementació de la interfície com.opensymphony.xwork2.Action. Conté un mètode únic, és a dir, execute () que ha de ser implementat per la classe implementadora. En implementar aquesta interfície podeu fer servir diverses constants com SUCCESS, ERROR, NONE, INPUT i LOGIN que es poden utilitzar per a les pàgines de resultats.
    A sota del codi es mostra un exemple per al mateix:
package com.edureka.struts2.action import com.opensymphony.xwork2.Action public class DemoAction implementa Acció {public String execute () {return SUCCESS}}
  • S'estén la classe ActionSupport

Les classes d'acció a Struts 2 generalment amplien la classe de suport a l'acció, que és la implementació per defecte de la interfície d'Acció. Proporciona diverses funcions imperatives per al desenvolupament d'aplicacions web, com ara validació de dades, missatge de nivell d'acció, missatge d'error de nivell d'acció, missatge d'error de camp i recurs de lectura inclòs, etc.

A continuació es mostra la implementació del mateix:

package com.edureka.struts2.action import com.opensymphony.xwork2.ActionSupport classe pública DemoAction amplia ActionSupport {@Override public String execute () throws Exception {return SUCCESS}}

3. Interceptors

Interceptor actua com un dels pilars principals del marc Struts 2. No és res més que un objecteque s’invoca durant el pre-processament i el post-processament d’una sol·licitud.Ajuda a controlar i mantenir la transició suau del cicle de sol·licituds i respostes.

El principal avantatge d’utilitzar interceptors és que és connectable. El que vull dir és que, en cas que deixeu d’utilitzar una preocupació específica comvalidació, tractament d’excepcions, registre, etc., podeu eliminar-lo fàcilment de l’aplicació sense haver-lo de tornar a desplegar. Per a això, tot el que heu de fer és suprimir l'entrada del fitxer struts.xml.

El marc Struts2 proporciona un conjunt complet d’interceptors predefinits i piles d’interceptors comuns que he enumerat a la taula següent:

Interceptor Descripció
àlies Això permet que els paràmetres tinguin diferents àlies de nom entre les sol·licituds dels usuaris
casella de selecció Això ajuda a gestionar les caselles de selecció afegint un valor de paràmetre fals per a les caselles de selecció que no s'ha marcat
conversionError Això situa la informació d'error de la conversió de cadenes a tipus de paràmetres dins dels errors de camp de l'acció
createSession Això crea implícitament una sessió HTTP per si no n'existeix
depuració Això proporciona diverses pantalles de depuració al desenvolupador
execAndWait Això transfereix l'usuari a una pàgina d'espera d'intermediari quan s'executa l'acció en segon pla
excepció Això mapea les excepcions que es generen de l'acció cap a un resultat
fileUpload Això facilita la càrrega fàcil de fitxers a Struts 2
i18n Això ajuda a fer un seguiment de la configuració regional especificada durant la sessió d’un usuari
registres Això proporciona un registre senzill a l'usuari generant la sortida com a nom de l'acció que s'està executant
params Això ajuda a establir els paràmetres de sol·licitud de l'acció
preparar-se S'utilitza per realitzar treballs de pre-processament
Perfil Això permet obtenir informació de perfil simple per a accions de registre.
abast Això emmagatzema i recupera l'estat de l'acció durant la sessió d'usuari o l'abast de l'aplicació
ServletConfig Això proporciona l'acció per accedir a diverses informacions basades en servlets
temporitzador Això proporciona informació de perfil simple
fitxa Això ajuda a comprovar l'acció d'un testimoni vàlid per evitar enviaments de formularis duplicats
validació Això proporciona suport per a la validació de diverses accions

4. Pila de valors

ValueStacka Struts2 és l'àrea d'emmagatzematge on s'emmagatzemen totes les dades de l'aplicació per processar una sol·licitud. Aquestes dades es conserven dins del fitxerActionContextobjectes que fa ús del fitxerFil localper recuperar els valors específics de qualsevol fil específic de sol·licitud de client.

5. OGNL

OGNL significa Object-Graph Navigation Language. És un llenguatge d'expressió potent molt semblant a JSP i s'utilitza principalment per areferència i manipulació de dades presents a ValueStack. A més, també ajuda a transferir i convertir el tipus de dades.

De manera similar a JSP, OGNL conté un objecte arrel dins del context de l'aplicació. Per tant, podeu proporcionar la referència de l'objecte per defecte mitjançant la notació de marcatge que en aquest cas es denota mitjançant el símbol de lliura. El marc Struts 2 implementa OGNL mitjançant la creació d’un mapa ActionContext. A continuació, he enumerat els components del mapa ActionContext:

  • Aplicació
  • Sessió
  • Pila de valors
  • Sol·licitud
  • Paràmetres
  • Atributs

Amb això, passeu pels conceptes bàsics de Struts 2. A la següent secció d’aquest article de Struts 2, podeu saltar directament al codi i implementar tot el que heu après fins ara.

relació entre java i javascript

Demostració del tutorial de Struts 2

Aquí crearé una aplicació senzilla on haureu d'introduir el vostre nom i l'aplicació us donarà la benvinguda. A continuació es mostra la captura de pantalla de l'estructura completa del projecte:

Com podeu veure, en aquest projecte crearem 5 fitxers que són:

  1. HelloWorld.java
  2. index.jsp
  3. welcome.jsp
  4. web.xml
  5. struts.xml

Nota: Abans de començar aquest projecte, assegureu-vos que ja teniu instal·lat Tomcat al vostre sistema.

PAS I: A Eclipse, aneu a Fitxer> Nou> Projecte web dinàmic. Introduïu el nom del projecte i feu clic a Nou temps d'execució.

PAS II: Aquí heu de seleccionar la versió d’Apache Tomcat que heu descarregat al vostre sistema i fer clic a Següent.

PAS III: A continuació, feu clic a Navega i aneu al directori on s'han desat les dependències de Tomcat. Un cop fet, feu clic a Finalitza i continueu amb la creació del projecte.

PAS IV: Afegim ara els fitxers jar de Struts que seran necessaris per a l’execució d’aquest projecte amb èxit. Podeu descarregar els JAR des de aquí . Quan estigueu a punt amb els fitxers JAR, copieu els JAR i enganxeu-los a WebContent> WEB-INF> lib.

PAS V: Ara que estem preparats amb totes les configuracions, permetem configurar els fitxers de codi, començant per HelloWorld.java. Per a això, feu clic amb el botó dret sobre el projecte> Nou> Classe. Empleneu el nom del paquet i de la classe i feu clic a Finalitza.

PAS VI: Escriviu el codi següent al fitxer HelloWorld.java dossier.

package com.edureka public class HelloWorld {private String name public String getName () {return name} public void setName (String name) {this.name = name} public String execute () {return 'success'}}

PAS VII: A continuació, creeu-ne un de nou index.jsp a WebContent i escriviu el codi següent:

 

PAS VIII: Ara, torneu a crear-ne un de nou welcome.jsp a WebContent i escriviu el codi següent:

Benvingut:

PAS IX: Ara aneu a WebContent> WEB-INF i escriviu el codi següent a web.xml dossier.

Struts2Demo index.html struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareandExecuteFilter struts2 / *

PAS X: Finalment, a Java Resources> src, creeu struts.xml dossier

welcome.jsp

PAS XI: Ara aneu al index.jsp pàgina i feu-hi clic amb el botó dret. Seleccioneu Executa al servidor per executar l'aplicació.

Això ens porta al final d’aquest article sobre el tutorial de Struts 2. Si voleu saber més sobre Java, podeu consultar el nostre document .

Ara que ja heu entès què és un tutorial de Struts 2, consulteu el per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. El curs de formació i certificació Java J2EE i SOA d’Edureka està dissenyat per a estudiants i professionals que vulguin ser desenvolupador de Java. El curs està dissenyat per donar-vos un avantatge en la programació de Java i formar-vos tant per conceptes bàsics com avançats de Java, juntament amb diversos marcs Java com Hibernate i Spring

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest article “Tutorial Struts 2” i us respondrem el més aviat possible.