下面,介绍一个实例来实现session的作用。
该实例实现了登陆,登出功能。
登陆页面:login.jsp
<%@page contentType="text/html;charset=gb2312"%>
<form action="login.jsp" method="post">
用户名:<input type="text" name="uname"><br>
密 码:<input type="text" name="upass"><br>
<input type="submit" value="登陆">
</form>
<%
//首先作出一个判断,否则会在打开页面的时候会出现“登陆失败!!”这几个字,原因是
// if("test".equals(name)&& "wzz_boy".equals(password))这个判断不成立,则跳到else里执行了。
if(request.getParameter("uname")!=null&&request.getParameter("upass")!=null)
{
String name=request.getParameter("uname");
String password=request.getParameter("upass");
if("test".equals(name)&& "wzz_boy".equals(password))
{
session.setAttribute("flag","ok");
response.sendRedirect("welcome.jsp");
}
else
{
%>
<h3> 登陆失败!!</h3>
<%
}
}
%>
登陆成功后进入的页面:welcome.jsp
<%@page contentType="text/html;charset=gb2312"%>
<%
if(session.getAttribute("flag")=="ok")//当flag的值等于OK,则表明该用户是合法用户
{
%>
<h1>欢迎光临本页!</h1>
<a href="logout.jsp">注销</a>
<%
}
else
{
response.setHeader("refresh","3;URL=login.jsp"); //3秒后自动转向login.jsp页面
%>
<h1>你还没有登陆,请先登陆! 3秒后返回登陆界面</h1>
<%
}
%>
实现注销功能的页面:logout.jsp
<%@page contentType="text/html;charset=gb2312"%>
<%
session.invalidate(); //session失效
%>
<a href="welcome.jsp">返回</a>