Я хочу приложение для входа в сервлет Java.Где я хочу автоматически войти в систему, если пользователь ранее зашел на сайт, автоматически перенаправить на страницу приветствия вместо страницы входа.Все работает нормально, но когда я нажимаю на кнопку выхода и устанавливаю куки "", он все равно не удаляет куки, а после выхода из него все равно каждый раз пересылает меня на страницу профиля вместо страницы входа.Я добавляю сюда 2 сервлета, один из которых содержит информацию о механизме перенаправления, а другой - сервлет выхода из системы.Может кто-нибудь помочь мне решить мою проблему?
HomeServlet.java
package com.demo.controller;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HomeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public HomeServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doProcess(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doProcess(request, response);}
public void doProcess(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{
res.setContentType("text/html");
PrintWriter out=res.getWriter();
System.out.println(req.getCookies());
Cookie ck[]=req.getCookies();
if(ck!=null){
String name=ck[0].getValue();
if(!name.equals("")||name!=null){
res.sendRedirect("ProfileServlet");
}
}else{
res.sendRedirect("login");
}
}
}
LogoutServlet.java
package com.demo.controller;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LogoutServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public LogoutServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doProcess(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doProcess(request, response);
}
protected void doProcess(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Cookie ck=new Cookie("name","");
ck.setMaxAge(0);
response.addCookie(ck);
request.getRequestDispatcher("/login").include(request, response);
out.println("<script type=\"text/javascript\">");
out.println("alert('Logged Out');");
out.println("</script>");
System.out.println("Logout "+ck.getValue() );
}
}