Pergunta

Eu gostaria de saber a diferença entre Struts 1.x e Struts 2.x

Foi útil?

Solução

A principal diferença é que em Struts1.x o pedido vai diretamente para o servlet, enquanto que em Struts2.x a solicitação e resposta traval embora a pilha de interceptor ou filtro. A lógica regular pode ser colocado em classes de filtro e desenvolvedor pode se concentrar na lógica de negócios. Além deste, há também diferenças na estrutura do diretório.

É melhor saber as diferenças entre Struts1.x e Struts2.x tópico sábio. Aqui está uma citar de http://www.geekinterview.com/question_details/64360 :


1. Classes de ação

Em Struts 1.x as classes de ação deve alargar a acção (ou DispatchAction) classe eo método de execução tem número de parâmetro e um tipo ActionForward retorno, mas em struts 2.x a classe de ação também pode ser pojo simples tendo método retornando somente uma seqüência sem qualquer parâmetro de entrada executar.


2. Servlet Dependência

Container não trata Struts2.x , ao contrário do que Struts1.x , ações como um par de solicitação / resposta e struts2.x ação ainda pode acessar a solicitação e resposta original.


3. Recebendo entrada

  • Em Struts1.x forma grãos são usados ??para definir propriedades, getters e setters, em struts2.x getters / setters são definidos em si classes de ação.
  • Struts1.x classe de formulário feijão deve estender ActionForm ou ValidatorForm, mas Struts2.x feijão também pode ser POJO.

4. Testability

  • Na Struts1.x executar () método expõe o API servlet para testar.
  • Struts2.x Dependência Injecção ser usado para simplificar o processo de teste.

5. Expressão Idiomas

  • Struts1.x JSTL como a sua linguagem de expressão, onde como Struts2.x usos OGNL (Object Notation gráfico Language) como seu linguagem de expressão que é muito forte de JSTL.
  • Struts2.x também pode usar JSTL.

6. Tipo de conversão

  • Em Struts1.x propriedades são quase em forma de String, Convertors são por classe que não são configuráveis.
  • Struts 2.x usa OGNL para conversão de tipo

7. Validação

lado do servidor de validação são feitas em classes de ação em Struts2.x, uma maneira muito mais simples.

Outras dicas

É um framework web totalmente diferente ... Struts2 é basicamente o velho Webwork.

Algumas diferenças:

  • Struts2 trabalha com POJOs, não mais ActionForms. Todos os atributos dos pedidos são preenchidos em classes Java "padrão".
  • acções Struts2 não são acopladas com a API Servlet, eles não recebem HttpServletRequest e HttpServletResponse como parâmetros. Além disso, eles são stateful, (Struts 1 ações eram apátridas).
  • Struts2 tem um monte de melhorias como a API Interceptor, além de lotes de integrações.
  • A configuração é totalmente diferente.

Eu recomendo que você se "aposentar" Struts1 em favor de frameworks web modernos.

Vá para este link que irá ajudá-lo a um monte:

http://www.java-samples.com/showtutorial.php? tutorialid = 20

Por favor, encontrar a comparação entre Struts 1 e Struts 2 a partir de sua própria

website

http: //struts.apache .org / 2.1.6 / docs / comparando-struts-1-e-2.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top