Array
(
)

problemas com Filter utilizando servlet

Euclides Filizola.
   - 13 nov 2009

  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. ?

Andrei Hirata
   - 17 nov 2009

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.

0
|
0

Euclides Filizola.
   - 17 nov 2009

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

eu não sei porque..

:(




0
|
0

Andrei Hirata
   - 17 nov 2009

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

0
|
0

Euclides Filizola.
   - 17 nov 2009

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.

0
|
0