Java检查jsp页面上的Cookie
我正在制作一个需要登录验证的web应用程序,我正在使用cookies来实现这一点。当您登录时,它会创建一个cookie。当您访问任何jsp页面时,我使用以下代码检查cookie是否存在:
<%
String userName = null;
Cookie[] cookies = request.getCookies();
if(cookies !=null){
for(Cookie cookie : cookies){
if(cookie.getName().equals("ADMIN")) userName = cookie.getValue();
}
}
if(userName == null) response.sendRedirect("login.jsp");
%>
它可以工作,但我不想把它放在我所有的jsp页面上,因为它没有效率。如果我必须对其中任何一个进行更改,我希望将代码放在class/servlet/filter中。我试着把它放在过滤器和servlet中,但我没有运气让它工作。有人有什么建议吗
# 1 楼答案
有两种选择:
过滤器中的所有内容
将代码放在单独的文件中,并将其包含在每个页面中
# 2 楼答案
您可以编写过滤器来处理这些请求。下面是编写过滤器
时需要考虑的几个步骤检查会话是否已经存在。那么就不需要身份验证了。如果存在现有会话,下面的代码将返回
如果会话未启动,则检查用户是否存在cookie。如果是,则将用户身份验证转发到索引页
如果cookie也不存在,则将用户重定向到登录页面 提供用于身份验证的凭据