使用过滤器来校验用户的登录状态,
在有些情况下,网站的部分网页是需要登录的用户才能访问的,那么该如何实现呢?
其实就是使用过滤器,在逻辑层加上一个过滤器来实现登录状态的校验,然后再将信息跳转到指定的界面或者Servlet。
我们先来分析下具体的使用流程:
假如用户处于登录状态则用户可以访问指定的网页,没有登录的用户相要访问这个网页则直接跳转到登录界面。
流程图如下:
我们先来编写hello.jsp文件,即用户想要访问的目标文件,
只需让其显示简单的信息即可
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
out.println("Hello World");
%>
</body>
</html>
我们首先现将所有的界面程序编写完毕,
下面我们来编写login.jsp文件
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登陆页面</title>
</head>
<style type="text/css">
body{
color: #000;
font-size: 14px;
margin: 20px auto;
}
</style>
<script type="text/javascript">
function check(form) {
//验证用户名是否为空
if (document.forms.loginform.uname.value==""){
alert("请输入用户名");
//将焦点置于用户名输入框
document.forms.loginform.uname.focus();
return false;
}
//验证密码是否为空
if (document.forms.loginform.upwd.value==""){
alert("请输入用户名");
//将焦点置于用户名输入框
document.forms.loginform.upwd.focus();
return false;
}
}
</script>
<body>
<form action="<%=request.getContextPath()%>/LoginServlet17" method="post" name="loginform">
<%if (request.getAttribute("return_uri")!=null){%>
<input type="hidden" name="return_uri" value="<%=request.getAttribute("return_uri")%>"/>
<%}%>
<table border="1" cellspacing="0" cellpadding="5" bordercolor