Qual a diferença entre Struts 1.x e Struts 2.x
Pergunta
Eu gostaria de saber a diferença entre Struts 1.x e Struts 2.x
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
websitehttp: //struts.apache .org / 2.1.6 / docs / comparando-struts-1-e-2.html