[Marco de Java] Configuración de Struts2 (2) -Struts2

1. Detalles de los elementos de configuración de Struts2

1.1. Importar archivo xml externo

Utilice la etiqueta <include> en el archivo struts.xml e importe un archivo .xml externo en el atributo de archivo.

 

 

 

Otra acción se separa en la configuración de example.xml, y el paquete generalmente es diferente. Los detalles son los siguientes:

El propósito de esto es dividir demasiadas acciones y paquetes desordenados en struts.xml.

1.2. Configuración del paquete

<? xml version = "1.0" encoding = "UTF-8" ?> 
<! DOCTYPE struts PUBLIC 
    "- // Apache Software Foundation // DTD Struts Configuration 2.3 // ES" 
    "http://struts.apache.org/ dtds / struts-2.3.dtd " > 
< struts > 
    <! - package: package, el rol del paquete es para la gestión modular; 
        nombre: representa el nombre del paquete (debe ser escrito y único), en toda la configuración (incluyendo otros xml) El nombre es único; 
        espacio de nombres: representa la ruta del nivel del paquete, 
        ruta de acceso externo: http: // dirección IP <: puerto> / <ruta de contexto> / nombre de espacio / nombre de acción se 
        extiende (heredado): hereda de un padre Paquete, el nombre de este paquete padre se llama struts-default 
        abstract: significa que el paquete actual es un paquete abstracto (que se utiliza para permitir que otros hereden, existe dicho paquete en struts-default.xml- > 
  < package name = "default "espacio de nombres = "/ extra"extend = "struts-default" > 
        < action name = "index" class = "cn.yif.action.UserAction" method = "execute" > 
            < result name = "success" type = "dispatcher" > 
               /success.jsp 
            < / result > 
        </ action > 
  </ package > 
</ struts >

La solicitud de acceso específica es la siguiente:

Nota:

①    Los nombres de acciones bajo el mismo paquete no pueden repetirse, y las acciones bajo diferentes paquetes pueden repetirse;

②    El nombre del paquete no se puede repetir;

③    El espacio de nombres del paquete no se puede repetir.

 

1.3. El proceso de búsqueda de paquetes

En correspondencia con la configuración struts.xml, la ruta de acceso se encuentra principalmente en packageNameSpace y actionName, de la siguiente manera: http: // localhost / system / abc / hello access como ejemplo, aquí dividiremos la url en dos partes,

packageNameSpace : / system / abc , actionName : / hello。

Aquí primero buscaremos la etiqueta <package> correspondiente en el archivo de configuración a través de packageNameSpace. Si no se encuentra, la ruta se reducirá en un nivel, es decir, / sistema. Si se encuentra, se encontrará la <acción> correspondiente en el paquete No importa si se encuentra o no la <acción> correspondiente, no se volverá a buscar.

Finalmente encuentre "/", aquí también hay un paquete, lo que significa que el paquete raíz continuará buscando en el paquete raíz.

Nota: En el proceso anterior, si la <acción> correspondiente no se encuentra en todos los paquetes, se encontrará en el paquete predeterminado <package namespace = "">;

El análisis del proceso de consulta se ilustra de la siguiente manera:

Ahora mi ruta en el navegador es: / ruta1 / ruta2 / ruta3 / hola

Necesitamos pensar en esto como dos partes:

Parte de la ruta del paquete: / ruta1 / ruta2 / ruta3

Parte de acción: hola                                                            

Al buscar, primero encuentre la ruta:

 / path1 / path2 / path3 Si no lo encuentra, encontrará / path1 / path2

 / ruta1 / ruta2 encontrará / ruta1 si no se encuentra

 / path1 encontrará el paquete raíz si no se encuentra /

Nota: Cuando no se encuentra la parte de la ruta, irá a la ruta superior. Si se encuentra, no volverá a buscar; busque la Acción después de encontrar la ruta; la Acción se usa directamente. Acción (en el archivo default.xml) .

namespace = "/": representa un paquete raíz;

namespace = "": representa un paquete predeterminado;

1.4. Prioridad del archivo de configuración Struts2

El marco Struts2 carga la configuración struts2 
default.properties en el siguiente orden. Este archivo se guarda en struts2-core-2.3.7.jar en el paquete org.apache.struts2 
. Muchas constantes en nuestra configuración están dentro de 
struts-default.xml. Este archivo se guarda en core-2.3.7.jar- struts2 
 aprendemos etapa, puede venir aquí para ver las muchas maneras de configurar el 
archivo struts-plugin.xml se guarda en el struts-xxx-2.3.7.jar hay algunos plug-ins 
anteriores tres perfiles , Es el archivo de configuración predeterminado de Struts2, no podemos modificarlo 
struts.xml Este archivo es el archivo de configuración de struts predeterminado para aplicaciones web 
struts.properties Este archivo es el archivo de configuración predeterminado de Struts (generalmente no escrito aquí) 
web.xml El archivo es el archivo de configuración de la aplicación web (generalmente no se usa). 
Si se configuran varios archivos con la misma constante struts2, el valor constante configurado en el último archivo anulará el valor constante configurado en el archivo anterior.

Los tres paquetes jar anteriores no pueden modificarse, los tres últimos los puede modificar usted mismo.

La prioridad del archivo de configuración: la prioridad se incrementa en orden de arriba a abajo, y cuanto mayor sea la prioridad, menor será la prioridad .

1.5. Configuración constante de Struts2

Puede encontrar nuestra configuración constante en default.properties.

Configuración constante de uso común en el archivo Struts2.xml:

<! - Modo de desarrollo; modifique el archivo de configuración sin reiniciar el servidor- > 
<! - Se refiere a struts.xml, otras modificaciones del archivo de configuración aún deben reiniciarse- > 
<! - Recargue automáticamente el archivo de configuración, no Definitivamente tendrá éxito. -> 
<! - struts.devMode = true; -> 
< constant name = "struts.devMode" value = "true"  /> 
<! - El sistema usa codificación- > 
< constant name = "struts.i18n .encoding " value =" UTF-8 "  /> 
<! - tamaño del archivo de carga (byte) -> 
< nombre constante =" struts.multipart.maxSize " value =" 2097152 " 
-> 
< nombre constante = "struts.action.extension" value = "action, do ,," /> 

1.6. Configuración predeterminada de Struts2

① La clase predeterminada en <acción> se hereda de <default-class-ref class = "com.opensymphony.xwork2.ActionSupport" /> en el paquete struts-default, y la configuración no se escribe por defecto en la práctica;

② La configuración predeterminada del método en <acción> es ejecutar ;

③ La configuración predeterminada del nombre en la etiqueta <resultado> es correcta ;

Configuration La configuración predeterminada de tipo en la etiqueta <result> es dispather ;

< package name = "default" namespace = "/" extiende = "struts-default" > 
<! - ¿Qué configuración en acción es la configuración predeterminada, no se puede escribir? 
   El método no se puede escribir, el valor predeterminado es ejecutar la 
   clase no se puede escribir, el valor predeterminado es encontrar (esto lo podemos cambiar nosotros mismos) 
   <default-class-ref class = "com.opensymphony.xwork2.ActionSupport" / > ¿Puedo encontrar el 
    nombre en struts-default sin escribirlo? 
    ¿Qué configuración es la configuración predeterminada en este resultado requerido ? ¿No se puede escribir? 
    nombre: no se puede escribir, el valor predeterminado es 
    tipo de éxito : no se puede escribir, el tipo predeterminado es despachador (también podemos cambiar) -> 
< action name = "const" > 
    < result > /success.jsp </ result >
> 
</ paquete >

Supongo que te gusta

Origin www.cnblogs.com/yif0118/p/12688905.html
Recomendado
Clasificación