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 2?
- Funcions de Struts 2
- Arquitectura de Struts 2
- Configuració de l'entorn
- Conceptes fonamentals
- Demostració del tutorial de Struts 2
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
- 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.
- 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.
- 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.
- Fàcil integració: Proporciona una fàcil integració amb altres marcs web com ara , DWR, SiteMesh i Rajoles.
- 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ó.
- Integrar tecnologies de visualització: Amb Struts2, podeu integrar-vos fàcilment amb diverses tecnologies de visualització com XSLT, JSP, Freemarker, velocity, etc.
- Tema i plantilles: Struts 2 proporciona suport a 3 tipus de temes:
- Xhtml
- simple
- 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
Com 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:
- 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.
- 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:
- HelloWorld.java
- index.jsp
- welcome.jsp
- web.xml
- 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.