Olá pessoal, tenho uma duvida e gostaria de que alguem pudesse me ajudar… ficaria grato.
Seguinte(suponhamos que ja tenha um sistema com seus beans, daos, etc):
- Fiz a implementação do servlet com o filtro utilizando o doFilter com o response e request.
- fui no meu arquivo web.xml e fiz declaração do meu servlet e do meu diretório para o qual quero fazer o filtro.
Problema: quando faço a implementação no web.xml, ele da erro. diz que não encontra o pacote da classe. ja verifiquei N vezes, ctrl+c / +v, e mesmo assim nada.
e consequentemente me da erro 404 - Página não encontrada.
Alguem ai tem alguma solução de como devo proceder? Aguardando uma resposta. Grato.
Posta o stack trace do erro. Só pra lembrar, ao mapear a classe do filtro no web.xml, assim como nos servlets, você precisa informar o nome completo da classe.
rmendes08, obrigado por responder. segue abaixo uma imagem do meu web.xml e do meu pacote.

Erro:
GRAVE: Exception starting filter AutenticadorFilter
java.lang.ClassNotFoundException: br.ufpb.lavid.gtavcs.arthron.authFilter
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:525)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:507)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:124)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:256)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:103)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4638)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5294)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
28/02/2012 17:10:21 org.apache.catalina.core.StandardContext startInternal
GRAVE: Error filterStart
e ai? o que poderá estar acontecendo? ta muito estranh
Na tag <filter-class> você colocou só o nome do pacote. Você tem colocar o nome completo da classe, troque o br.ufpb.lavid.gtavcs.arthron.authFilter por
br.ufpb.lavid.gtavcs.arthron.authFilter.AutenticadorFilter que vai funcioar.
ahhhh, vou testar isso agora… em todos os tutus, nao reparei neste pequeno detalhe ¬¬
muito obrigado! está funcionando perfeitamente!
voce é o cara!
que detalhe mais besta esse que nao reparei =[
Mendes, tens msn ou gtalk?
pra a gente trocar uns papos? quando aparecer mais algumas duvidas? estou com algumas… kkk
quando precisar é só postar no fórum, eu entro quase todo dia, além disso, tem gente que conhece mto mais do que eu aqui e que também pode te ajudar.
Mendes, eu estou ainda com um problema.
quando uso o doFilter normal… ele funciona… “chain.doFilter”, porem quando eu faço o tratamento, recuperando o a sessão( httpsession.getsession ), e faço ou forço para que ele user o request.getrequest(“minhaPagina.jsp”).foward(req,res), ou response.sendRedirect(“minhaPagina.jsp”), ambos não funcionam…
porem quando uso o foward, o próprio navegador fala que o tipo de redirecionamento que estou tentando usar, ta errado.
como faço pra prosseguir?
[quote=rildomar]Mendes, eu estou ainda com um problema.
quando uso o doFilter normal… ele funciona… “chain.doFilter”, porem quando eu faço o tratamento, recuperando o a sessão( httpsession.getsession ), e faço ou forço para que ele user o request.getrequest(“minhaPagina.jsp”).foward(req,res), ou response.sendRedirect(“minhaPagina.jsp”), ambos não funcionam…
porem quando uso o foward, o próprio navegador fala que o tipo de redirecionamento que estou tentando usar, ta errado.
como faço pra prosseguir?[/quote]
O ideal é usar o RequestDispatcher. O que você precisa conferir é se você passou o caminho completo do recurso para obter o dispatcher. Por exemplo, se o recurso que você quer está na raiz da app-web você precisa chamar com:
request.getRequestDispatcher("/minhaPagina.jsp").forward(request, response);
Então mendes, eu estou fazendo exatamento isso que vc ta flando…
quando uso esse comando, o browser dar um erro e fala: “Metodo de redirecionamento inválido” 0o
nunca vi isso… kkkk
Ataulização
Agora funcionou, porem ficou uma coisa tosca de novo. por ex.
eu uso modelo de template etc…
dai quando eu redireciono para a página de login.xhtml, ele so puxa realmente a página… não vem com o template etc… sabe como resolver esse tipo de dependência?