Arquivos de sites
Erro: web.xml is missing and is set to true
E ai galera, beleza?
Está tomando o erro “web.xml is missing and <failOnMissingWebXml> is set to true” no seu projeto maven dentro do eclipse???
Então vamos corrigir esse erro!
- Clique com o botão direito no ‘Deployment Descriptor’ dentro do seu projeto no ‘Project Explorer’.
- Selecione a opção ‘Generate Deployment Descriptor Stub’.
- Pronto !!! 😀
Isso irá gerar a pasta ‘WEB-INF’ no src/main/webapp com o web.xml dentro.
Abraços!!!
JBoss AS 7.1.1 “Brontes” não termina de subir nunca?
Boa noite galera,
depois de muito tempo sem postar, bora postar uma dica rápida pra você que está
tendo problemas para subir o JBoss AS 7.1.1 “Brontes”!
O servidor fica subindo durante minutos, travado na mesangem:
JBAS015899: JBoss AS 7.1.1.Final “Brontes” starting
e nada de terminar de subir…
Indo direto ao ponto!!! O JBoss AS 7.1 não roda no JDK8!!!
Você tem 2 opções:
1ª opção: Faça o downgrade para o JDK7
2ª opção: Troque o JBoss pelo WildFly
😉
Abraços! Espero que tenha ajudado!
Fonte: developer.jboss.org – Tomaz Cerar
Maven – Resolvendo erro ArtifactDescriptorException
E ai galeraaaa, blz?
Tive que formatar minha máquina… e quando abri meu eclipse me deparei com o erro:
ArtifactDescriptorException
Mesmo tendo todas as bibliotecas no lugar, por algum motivo o maven não as encontrava…
Dei uma pesquisada e achei a seguinte solução:
1 – Clique com o botão direito em cima do projeto
2 – Vá em Maven
3 – Clique em Update Project…
4 – Selecione a opção ‘Force Update Snapshots/Releases‘
5 – Clique em ‘OK‘.
Se você tiver bastante bibliotecas, demorará um pouco, após o termino do processo,
provavelmente seu projeto ja vai está com as bibliotecas ok…
abraços!
Tutorial Completo de Struts2 (PDF – em Português)
Clique aqui para fazer o download do Tutorial Completo de Struts2 (PDF – em Português)
Se preferir pode acessar o conteúdo diretamente aqui no blog, tudo em português:
- Parte 1 – Introdução ao Framework Struts 2
- Parte 2 – Tutorial: Criando uma aplicação Struts 2 no Eclipse
- Parte 3 – Tutorial do Framework de validação do Struts2 com Exemplo
- Parte 4 – Tutorial do Plugin Struts 2 Tiles com exemplo no Eclipse
- Parte 5 – Tutorial de Interceptadores (Interceptors) do Struts2 com Exemplo
- Parte 6 – Tutorial de Upload e Gravação de Arquivos do Struts 2 com Exemplo
- Parte 7 (Final) – Tutorial de Ajax no Struts 2 com Exemplo
É isso ai pessoal… deu um trabalhinho traduzir tudo isso, deve ter alguns errinhos,
pois meu inglês é meia boca… mas espero que tenham gostado e que tenha sido útil 😀
Parte 5 – Tutorial de Interceptadores (Interceptors) do Struts2 com Exemplo
Sejam vem vindos a parte 5 de uma série de 7 partes aonde nós vamos examinar aspectos diferentes do framework Struts2. No artigo anterior nós vimos como integrar o framework Tile com o Struts2.
Hoje vamos explorer o mundo dos Interceptadores(Interceptors) no Struts2. Nós vamos ver o que os interceptadores são e como configura-los em uma aplicação web baseada em Struts2.
Interceptadores do Struts 2: Fundamentos
O Struts2 fornece um mecanismo poderoso para controlar uma requisição usando Interceptadores. Interceptadores são responsáveis pela maior parte do processamento de requisições. Eles são invocados pelo controller (controlador) antes e depois de invocar uma action, assim eles ficam entre o controller e a action. Interceptadores executam tarefas como Logging, Validation, File Upload, Double-submit guard e etc.
O ciclo de vida de processamento do framework Struts2 é bastante discutido na parte 1 do tutorial.
- A requisição é gerada pelo usuário e enviada ao Servlet container.
- Servlet container invoca o filtro FilterDispatcher que por sua vez determina a ação apropriada.
- Um por um dos Intercetors são aplicados ante de chamar a Action. Interceptors executam tarefas como Logging, Validation, File Upload, Double-submit guard e etc.
- Action é executada e o Result é gerado pela Action.
- A saída da Action é renderizada na view (JSP, Velocity, etc) e o resultado é retornado ao usuário.
Portanto os interceptadores do Struts2 removem funções cross cutting como logging de componentes action e cria uma separação mais limpa do MVC.
O Struts2 vem com uma lista padrão de interceptadores já configurada na aplicação, no arquivo struts-default.xml.
Nós podemos criar nossas próprios interceptadores e pluga-los dentro de uma aplicação web baseada em Struts2.
O framework cria um objeto de ActionInvocation que encapsula a action e todos os interceptadores configurados para aquela action. Cada interceptador é chamado antes da action ser chamada. Uma vez que a action é chamada e o resultado é gerado, cada interceptador é chamado de novo na ordem contrária para executar o trabalho de pós-processamento. Interceptadores podem alterar o workflow (fluxo de trabalho) da action. Isso talvez impessa a execução da action.
Nossa Meta
Nossa meta sera criar um interceptador customer MyLoggingInterceptor, o qual irá logar a requisição antes de qualquer action ser chamada. Ele também irá imprimir o nome da classe Action e o tempo de execução em milisegundos.
Criando o Interceptador de Log
Crie uma classe java MyLoggingInterceptor
no pacote net.viralpatel.struts2.interceptors
e copie o seguinte conteúdo dentro dela.
package net.viralpatel.struts2.interceptor; import com.opensymphony.xwork2.ActionInvocation;
|
Configurando o interceptador no struts.xml
Uma vez que nós criamos uma classe interceptadora, tudo o que precisamos fazer é configurar ela no arquivo struts.xml
e usa-la com as actions.
Para configurar o interceptador criado há pouco, adicione o seguinte código dentro do struts.xml
<interceptors> <interceptor name="mylogging"
|
Esse código deve ser adicionado depois da tag <result-types > no <package ></package>. Aqui nós configuramos um novo interceptador mylogging com a tag <interceptor >. Também veja que nós definimos um interceptor-stack com o nome de loggingStack. Isso é para ter certeza de que o Struts2 chamará todos os interceptadores padrões assim como chamará o nosso interceptador customizado. Isso é muito importante como por exemplo a lógica de validação não será chamada na nossa aplicação Struts2 se nós ignorarmos o stack padrão (defaultStack
) dos interceptadores.
Nós podemos fazer o novo loggingStack como interceptador padrão ou podemos configurar ele em cada nível de action. A fim de faze-lo um stack padrão, nós devemos adicionar o seguinte no struts.xml
<default-interceptor-ref name="loggingStack"></default-interceptor-ref> |
Uma vez que nós adicionamos o código acima no Struts.xml, o logginStack será aplicado à todas as action daquele pacote.
Também nós talvez quiséssemos aplicar o interceptador customizado para apenas determinadas actions. Para fazer isso, nós precisamos adicionar a tag interceptor-ref na action.
<action name="login" class="net.viralpatel.struts2.LoginAction">
|
Isso é tudo pessoal
Se nós executarmos nossa aplicação StrutsHelloWorld no ecplipse e olharmos os logs do console, nós vamos encontrar as declarações de log que nós imprimimos no nosso interceptador.
Initializing MyLoggingInterceptor... ..
|
Download do código fonte
Clique aqui para fazer o download do código fonte sem os JARs (17KB)
Fonte: viralpatel.net – Viral Patel
Solucionando o Erro: Attempted to lock an already-locked dir (Subclipse – SVN)
Após tentar commitar uma alteração em um projeto meu para um snv, tomei o seguinte erro: “Attempted to lock an already-locked dir”
ai você pensa, p*rra não fechei/bloqueei nenhum diretório, eu só commitei… e depois de alguns minutos perdidos…
achei uma solução em um forum da gringa:
“botão direito em cima do seu projeto –> Team –> Cleanup, isso irá remover os arquivos vazios “.lock” automaticamente criados pelo subclipse.
Você deve ter algo parecido com isso :
e isso deverá funcionar perfeitamente…”
😀
bom… é isso… abraços 😀
Fonte: SvnForum.org – Astyan