Pessoal, depois que apliquei um filtro, sempre que executo a aplicação aparece a seguinte mensagem no firefox.
Redirecionamento incorreto
O Firefox detectou que o pedido para este endereço não será concluído devido à forma que o servidor o está redirecionando.
Este problema algumas vezes pode ser causado pela desativação ou bloqueio de cookies.
Pois bem, segue o código… quem puder ajudar agradeço.
login.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Login Page</title>
</head>
<body>
<h1>Please Login</h1>
<form action="LoginServlet">
Login: <input type="text" name="login" size="30"/> <br/>
Senha: <input type="password" name="senha" size="30"/> <br/>
<input type="submit" value="Login"/>
</form>
</body>
</html>
LoginServlet
public class LoginServlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
UsersControl control = new UsersControl();
String username = request.getParameter("login");
String senha = request.getParameter("senha");
try {
if (username == null || senha == null || !control.validUserAndSenha(username, senha)) {
response.sendRedirect("erroLogin.jsp");
} else {
request.getSession().setAttribute("isLogged", new Boolean(true));
response.sendRedirect("products.jsp");
}
} catch (SQLException ex) {
Logger.getLogger(LoginServlet.class.getName()).log(Level.SEVERE, null, ex);
}
}
AuthFilter
public class AuthFilter implements Filter {
public AuthFilter() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
Object logged = req.getSession().getAttribute("isLogged");
String url = req.getRequestURL().toString();
if (logged == null && !url.contains("erroLogin.jsp")) {
res.sendRedirect("login.jsp");
return;
}
chain.doFilter(request, response);
}
Abço.