problemas com Filter utilizando servlet

13/11/2009

0

  Boa tarde caros amigos do forum, estou com um probleminha aqui. Eu peguei um sistema já pronto de uma empresa, porém está dando um problema. O atributo matricula do usuario de rede não está vindo, ou seja, vem null.

aqui está minha classe filtro

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.lang.StringUtils;

import srh.sifn.dao.UsuarioDao;

public class LoginFilter implements Filter {

@Override
public void destroy() {

}

@Override
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) resp;
HttpSession session = request.getSession();

try {
String matricula = (String) session.getAttribute("matricula");

if (StringUtils.isBlank(matricula)) {
matricula = request.getParameter("matricula");


if (!StringUtils.isBlank(matricula)) {
if (UsuarioDao.verificaPermissao(matricula)) {
session.setAttribute("matricula", matricula);
chain.doFilter(req, resp);
} else {
request.getRequestDispatcher("/erro/naoAutorizado.jsp").forward(request, response);
}
} else {
request.getRequestDispatcher("/site/paginas/intranet.jsp").forward(request, response);
}
}
chain.doFilter(request, response);
} catch (Exception e) {
System.out.println("===================================");
System.out.println("Ocorreu um erro: " + e.getMessage());
e.printStackTrace();
}
}

@Override
public void init(FilterConfig arg0) throws ServletException {

}
}


porém essa linha

matricula = request.getParameter("matricula");

... a matricula vem null..

alguem saberia me dizer o porque. ?
Euclides Filizola

Euclides Filizola

Responder

Posts

17/11/2009

Andrei Hirata

Amigo.Apenas com o código informado fica dificil achar o erro.Mas olhando por cima.é provável que poderá estar aqui
String matricula = (String) session.getAttribute("matricula");
Dá um debug e veja se quando é dado o get , a string matricula é carregada.
Responder

17/11/2009

Euclides Filizola

Bom dia Andrei, agradeço sua atenção. Bom, debbugando, o atributo matricula vem null....

eu não sei porque..

:(




Responder

17/11/2009

Andrei Hirata

Bom se o erro ta aonde te falei.entao o erro esta no metodo SET MATRICULA>acredito que quando vc ta tentando colocar valor o valor nao esta sendo colocado.Se vc passar codigo do processo , fica mais facil te ajudar.mas por cima o erro ta na hora que vc ta tentando passar o valor para matricula. verificque esta parte..faá um teste assim

passe direto o valor para matricula assim

matricula.setmatricula('MATRICULA 1');

e ve se  funciona.SE FUNCIONAR. acho q tamos chegando no ponto X
Responder

17/11/2009

Euclides Filizola

Boa noite, gostaria de dizer que já foi resolvido. O problema não estava no get, e nem no filtro. O problema é que como era um sistema que viria de uma intranet, eu não sabia que a intranet desenvolvida em asp, já me dava o atributo "matricula" e então era só utilizar um "request.getParameter("matricula"). Só fui descobrir hoje a tarde. Peço desculpas pelo erro.

Agradeço a sua atenção.

abraços.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar