13/11/2009

problemas com Filter utilizando servlet

  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.

Respostas

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 Citar

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 Citar

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 Citar

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 Citar