Boa tarde,
Estou encontrando o erro 405 ao tentar acessar a página de logout no modo de redirecionamento servidor.
Entendi que o método GET não suporta este tipo de URI, mas estou utilizando o método post.
Abaixo segue o código do Logout:
@WebServlet(urlPatterns= "/logout")
public class Logout extends HttpServlet{
public Logout() {
// TODO Auto-generated constructor stub
System.out.println("Instanciando uma servelet do tipo Logout "+ this);
}
@Override
public void init() throws ServletException {
// TODO Auto-generated method stub
super.init();
System.out.println("Inicializando a Servelet "+this);
}
@Override
public void destroy() {
// TODO Auto-generated method stub
super.destroy();
System.out.println("Destruindo a Servelet "+this);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
/*Cookie cookie = new Cookies(req.getCookies()).getUsuarioLogado();
if (cookie != null) {
cookie.setMaxAge(0);
resp.addCookie(cookie);
}*/
HttpSession sessao = req.getSession();
sessao.removeAttribute("usuario.logado");
/*PrintWriter writer = resp.getWriter();
writer.println("<html><body>Logout Efetuado</body></html>");*/
//começando a usar mvc
resp.sendRedirect("logout.html"); // redirecionamento no lado cliente, usado para acessar o logout, mas acessando a pagina logout.html
RequestDispatcher dispatcher = req.getRequestDispatcher("/WEB-INF/paginas/logout.html"); //redirecionamento no lado server
dispatcher.forward(req, resp);
}
}