JSP内置对象Session
创建和获取客户的会话
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>
密 码: <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的更多相关文章
- JSP内置对象——session
sessionsession表示客户端与服务器的一次会话Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所进过的这段时间,也就是用户浏览这个网站所花费的时间从上述定义中可以看 ...
- Jsp内置对象-session
session内置对象介绍 个人理解:session因为是唯一的, session是与请求有关的会话期,它是java.servlet.http.HttpSession类的对象,用来表示和存储当前页面的 ...
- JSP内置对象——session对象
举个购物流程的例子: 这整个购物过程,它是属于一次回话.那么这个session是保存在服务器内存当中,并且它保存着不同用户对应的session,一个用户对应一个session.看下面这幅图: 从图中可 ...
- jsp内置对象-session对象
一.session概述 隐含对象session是javax.servlet.http.HttpSession接口实现类的对象,用于保存用户的状态信息. 在web开发中,服务器为每个用户浏览器创建一个会 ...
- JSP内置对象--session对象(getId(),getCreationTime(),getLastAccessedTime(),isNew(),invalidate(),setAttribute(),getAttribute())
session对象是javax.servlet.http.HttpSession接口的实例,但是不像HttpServletRequest或HttpServletResponse一样,有父接口,他没有父 ...
- JSP内置对象—session
什么是session? session对象是用来在每个用户之间分别保存每个用户信息的对象,以便跟踪用户的操作状态.session的信息保存在server端,session的id保存在client的co ...
- Java学习-jsp内置对象Session
- JSP内置对象的使用(一)
JSP九大内置对象是:request.response.session.application.out.pagecontext.config.page.exception. JSP常用的内置对象是:o ...
- JSP内置对象seesion
什么是session session表示客户端与服务器的一次会话 Web中的session指的是用户在浏览某网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间 从上述定 ...
随机推荐
- Eclipse 和 MyEclipse控制台console不停的自动跳动,跳出来解决方案
有时候Eclipse启动,控制台console不会自动跳出来,需要手工点击该选项卡才行,按下面的设置,可以让它自动跳出来(或不跳出来):由二种方法: 一.windows -> prefer ...
- 高级UIKit-10(UDPSocket)
[day1201_UDPSocket]:utpsocket的使用 使用UDP网络传输,是一种无连接的传输协议,不安全,一般使用在监控视频中或QQ聊天中,该网络传输就向广播传播模式,一对多. 在ios中 ...
- 列表标题栏添加CheckBox(自定义HanderView的时候实现)
前段时间项目上的要求,要实现一个列表(见下图1).类似网页上的列表,可以通过选中标题栏的复选框,实现全选或者全不选的功能.但是看了很久,都没看到Qt哪个方法可以实现在标题栏添加控件. 图1 要实现这样 ...
- keepalived 结合mysql 自动切换
启动keepalived:/usr/local/sbin/keepalived -D -d -S 0 master ip:192.168.32.6 master:/root/sbin# cat /et ...
- CCIE路由实验(6) -- 组播Multicasting
1.组播IGMP的各种情况2.PIM Dense-Mode3.PIM Sparse-Mode4.PIM双向树和SSM5.动态RP之auto-rp6.动态RP之BSR7.Anycast RP8.域间组播 ...
- Swift Error fatal error: unexpectedly found nil while unwrapping an Optional value
致命的错误: 对一个为空的optional值进行解包. 强制解包(forced unwrapping): 在optional后面加叹号. 比如 "value!" 错误代码: le ...
- 关于callContext
coding们肯定有这种需求,在程序中,方法一级级调下去,比如A->b->C->D.... ->Z.在调用过程中,希望在调用函数之间传递一些数据,常见的是将特定的数据从高往低处 ...
- 如何捕获Wince下form程序的全局异常
前言 上两篇文章我们总结了在winform程序下如何捕获全局的异常.那么同样的问题,在wince下我们如何来处理呢?用相同的代码来处理可以吗? 答案是否定的,上面的方案1完全不能解决wince下的情况 ...
- [置顶] oracle存储过程中单引号及字符串拼接处理
在ORACLE中,单引号有两个作用,一是字符串是由单引号引用,二是转义.单引号的使用是就近配对,即就近原则.而在单引号充当转义角色时相对不好理解 1.从第二个单引号开始被视为转义符,如果第二个单引号后 ...
- js ajax调用请求
<pre name="code" class="html"> function getAppList(env){ var data = {}; da ...