Dúvida sobre Struts

Dúvidas referente Struts

Qual a diferença entre os métodos?

  • ActionForward execute() e
  • ActionForward perform()

Os dois são usados nas classes de ação (extends Action),
mas não seu quando devemos usar o execute() ou o perform().

O perform() é usado quando está ação está vincualdo com algum ActionForm?
Exemplo do struts-config.xml:

<action path="/Cadastro" 
        type="teste.actions.CadastroAction"
        name="cadastreForm" 
        scope="request" 
        validate="true"
        input="/jsp/cadastro.jsp">
   <forward name="sucesso" path="/listar.do"/>
</action>

Neste exemplo acima como tem name=“cadastreForm” temos que usar o perform().
Estou correta?

O execute() quando a ação não chama nenhum ActionForm?
Exemplo do struts-config.xml:

	<action path="/Listar"
		     type="teste.actions.ListarAction">
	    <forward name="cadastro" path="/jsp/Listar.jsp"/>
	</action>

Os métodos são para o mesmo fim, o execute() foi incluido na versão 1.1 e o perform() foi depreciado.