demo效果:执行某页面操作时,session检查若用户未登陆,则提示和自动跳转返回登录界面登录。
登陆界面 login.jsp
<!--将表单提交到logincheck.jsp,处理登陆信息-->
<form action="logincheck.jsp" method="post">
<p>用户名:<input type="text" name="user" size="18"></p>
<p>密码:<input type="text" name="pass" size="20"></p>
<p><input type="submit" value="登录" name="ok">
<input type="reset" value="重置" name="cancel"></p>
</form>
处理登陆界面 logincheck.jsp
<%@include file="login.jsp" %> //包含登陆页面
<%
request.setCharacterEncoding("UTF-8");
String username=(String)request.getParameter("user");
session.setAttribute("username", username);
//新建session变量保存获取的request值
String password=(String)request.getParameter("pass");
session.setAttribute("password",password);
%>
<% //当用户名和密码都为admin时,跳转到success.html,否则跳转到login.jsp页面。
if(username.equals("admin")&&password.equals("admin")){
//response.sendRedirect("success.html");
response.sendRedirect("reg.jsp");
}
else{
out.print("<script language='javaScript'> alert('密码错误');</script>");
response.setHeader("refresh", "0;url=login.jsp");
}
%>
内部页面 reg.jsp
//执行内部页面前,先判断session值,检查是否已登陆,若未登录跳转至登陆页面。
<%
if(session.getAttribute("username")==""||session.getAttribute("username")==null)
{
%>
<% response.sendRedirect("login.jsp");%>
<%
} %>