JavaWeb_检查用户是否登录的过滤器
检查用户是否登录的过滤器
- 1.检查用户是否登录的过滤器
1)情景:系统中的某些页面只有在正常登陆后才可以使用,用户请求这些页面时要检查 session 中有无该用户信息,但在所有必要的页面加上session的判断相当麻烦的事情。
2)解决方案:编写一个用于检测用户是否登陆的过滤器,如果用户未登录,则重定向到指的登录页面。
3)要求:需检查的在 Session 中保存的关键字;如果用户未登录,需重定向到指定的页面(URL不包括 ContextPath);不做检查的URL列表(以分号分开,并且 URL 中不包括 ContextPath)都要采取可配置的方式。 -
a.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h4>AAA Page</h4>
<br>
<a href="list.jsp">Return...</a>
</body>
</html>
b.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%--
//检验用户是否登录,若没有登录,则直接重定向到login.jsp
Object user = session.getAttribute("username");
if(user == null) {
response.sendRedirect("login.jsp");
}
--%>
<h4>BBB Page</h4>
<br>
<a href="list.jsp">Return...</a>
</body>
</html>
c.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%--
//检验用户是否登录,若没有登录,则直接重定向到login.jsp
Object user = session.getAttribute("username");
if(user == null) {
response.sendRedirect("login.jsp");
}
--%>
<h4>CCC Page</h4>
<br>
<a href="list.jsp">Return...</a>
</body>
</html>
d.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head