JSP脚本实现登录验证功能
登录
点击退出
登录页面login
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
String error = (String) request.getAttribute("eMess");
if (error!=null && !error.equals("")){
%>
<font color="red"><%=error%></font>
<%}%>
<form action="loginValidate.jsp" method="get">
<p>用户名:<input type="text" name="userName"/></p>
<p>密 码:<input type="password" name="password"/></p>
<p> <input type="submit" value="登录"></p>
</form>
</body>
</html>
登录验证处理loginValidate
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
//获取login页面输入的用户名和密码
String user = request.getParameter("userName");
String pwd = request.getParameter("password");
//创建StringBuffer对象存放错误信息
StringBuffer errorMsg = new StringBuffer();
//用户名密码登录验证
if (user.equals("")){
errorMsg.append("用户名不能为空!<br/>");
}
if (pwd.equals("")){
errorMsg.append("密码不能为空!<br/>");
}else if (pwd.length()<6){
errorMsg.append("密码长度不能小于6位!<br/>");
}
//当用户名和密码没问题时重定向到主页面
if (errorMsg.toString().equals("")){
//将用户名存入session中,并前往主页面
session.setAttribute("userName",user);
response.sendRedirect("main.jsp");
}else {
//当用户名或密码有问题时将错误信息存入请求,并返回登录页面
request.setAttribute("eMess", errorMsg.toString());
%>
<jsp:forward page="login.jsp"></jsp:forward>
<%
}
%>
</body>
</html>
主页面main
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>欢迎您!${sessionScope.get("userName")}</h1>
<a href="logout.jsp">安全退出</a>
</body>
</html>
登出logout
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<% //注销session
session.invalidate();
response.sendRedirect("login.jsp");
%>
</body>
</html>