Oi pessoal…gostaria de saber o que falta para minha aplicação retornar ao filtro quando tento acessar um item de menu…eis o meu código:
No método doFilter:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
System.out.println("ENTROU NO FILTRO");`
try{
Connection con = Conexao.conectar();
request.setAttribute("conexao",con);
String classe = request.getParameter("classe");
if(classe.equals("AcessoSistema")){
chain.doFilter(request,response);
}else{
Usuario usu = (Usuario)((HttpServletRequest) request).getSession().getAttribute("usuario");
AcessoDAO acessoDAO = new AcessoDAO(con);
if(acessoDAO.getAcessoUsuario(usu.getCodigo(),classe)){
chain.doFilter(request,response);
}else{
request.getRequestDispatcher("AcessoRestrito.html").forward(request,response);
}
}
con.close();
}catch(SQLException ex){
Logger.getLogger(Filtros.class.getName()).log(Level.SEVERE,NULL,ex);
}catch(ClassNotFoundException ex){
Logger.getLogger(Filtros.class.getName()).log(Level.SEVERE,NULL,ex);
}
}
Servlet Controlador:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
processa(request,response);
}
protected void processa(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
System.out.println("ENTROU NO SERVLET");
try{
String nomeClasse = "br.com.sms.sisprot.controlador." + request.getParameter("classe");
Class classe = Class.forName(nomeClasse);
InterfaceSisprot inteligencia = (InterfaceSisprot) classe.newInstance();
String retorno = inteligencia.execute(request,response);
request.getRequestDispatcher(retorno).forward(request,response);
} catch(ClassNotFoundException ex){
Logger.getLogger(ServletControlador1.class.getName()).log(Level.SEVERE, null, ex);
} catch(InstantiationException ex){
Logger.getLogger(ServletControlador1.class.getName()).log(Level.SEVERE, null, ex);
} catch(IllegalAccessException ex){
Logger.getLogger(ServletControlador1.class.getName()).log(Level.SEVERE, null, ex);
}
}
Web.xml:
<filter>
<filter-name>Filtros</filter-name>
<filter-class>br.com.sms.sisprot.controlador.Filtros</filter-class>
</filter>
<filter-mapping>
<filter-name>Filtros</filter-name>
<url-pattern>/ServletControlador1</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>ServletControlador1</servlet-name>
<servlet-class>br.com.sms.sisprot.servlets</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletControlador1</servlet-name>
<url-pattern>/ServletControlador1</url-pattern>
</servlet-mapping>