Puntales2
Struts2 está desarrollado en base a WebWork2. Al igual que struts1, Struts2 también pertenece al marco MVC. Pero una cosa a la que todos deben prestar atención es que, aunque la diferencia en los nombres entre Struts2 y struts1 no es muy grande, los estilos de codificación de Struts2 y struts1 son casi diferentes. Ahora que tenemos struts1, ¿por qué deberíamos iniciar struts2? Principalmente porque struts2 tiene las siguientes ventajas:
1> En términos de diseño de software, Struts2 no está tan estrechamente vinculado con ServletAPI y strutsAPI como las aplicaciones Struts1 no dependen de ServletAPI y strutsAPI. Este diseño de Struts2 es un diseño no intrusivo, mientras que Struts1 es un diseño intrusivo.
publicclassOrderListActionextendsAction{
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestsolicitud,HttpServletResponserespuesta)
lanza una excepción {
}
}
2>Struts2 proporciona un interceptor que se puede utilizar en la programación AOP para implementar funciones como la interceptación de permisos.
3>Strut2 proporciona un convertidor de tipos, podemos convertir parámetros de solicitud especiales al tipo requerido. En Struts1, si queremos lograr la misma función, debemos registrar el convertidor de tipos con BeanUtil, la implementación subyacente de Struts1.
4>Struts2 brinda soporte para una variedad de tecnologías de capa de presentación, como: JSP, freeMarker, Velocity, etc.
5> La verificación de entrada de Struts2 puede verificar el método especificado, lo que resuelve los problemas a largo plazo de Struts1.
6>Proporciona una implementación de gestión de archivos de recursos internacionalizada en alcance global, alcance de paquete y alcance de acción.
Configurar el entorno de desarrollo Struts2
1. Encuentre los archivos jar necesarios para desarrollar aplicaciones Struts2
Los archivos jar mínimos necesarios para desarrollar Struts2
struts-core-2.xxjar: biblioteca de clases principales del marco Struts2
xwork-2.xxjar: biblioteca de clases XWork, Struts2 está construida sobre ella
ognl-2.6.jar: para el lenguaje de navegación de imágenes (ObjectGraphNavigationLanguage), el marco Struts2 lee y escribe propiedades de objetos a través de él.
freemarker-2.3.x.jar: La plantilla de etiqueta de interfaz de usuario de Struts2 está escrita con freeMarker
commons-logging-1.1.x.jar: un paquete de registro producido por ASF. El marco Struts2 utiliza este paquete de registro para admitir el registro de Log4J y JDK1.4+.
componente de carga de archivos commons-filteupload-1.2.1.jar, el archivo debe agregarse después de la versión 2.1.6
2. Escriba el archivo de configuración de Struts2.
El archivo de configuración predeterminado de Struts2 es struts.xml. Este archivo debe almacenarse en WEB-INF/classes. La plantilla de configuración de este archivo es la siguiente:
<?xmlversion="1.0"codificación="utf-8"?>
<!DOCTYPEstrutsPUBLIC".//ApatcheSoftwareFoundation//DTDStrutsConfiguration2.0//ES""http://struts.apatche.org/dtds/struts-2.0.dtd">
<puntales>
</struts>
3. Agregue la configuración de inicio del marco Struts2MVC a Web.xml
En struts1.x, el marco de struts se inicia a través de Servlet. En struts2, el marco de struts se inicia a través de Filter. Su configuración en web.xml es la siguiente:
<filtro>
<nombre-filtro>struts2</nombre-filtro>
<filter-class>org.apatche.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<!--Desde Struts2.1.3, el siguiente FilterDispatcher se ha marcado como obsoleto
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>-->
</filtro>
<filtro=mapeo>
<nombre-filtro>struts2</nombre-filtro>
<patrón-url>/*<patrón-url>
</filtro-mapeo>
En el método init () de StrutsPerpareAndExecuteFilter, se leerá el archivo de configuración predeterminado struts.xml en la ruta de clase para completar la operación de inicialización.
Introducción a los paquetes en la configuración de Struts.xml
<packagename="itcast"namespace="/test"extends="struts-defult">
<actionname="holamundo"class="cn.itcast.action.HelloWorldAction"method="ejecutar">
<resultname="éxito">/WEB-INF/page/hello.jsp</result>
</acción>
</paquete>
Para encontrar el archivo jar que necesita desarrollar, debe descomprimirlo: struts-2.3.8-all.gz
O struts-2.3.8-apps.gz busca los archivos en struts-2.3.8-all/struts-2.3.8/apps de la siguiente manera:
Se proporciona un proyecto en blanco struts2-blank y podemos desarrollar struts2 en este proyecto.
¿Qué debo hacer si necesito el soporte de otros archivos jar durante el proceso de desarrollo?
Debe encontrar el archivo jar correspondiente en /struts-2.3.8-all/struts-2.3.8/lib.
Cómo descomprimir el proyecto struts2-blank.war: cópielo en webapps en Tomcat e inicie Tomcat
Busque startup.bat en apache-tomcat/bin y haga clic para iniciar
observar:
Puedes abrir el navegador IE.
Ingrese http://localhost:8080/struts2-blank
Busque el archivo jar descomprimido: apache-tomcat/webapps/struts2-blank/WEB-INF/lib
Registros de errores:
1. java.net.BindException: Dirección ya en uso: JVM_Bind
Análisis: Un error se debe a que el Tomcat que está utilizando no se apaga antes de iniciarlo por segunda o n veces.
Solución:
Simplemente cierre el gato iniciado.
HTTPStatus404-/demo/servlet/demo.do
Análisis: No se puede encontrar la URL que solicitó: servlet/demo.do
Solución:
¿Comprueba si tu URL existe? Si no existe, agrégala según el negocio.
3.
No hay un complemento de mapa de acción para la demostración del nombre de acción.
Análisis: la acción de demostración correspondiente no se puede encontrar en el lado del servidor
Acción.demo.
/csdn/demo.action
Único mensaje: demostración no encontrada
Demoacción no encontrada en /csdn
Bicho
Ningún resultado definido para la acción com.opensymphony.xwork2.ActionSupportandresultsuccess