2011-04-27 18 views
11

Bueno, quiero estudiar Struts, así que voy a comenzar con Struts 1, Me gustaría saber el flujo general. ¿Qué archivos son necesarios?Flujo básico de Struts

¿Cuál es la función de struts-config.xml? validation.xml? validation-rules.xml Cuando visita su página JSP y se inicia una acción, ¿qué ocurre? ¿Qué hace la clase Acción y Forma? A qué clase se llama primero cuando se dispara una acción.

Acabo de descargar un formulario de muestra, y todos estos archivos son confusos al principio. Me gustaría saber qué está pasando para tener una mejor idea de Struts.

Respuesta

32

Debe comenzar con un tutorial en Struts, que lo hará más fácil de entender: D. Puede encontrar muchos en la web, especialmente para Struts 1. Here is a starting point for example.

Pero por el simple hecho de hacerlo, aquí hay una presentación de vista alta.

Primero agrega los Struts ActionServlet en su archivo web.xml y lo configura para aceptar solicitudes que coinciden con una determinada asignación. Para Struts esto es *.do (puede tener lo que desee para esto, *.do es solo una convención en la comunidad de Struts).

Ahora, todo lo que llega al servidor con un patrón de URL *.do se envía al ActionServlet.

Ahora, el contenido del archivo struts-config.xml entra en juego. El ActionServlet es un front controller que se envía a otros recursos más apropiados para un procesamiento específico. Esos recursos específicos son las clases Action.

Puede tener, por ejemplo, un LoginAction que debe procesar las solicitudes que llegan a la ruta login.do. En el struts-config.xml, especifique esto: todo lo que viene en la ruta login debe enviarse a la clase LoginAction.

Y usted puede tener tantas declaraciones como desee, por ruta x llamada XAction, por y llamada YAction, etc, etc

Normalmente el cliente envía los datos al servidor, los datos que se introduce en un formulario HTML. Esta información necesita procesarla en su clase Action. Ahora ingrese ActionForm.

El ActionForm es un bean que el marco Struts rellena con los datos del formulario HTML. En lugar de hacer request.getParameter("foo") puede trabajar con objetos como formBean.getFoo() por ejemplo.

Una vez que usted hace su procesamiento en la clase Action utilizando el ActionForm, a continuación, debe presentar los resultados en algún punto de vista (por cierto, Struts es un marco MVC por lo que debe saber un material o dos acerca de esto también).

Las vistas son normalmente archivos JSP. Cuando regrese de su Action, especifique una ubicación "hacia adelante" por nombre (es decir, a qué vista ir). Ahora, nuevamente, la información se encuentra en el archivo struts-config.xml, donde el nombre de la vista se asigna a una ubicación JSP.

El marco reenviará el control a ese JSP, el JSP presenta los datos que luego se envían al cliente como HTML (el cliente ya no tendrá que acceder a los JSP directamente; deben estar ocultos por el marco de Struts).

En la página nueva, el cliente realiza nuevamente algunas solicitudes y el proceso se repite.

Bueno, esa es la presentación más alta que puede obtener. Por supuesto, hay más que esto, pero los descubrirás mientras aprendes acerca de Struts.

En cuanto a la validator-rules.xml y validation.xml, éstos se utilizan en el marco Validator las cuales se puede integrate with Struts por el uso de un plugin (Struts tiene plugins que se puede utilizar para añadir cosas nuevas a ella) para añadir también la validación de entrada del usuario .

Bueno, eso es todo. Puedes encontrar muchos tutoriales en la web que ofrecen más detalles, pero la esperanza te ayuda a tener un mejor comienzo.

¡Buena suerte!

8
  1. Cuando un usuario envió una página jsp. esa página que tiene (atributo de ) action="login.do". el contenedor llamará al web.xml. en ese web.xml hay dos secciones de servlet y mapeo de servlet
  2. En el mapeo de servlet se encuentra *.do en el url-pattern. si encontró tome el nombre de servlet. y verifica la clase correspondiente. en la sección servlet . esa clase es ActionServlet.
  3. ActionServlet es el controlador de la arquitectura del módulo Struts. en Servlet de acción que tiene el método de servicio. en ese método creamos RequestPrecessor instancia de clase
  4. Service(req,res) RequestPrecessor rp = new RequestPrecessor();
  5. Nos llamar a un método de proceso de RequestProcessor clase a través de la ejemplo rp.process(req,res)
  6. En la clase de petición procesador de tener el método de proceso con el parámetro de req, res. entonces tiene 1 si condición en esta clase. esa condición siempre es verdadera. porque ese es el método ficticio.

Dentro de esa condición hay 6 pasos procesando

  1. Crear una instancia de mapeo acción en el Struts- Config.xml. que mantendrá todos los detalles de la ruta de mapeo de acción, valor, tipo hacia adelante, validation=true/false, input ="*.jsp" etc éstos r creada ejemplo
  2. A continuación, se va a crear instancia de la clase Form antes de que se compruebe el nombre de mapeo de acción y nombre del formulario son coincidencia o no si misma que creará instancia de formulario
  3. Luego irá a ActionMapping ejemplo, la mención ris o no la validate =true/false si es falso no ejecutará el este paso lo demás se ejecutará este paso.
  4. Luego creará la instancia de acción
  5. A continuación, tomará cuatro parámetros de ejecución Método devolverá ActionErrors instancia. si no está vacío irá a la página de error de otro modo llegará a la página correspondiente. else si está vacío si irá más allá y mostrará el valor correspondiente de la página en jsp view.This is struts flow.
+0

mejor explicado .. –

+0

@Tiny Supongo que PrepareAndExecuteFilter es el nuevo actionservlet..esto correcto? en caso afirmativo, ¿cuándo se llama/invoca/inicializa? –