jsp内置对象-session

2017-05-02  本文已影响0人  泛空秋慕

1.session 对象在开发中用的最多的地方是“登陆以及注销功能”(当用户第一次连接到服务器时会自动分配一个 session id ,每一个session id 就代表一个用户)
请看以下代码:

 login.jsp

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
  <title>login</title>
</head>
<body>
<form action="login.jsp" method="post">
    <table>
        <tr>
            <td>用户名:</td>
            <td><input type="text" name="uname"></td>
        </tr>
        <tr>
            <td>密&nbsp;&nbsp;&nbsp码:</td>
            <td><input type="password" name="upass"></td>
        </tr>
        <tr>
            <td><input type="submit" value="登陆"></td>
            <td><input type="reset" name="重置"></td>
        </tr>
    </table>
</form>
<%
    String name=request.getParameter("uname");
    String password=request.getParameter("upass");
    if(!(name==null||"".equals(name)||password==null||"".equals(password))){
        if("SunHao".equals(name)&&"0104".equals(password)){
            //登陆成功设置session属性范围
            session.setAttribute("userid",name);
            response.setHeader("refresh","2;URL=welcome.jsp");
%>
    <p>恭喜您登陆成功!两秒后跳转到新页面,如果没有成功跳转请点击<a href="welcome.jsp">这里</a></p>
<%      
        }else{
%>
    <p>错误的用户名或密码!</p>
<%
    }
}
%>
</body>
</html>

welcome.jsp

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
   <title>welcome</title>
</head>
<body>
<%
    if(session.getAttribute("userid")!=null){
%>
        <p><%=session.getAttribute("userid")%>欢迎您使用本系统,<a href="logout.jsp">注销</a></p>
<%
    }else{//没有session属性,给出提示,返回重新登录
 %>
        <p>若要使用,请先进行<a href="login.jsp">登陆</a>!</p>     
 <%
}
%>
</body>
</html>

logout.jsp

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
   <title>out</title>
</head>
<body>
 <%
         response.setHeader("refresh","2;URL=login.jsp");
    session.invalidate();//清除当前使用的session
  %>
        <p>您已经成功退出本系统,2秒后跳转回首页!如果没有跳转,请点击<a href="logout.jsp">这里</a>!</p>

</body>
</html>

以上的做法是session使用的最多的一种验证登陆操作,除此之外,会话跟踪还有以下几种技术:
1)session提供的方法保存
2)通过Cooke
3)通过表单的隐藏域完成
4)通过地址重写


2.判断新用户
<code>session.isNew()</code>

上一篇 下一篇

猜你喜欢

热点阅读