创建和获取客户的会话

setAttribute()与getAttribute()

session.setAttribute(String name , Object obj)

如session.setAttribute("username" , "陈帝求")

将一个字符串"陈帝求"放置到session对象中,并且变量名叫username

session.getAttribute(String name) 该函数返回的是一个Object,是一个对象。

例子

String user = (String)session.getAttribute("username");

String user1= session.getAttribute("username").toString();

从会话中移除指定对象

session.removeAttribute(String name);

例如session.removeAttribute("username");

设置session有效时间

因为服务器都是给客户端在服务器端创建30分钟的session,所以必须设置有效时间来释放没有必要的会话

session.setMaxInactiveInterval(int time);

如session.setMaxInactiveInterval(3600); //设置了3600秒 就是一个小时的有效时间

session销毁

session.invalidate();

应用session对象实现用户登录

服务器需要用session来记录客户端的登录的状态,都是通过session来记录用户状态

1

index.jsp创建一个基本的登录页面 action="deal.jsp"

<body>
<form name="form1" method="post" action="deal.jsp">
用户名: <input name="username" type="text" id="name" style="width: 120px"><br>
密&nbsp;&nbsp;码: <input name="pwd" type="password" id="pwd" style="width: 120px"> <br>
<br>
<input type="submit" name="Submit" value="登录">
</form>

</body>

2

deal.jsp中创建了判断标准,我预先设置了3个2维数组,在没有数据库的情况下,先将就一下吧

<%
String[][] userList={{"cdq","123"},{"sss","111"},{"aaa","111"}}; //定义一个保存用户列表的二维组
boolean flag=false;                         //登录状态
request.setCharacterEncoding("GB18030"); //设置编码
String username=request.getParameter("username"); //获取用户名
String pwd=request.getParameter("pwd"); //获取密码
for(int i=0;i<userList.length;i++)

 if(userList[i][0].equals(username))
 { //判断用户名
  if(userList[i][1].equals(pwd))
  { //判断密码
   flag=true; //表示登录成功
   break;//跳出for循环
  }
 }
}
if(flag){ //如果值为true,表示登录成功
 session.setAttribute("username",username);//保存用户名到session范围的变量中
 response.sendRedirect("main.jsp"); //跳转到主页
}else{
 response.sendRedirect("index.jsp"); //跳转到用户登录页面
}
%>

3 main.jsp

<%
String username=(String)session.getAttribute("username"); //获取保存在session范围内的用户名
%>

<body>
您好![<%=username %>]欢迎您访问!<br>
<a href="exit.jsp">[退出]</a>
</body>

4

exit.jsp

<%
session.invalidate();//销毁session
response.sendRedirect("index.jsp");//重定向页面到index.jsp
%>

JSP内置对象Session的更多相关文章

  1. JSP内置对象——session

    sessionsession表示客户端与服务器的一次会话Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所进过的这段时间,也就是用户浏览这个网站所花费的时间从上述定义中可以看 ...

  2. Jsp内置对象-session

    session内置对象介绍 个人理解:session因为是唯一的, session是与请求有关的会话期,它是java.servlet.http.HttpSession类的对象,用来表示和存储当前页面的 ...

  3. JSP内置对象——session对象

    举个购物流程的例子: 这整个购物过程,它是属于一次回话.那么这个session是保存在服务器内存当中,并且它保存着不同用户对应的session,一个用户对应一个session.看下面这幅图: 从图中可 ...

  4. jsp内置对象-session对象

    一.session概述 隐含对象session是javax.servlet.http.HttpSession接口实现类的对象,用于保存用户的状态信息. 在web开发中,服务器为每个用户浏览器创建一个会 ...

  5. JSP内置对象--session对象(getId(),getCreationTime(),getLastAccessedTime(),isNew(),invalidate(),setAttribute(),getAttribute())

    session对象是javax.servlet.http.HttpSession接口的实例,但是不像HttpServletRequest或HttpServletResponse一样,有父接口,他没有父 ...

  6. JSP内置对象—session

    什么是session? session对象是用来在每个用户之间分别保存每个用户信息的对象,以便跟踪用户的操作状态.session的信息保存在server端,session的id保存在client的co ...

  7. Java学习-jsp内置对象Session

  8. JSP内置对象的使用(一)

    JSP九大内置对象是:request.response.session.application.out.pagecontext.config.page.exception. JSP常用的内置对象是:o ...

  9. JSP内置对象seesion

    什么是session session表示客户端与服务器的一次会话 Web中的session指的是用户在浏览某网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间 从上述定 ...

随机推荐

  1. lvs、haproxy、nginx 负载均衡的比较分析

    lvs和nginx都可以用作多机负载的方案,它们各有优缺,在生产环境中需要好好分析实际情况并加以利用. 首先提醒,做技术切不可人云亦云,我云即你云:同时也不可太趋向保守,过于相信旧有方式而等别人来帮你 ...

  2. 基于visual Studio2013解决C语言竞赛题之0808打印链表

     题目

  3. GDOI2015——已成梦

    今年GDOI(2015)在韶关北江中学(没记错的话应该是武江区)举行,感觉这五天就是一场梦,一场包含苦辣的梦. Day0 坐了一个上午的车,而且车内的空气又不好,感觉整个人都累倒下了. 到了北江之后吃 ...

  4. linux下执行sh文件报错:oswatcher_restart.sh: line 13: ./startOSW.sh: Permission denied

    1 查看执行sh文件的内容 [root@xxxdb0402 dbscripts]# more oswatcher_restart.sh  #!/usr/bin/ksh #export oswdir=` ...

  5. Apache Flink

    Flink 剖析 1.概述 在如今数据爆炸的时代,企业的数据量与日俱增,大数据产品层出不穷.今天给大家分享一款产品—— Apache Flink,目前,已是 Apache 顶级项目之一.那么,接下来, ...

  6. SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".

    问题的原因是无法找到org.slf4j.impl.StaticLoggerBinder,我找了一下,确实没有该类,网上搜了一下下面是官方的解答http://www.slf4j.org/codes.ht ...

  7. codeforces 148D 概率DP

    题意: 原来袋子里有w仅仅白鼠和b仅仅黑鼠 龙和王妃轮流从袋子里抓老鼠. 谁先抓到白色老师谁就赢. 王妃每次抓一仅仅老鼠,龙每次抓完一仅仅老鼠之后会有一仅仅老鼠跑出来. 每次抓老鼠和跑出来的老鼠都是随 ...

  8. gcc configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0

    从svn checkout svn://gcc.gnu.org/svn/gcc/trunk拿了GCC的最新代码,打算编译了学东西习学习C++ 11的东西,结果在configure的时候出现例如以下问题 ...

  9. oracle如何设置show parameter显示隐含参数

    在sqlplus中shwo parameter是显示不了隐藏参数的,需要做一个处理,如下所示:    以SYS用户登录: C:\Documents and Settings\guogang>sq ...

  10. android用shape画虚线,怎么也不显示

     一直以为android的shape能画直线.虚线.矩形,圆形等.画直线也就算了.用一个view设一下高度和颜色,就能够出来一条直线了.所以说这个对我来说常常不用,圆形是能够,看看我应用里的消息提 ...