Suportes2
Struts2 é desenvolvido com base em WebWork2. Assim como o struts1, o Struts2 também pertence à estrutura MVC. Mas uma coisa que todos precisam prestar atenção é que embora a diferença de nomes entre Struts2 e struts1 não seja muito grande, os estilos de codificação de Struts2 e struts1 são quase diferentes. Então agora que temos o struts1, por que deveríamos lançar o struts2. Principalmente porque o struts2 tem as seguintes vantagens:
1> Em termos de design de software, o Struts2 não é tão fortemente acoplado ao ServletAPI e ao strutsAPI quanto os aplicativos do struts1 não dependem do ServletAPI e do strutsAPI. Este design do Struts2 é um design não intrusivo, enquanto o Struts1 é um design intrusivo.
publicclassOrderListActionextendsAction{
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
}
}
2>Struts2 fornece um interceptor, que pode ser usado para programação AOP para implementar funções como interceptação de permissão.
3>Strut2 fornece um conversor de tipo, podemos converter parâmetros de solicitação especial no tipo necessário. No Struts1, se quisermos alcançar a mesma função, devemos registrar o conversor de tipo com BeanUtil, a implementação subjacente do Struts1.
4>Struts2 fornece suporte para uma variedade de tecnologias de camada de apresentação, como: JSP, freeMarker, Velocity, etc.
5> A verificação de entrada do Struts2 pode verificar o método especificado, que resolve o problema de longo prazo do Struts1.
6> Fornece implementação internacionalizada de gerenciamento de arquivos de recursos em escopo global, escopo de pacote e escopo de ação.
Configurar o ambiente de desenvolvimento do Struts2
1. Encontre os arquivos jar necessários para desenvolver aplicativos Struts2
Os arquivos jar mínimos necessários para desenvolver o Struts2
struts-core-2.xxjar: biblioteca de classes principais da estrutura Struts2
xwork-2.xxjar: biblioteca de classes XWork, Struts2 é construído sobre ela
ognl-2.6.jar: Para linguagem de navegação de imagens (ObjectGraphNavigationLanguage), a estrutura Struts2 lê e grava propriedades de objetos por meio dela
freemarker-2.3.x.jar: o modelo de rótulo da UI do Struts2 é escrito usando o freeMarker
commons-logging-1.1.x.jar: Um pacote de log produzido pelo ASF A estrutura Struts2 usa este pacote de log para suportar o log Log4J e JDK1.4+.
Componente de upload de arquivo commons-filteupload-1.2.1.jar, o arquivo deve ser adicionado após a versão 2.1.6
2. Escreva o arquivo de configuração do Struts2
O arquivo de configuração padrão do Struts2 é struts.xml. Este arquivo precisa ser armazenado em WEB-INF/classes.
<?xmlversion="1.0"encoding="utf-8"?>
<!DOCTYPEstrutsPUBLIC".//ApatcheSoftwareFoundation//DTDStrutsConfiguration2.0//EN""http://struts.apatche.org/dtds/struts-2.0.dtd">
<suportes>
</struts>
3. Adicione a configuração de inicialização da estrutura Struts2MVC ao Web.xml
No struts1.x, o framework struts é iniciado através do Servlet. No struts2, o framework struts é iniciado através do Filter. A configuração dele no web.xml é a seguinte:
<filtro>
<nome do filtro>struts2</nome do filtro>
<filter-class>org.apatche.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<!--Desde o Struts2.1.3, o seguinte FilterDispatcher foi marcado como obsoleto
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>-->
</filtro>
<filtro=mapeamento>
<nome do filtro>struts2</nome do filtro>
<url-padrão>/*<url-padrão>
</filter-mapping>
No método init() de StrutsPerpareAndExecuteFilter, o arquivo de configuração padrão struts.xml no caminho da classe será lido para concluir a operação de inicialização.
Introdução aos pacotes na configuração do Struts.xml
<packagename="itcast"namespace="/test"extends="struts-defult">
<actionname="helloworld"class="cn.itcast.action.HelloWorldAction"method="execute">
<resultname="success">/WEB-INF/page/hello.jsp</result>
</action>
</pacote>
Para encontrar o arquivo jar que precisa ser desenvolvido, você precisa descompactá-lo: struts-2.3.8-all.gz
Ou struts-2.3.8-apps.gz encontra os arquivos em struts-2.3.8-all/struts-2.3.8/apps da seguinte forma:
Um projeto em branco struts2-blank é fornecido e podemos desenvolver struts2 neste projeto.
O que devo fazer se precisar do suporte de outros arquivos jar durante o processo de desenvolvimento?
Você precisa encontrar o arquivo jar correspondente em /struts-2.3.8-all/struts-2.3.8/lib.
Como descompactar o projeto struts2-blank.war - copie-o para webapps no Tomcat e inicie o Tomcat
Encontre startup.bat em apache-tomcat/bin e clique para iniciar
observar:
Você pode abrir o navegador IE
Digite http://localhost:8080/struts2-blank
Encontre o arquivo jar descompactado: apache-tomcat/webapps/struts2-blank/WEB-INF/lib
Registros de bugs:
1.java.net.BindException:Addressalreadyinuse:JVM_Bind
Análise: Um bug é causado pelo tomcat que você está usando não ser desligado antes de ser iniciado pela segunda ou n vezes.
Solução:
Basta fechar o Tomcat iniciado.
HTTPStatus404-/demo/servlet/demo.do
Análise: O URL que você solicitou não foi encontrado: servlet/demo.do
Solução:
Verifique se o seu URL existe. Caso não exista, adicione-o de acordo com o negócio.
3.
Não há nenhum anexo de mapa de ação para ação chamada demonstração.
Análise: A ação de demonstração correspondente não pode ser encontrada no lado do servidor
Demo.ação
/csdn/demo.action
Apenas prompt: demonstração não encontrada
demoaction não encontrada em /csdn
Erro
Nenhum resultado definido para ação com.opensymphony.xwork2.ActionSupportandresultsucesso