session对象

 

session对象

  session对象主要用于保存用户的各种信息,直到它的生命周期(一般为900s)超时或被人释放掉为止

可以通过session对象来判断此用户是否是合法用户

 

1.  譬如,如果用户没有登陆,则无论访问哪几个页面都会跳转以登陆页面

2.  购物车---à张三买东西,不能放到李四购物车上

 

在服务器上,通过session ID来区分 每一个上网用户

session 对象属于javax.serlvet.http.HttpSession接口的实例化对象

session属于Http协议范畴这内对象,所以只有唯一的一个http包下有此接口,没有任何继承关系

Session的主要方法

1,  服务器上通过session来区不同的用户 -->SessionID:任何连到服务器上的用户,

sessionID 是由服务器统一管理的,人为不能控制

方法:session.getId()

 

1.       判断是否是新session

public boolean isNew():判断当前的session是否是新建立的session

session的属性:

取得属性:

               public void setAttribute(java.lang.String name,
     

                         java.lang.Object value)

取得属性:

public java.lang.Object getAttribute(java.lang.String name)

删除属性:

public void removeAttribute(java.lang.String name)

2.       范例户输入姓名:mldn,密码:lxh则表示成功,成功之后可以浏览welcome.jsp页面

login.jsp:表单,接收,判断

welcome.jsp:欢迎页,要求用户必须先登陆后,才能访问,否则不能访问会跳转到login.jsp页面

能过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="登陆"><br>

</form>

<%

       if(request.getParameter("uname")!=null&&request.getParameter("upass")!=null)

       {

              String name=request.getParameter("uname");

              String passwrod=request.getParameter("upass");

              if("mldn".equals(name)&&"lxh".equals(passwrod))

              {

                     //表示登陆成功

                     //通过flag判断是否在已经登陆成功

                     session.setAttribute("flag","ok");

                     //并登陆到welcome.jsp页面上去

                     response.sendRedirect("welcome.jsp");

              }

              else

              {

              %>

              <h3>登陆失败</h3>

              <%

              }

       }

%>

 

welcome.jsp

<%@page contentType="text/html;charset=gb2312"%>

<%--

        用户必须先登陆之后,才能访问此页面

        如果用户滑登陆,则提示回去重新登陆

--%>

<%

       if(session.getAttribute("flag")!=null)

       {

              //session被设置过,正常登陆过

%>

<h1>欢乐光临本页!!</h1><br/>

<%

       }

       else

       {

              //两秒后跳转到login.jsp页面中

              response.setHeader("refresh","2;URL=login.jsp");

       %>

       <h1>您还未登陆,请先登陆</h1>

       <%

       }

%>

 

4.用户注销:让用户的session失效

如果session失效,则在session所保留的全部操作也会消失

   public void invalidate():使session失效(手工)

如果session长时间不使用,则也会自动失效

<%@page contentType="text/html;charset=gb2312"%>

<%

       // ʹsessionʧЧ

       session.invalidate() ;

%>

<a href="welcome.jsp">welcome.jsp</a>

5.得到session的创建时间:

public long getCreationTime()

此方法返回long类型,通过Date类可以取得一个完整时间

6.取得用户最后一次操作时间

public long getLastAccessedTime()

                            SessionCookie

sessioncookie用跨网页共享数据

       session记录独有的个人信息,在不同页面中传递.

       Cookie:保存于客户端,供浏览器与web服务器互通数据用的纯文字文件..IE执行时,会在计算机中产生一个Cookie

session将信息保存在服务器上,Cookie保存在客户端上

sessionCookie更安全,sessioncookie更占资源

开发的原则:session要尽量少用,---尽量少向session 中保存信息

sessin使用了cookie机制,如果cookie被禁用,session也无法使用

long l= session.getCreationTime();

       long l2= session.getLastAccessedTime();

 

你可能感兴趣的:(session对象)