-
Struts, como Tomcat, Turbine e muitos outros projetos Apache, é um software de código aberto, o que é uma de suas vantagens. Permita que os desenvolvedores tenham uma compreensão mais profunda de seu mecanismo interno de implementação. A estrutura de código aberto Struts foi criada para facilitar aos desenvolvedores a construção de aplicativos Web baseados nas tecnologias Java Servlet e JavaServer Pages (JSP). A estrutura Struts fornece aos desenvolvedores uma estrutura padrão unificada. Ao usar o Struts como base, os desenvolvedores podem se concentrar mais na lógica de negócios do aplicativo. A própria estrutura Struts é uma implementação Model-View-Controller (MVC) usando tecnologia Java Servlet e JavaServer Pages.
Especificamente, as vantagens do Struts são:
1. Implementar o modelo MVC com uma estrutura clara, permitindo que os desenvolvedores se concentrem apenas na implementação da lógica de negócios.
2. Há uma grande variedade de tags que podem ser usadas. A biblioteca de tags do Struts (Taglib) pode melhorar muito a eficiência do desenvolvimento se puder ser usada de maneira flexível. Além disso, no que diz respeito aos desenvolvedores JSP domésticos, além de usarem as tags comuns que acompanham o JSP, eles raramente desenvolvem suas próprias tags. Talvez o Struts seja um bom ponto de partida.
3. Navegação de páginas. A navegação de páginas será uma direção de desenvolvimento no futuro. Na verdade, isso tornará o contexto do sistema mais claro. Através de um arquivo de configuração, você pode entender a conexão entre várias partes de todo o sistema, o que é de grande benefício para manutenção posterior. Essa vantagem se torna ainda mais óbvia quando outro grupo de desenvolvedores assume o projeto.
4. Fornece mecanismo de tratamento de exceções.
5. Gerenciamento do pool de conexões de banco de dados
6. Suporte I18N
deficiência:
1. Ao ir para a camada de exibição, você precisa configurar o encaminhamento. Cada vez que você vai para a camada de exibição, acredito que a maioria deles vai diretamente para o jsp. Quando se trata de redirecionamento, você precisa configurar o encaminhamento. jsps na camada de exibição, você precisa configurar dez vezes o Struts, e isso às vezes não inclui alterações de diretório e arquivo, que requerem remodificação de encaminhamento. Observe que toda vez que a configuração é modificada, todo o projeto é necessário ser. reimplantado, e um servidor como o Tomcate deve ser reiniciado. Se as mudanças de negócios forem complexas e frequentes no sistema, tal operação é inimaginavelmente simples. É isso agora. Dezenas ou centenas de pessoas estão usando nosso sistema online ao mesmo tempo. Você pode imaginar como estou preocupado.
2. A ação do Struts deve ser thread-safe, o que permite que apenas uma instância lide com todas as solicitações. Portanto, todos os recursos utilizados pelas ações devem ser sincronizados uniformemente, o que causa problemas de segurança de thread.
3. O teste é inconveniente. Cada ação do Struts é acoplada à camada da Web, portanto, seu teste depende do contêiner da Web e o teste de unidade também é difícil de implementar. No entanto, existe uma ferramenta de extensão Junit, Struts TestCase, que pode implementar seus testes de unidade.
4. Conversão de tipo. O FormBean do Struts trata todos os dados como tipo String, e pode usar a ferramenta Commons-Beanutils para conversão de tipo. Mas sua conversão é toda em nível de classe e o tipo de conversão não é configurável. Também é muito difícil retornar mensagens de erro ao usuário durante a conversão de tipo.
5. Muita dependência do Servlet O Struts deve confiar no ServletRequest e no ServletResponse ao processar a ação, portanto, não pode se livrar do contêiner do Servlet.
6. Em termos de linguagem de expressão front-end, o Struts integra JSTL, portanto, usa principalmente a linguagem de expressão JSTL para obter dados. No entanto, a linguagem de expressão JSTL é muito fraca no tratamento de propriedades de coleção e índice.
7. É difícil controlar a execução de uma Ação Quando o Struts cria uma Ação, será muito difícil controlar sua ordem de execução. Talvez você até precise reescrever o Servlet para atender aos seus requisitos funcionais.
8. Processamento antes e depois da execução da ação Quando o Struts processa a ação, ele é baseado em hierarquias de classes. É difícil realizar operações antes e depois do processamento da ação.
9. Suporte insuficiente para eventos No Struts, um formulário na verdade corresponde a uma classe Action (ou DispatchAction). Em outras palavras: No Struts, um formulário na verdade corresponde a apenas um evento. evento é um evento de granulação grossa comparado com evento de componente.
O importante objeto de formulário do Struts, ActionForm, é um objeto que representa um aplicativo. Este objeto contém pelo menos vários campos. Esses campos são campos de entrada no formulário da página Jsp. A granularidade é refinada para esses campos no formulário, ou seja, quando um campo corresponde a um evento, é impossível simplesmente usar o Struts. Claro, isso também pode ser alcançado combinando JavaScript.
Este artigo vem do blog CSDN. Indique a fonte ao reimprimir: http://blog.csdn.net/zhrl0000/archive/2009/12/17/5027947.aspx.
-