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. ?
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
Curtidas 0
Respostas
Andrei Hirata
13/11/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.
String matricula = (String) session.getAttribute("matricula");
Dá um debug e veja se quando é dado o get , a string matricula é carregada.
GOSTEI 0
Euclides Filizola
13/11/2009
Bom dia Andrei, agradeço sua atenção. Bom, debbugando, o atributo matricula vem null....
eu não sei porque..
:(
eu não sei porque..
:(
GOSTEI 0
Andrei Hirata
13/11/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
passe direto o valor para matricula assim
matricula.setmatricula('MATRICULA 1');
e ve se funciona.SE FUNCIONAR. acho q tamos chegando no ponto X
GOSTEI 0
Euclides Filizola
13/11/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.
Agradeço a sua atenção.
abraços.
GOSTEI 0