Desenvolvendo um cadastro simples com Struts

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (4)  (4)

Veja neste artigo uma breve demosntração sobre Struts.

Embora o Struts 2 ofereça uma quantidade enorme de recursos, muitas empresas ainda usam o Struts 1.2.x ou 1.3.x, neste artigo veremos um exemplo bem simples de Struts, bem básico mesmo.

Agora iremos criar um arquivo index.jsp ao qual teremos links para os exemplos que nós veremos em nossas próximos artigos.

Listagem 1: index.jsp

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Exemplos com Struts</title>
    </head>
    <body>
    <div align="center">
    <h1>Indice de Exemplos<br> com Struts 1.2.x</h1>
   
    <ol>
        <li><a href="Registro1.jsp">Exemplo 1</a></li>
        <li>Exemplo2</li>
    </ol> 
    </div>
    </body>   
</html>

Edite o arquivo web.xml para se parecer com o mostrado abaixo:

Listagem 2: web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>debug</param-name>
            <param-value>2</param-value>
        </init-param>
        <init-param>
            <param-name>detail</param-name>
            <param-value>2</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
        </servlet>
    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
    </web-app>

Em strutsaula/web crie o arquivo Registro1.jsp :

Listagem 3: Registro1.jsp

<html>
<head>
<title></title>
 
</head>
<body bgcolor="white">
<div align="center">
<h1>New Registration</h1>
<form action="Register1.do" method="POST">
    Email: <input type="text" name="email" /><br>
    Senha: <input type="password" name="password"  /><br>
    <input type="submit" value="Enviar" />
</form>
 
</div>
</body>
</html>

Em strutsaula2/web/WEB-INF/results/ crie o arquivo confirm.jsp com o código descrito abaixo.

Listagem 4: confirm.jsp

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Exemplo com Struts</title>
    </head>
    <body>
<div align="center">       
    <H1>Seu Registro foi Completado com Sucesso.</H1>
Parabéns!!!
<p/>
    <a href="index.jsp">Voltar ao Índice</a>   
</div>
    </body>
</html>

Agora configuraremos o arquivo struts-config.xml com o conteúdo mostrado abaixo:

Listagem 5: struts-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
       <action-mappings>       
        <action path="/Register1" type="strutsaula.RegisterAction1">
        <forward name="success" path="/WEB-INF/results/confirm.jsp"/>
        </action>
    </action-mappings>
</struts-config>

Crie um pacote com o nome strutsaula e nele crie a classe RegisterAction1.java com o conteúdo mostrado a seguir:

Listagem 6: RegisterAction1.java

package strutsaula;
 
import javax.servlet.http.*;
import org.apache.struts.action.*;
 
/**
 *
 * @author claudio
 */
public class RegisterAction1 extends Action {
    @Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
            return(mapping.findForward("success"));
      }
}

As imagens abaixo demonstram a primeira parte do nosso artigo em funcionamento:

Índice de exemplos

Figura 1: Índice de exemplos

New registration

Figura 2: New registration

Registro completado com sucesso

Figura 3: Registro completado com sucesso

Bom se você chegou até aqui, então vamos entender o que foi feito:

  • O Usuário submete o formulário conforme a Figura 2 para a url Register1.do, esse endereço foi mapeado no struts-config.xml para um classe RegisterAction1.class;
  • O Método Action de RegisterAction1.class é invocado e usa o mapping.findForward para retornar uma condição, as condições estão mapeadas no struts-config.xml. Veja o código do Struts XML.

Listagem 7: Código struts-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
       <action-mappings>       
        <action path="/Register1" type="strutsaula.RegisterAction1">
        <forward name="success" path="/WEB-INF/results/confirm.jsp"/>
        </action>
    </action-mappings>
</struts-config>

Na Figura 3 o Struts mostra ao usuário a página apropriada.

Isso é apenas o começo, nos próximos artigos veremos muito mais sobre o Struts.

Até o próximo artigo.

Nota: Este tutorial foi influenciado pelos livros da série core servlets.

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?