JSP Session对象
2016-05-20 00:00
441 查看
摘要: 介绍了JSPSession对象的使用
##Session
Session用于区分不同的用户,每一个session就表示一个用户。
在jsp中javax.servlet.http.HttpSession对象。
Session在实际的操作中主要的功能是判断用户是否登陆。常用方法:
setValue()之类的方法,是session最早的操作,如果在一些比较旧的书上可能会发现这样的用法,因为后来为了强调JSP中四种属性范围,所以将方法修改了。
##2.session中的主要操作方法
###1.1.取得sessionID
###1.2.让session失效:注销
每次执行invalidate方法的时候,就表示session失效。
例子:
###1.3、session的主要功能在于系统登录上
在所有的系统之中,session对象中使用最多的操作就是设置和取得属性。
范例:login.jsp
范例:welcom.jsp
为程序加入注销功能的页面
范例:loginout.jsp
一个好的程序,应该加入验证码的操作。
###1.4判断是否是新的session
当用户第一次连接到服务器的时候,可以通过isNew()方法来判断此用户是否是新用户。
范例:判断新用户
此方法的原理实际上是在于Cookie的设置上,回顾一下
如果用户第一次访问服务器的话,Cookie中并不会存在JSESSIONID
而如果用户第二次访问的话,Cookie中已经存在了JSESSIONID,所以就不认为他是新用户了。
##SESSION与Cookie的关系
Session在服务器端
Cookie在客户端
##Session
Session用于区分不同的用户,每一个session就表示一个用户。
在jsp中javax.servlet.http.HttpSession对象。
Session在实际的操作中主要的功能是判断用户是否登陆。常用方法:
No | 方法 | 描述 |
---|---|---|
1 | Public void setAttribute(String name,Object value) | 设置属性 |
2 | Public Object getAttribute(String name) | 取得属性 |
3 | Public void removeAttribute(String name) | 删除属性 |
4 | Public Boolean isNew() | 判断是否是新的session |
5 | Public String getId() | 返回sessionID |
6 | Public void invalidate() | 让session失效 |
7 | Public void setValue(String name),Object value) | 设置属性 |
8 | Public Object getValue(String name) | 取得属性 |
9 | Public void removeValue(String name) | 删除属性 |
##2.session中的主要操作方法
###1.1.取得sessionID
<%=session.getId()%>
###1.2.让session失效:注销
每次执行invalidate方法的时候,就表示session失效。
例子:
<%=session.getId()%> //取得sessionID <% session.invalidate(); //让session失效 %>
###1.3、session的主要功能在于系统登录上
在所有的系统之中,session对象中使用最多的操作就是设置和取得属性。
范例:login.jsp
<%@page contentType="text/html;charset=gbk"%> <center> <form action="login.jsp" method="get" > <table border="1" > <tr> <td colspan="2"><h1>登陆界面</h1></td> </tr> <tr> <td>用户名:</td> <td><input type="text" name="name" /></td> </tr> <tr> <td>密 码:</td> <td><input type="password" name="pwd" /></td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="提交" /> </td> </tr> </table> </form> <% String name=request.getParameter("name"); String pwd=request.getParameter("pwd"); if(!(("".equals(name) || name==null) &&( "".equals(pwd) || pwd==null ))){ if(name.length()>5 && pwd.length()>5){ session.setAttribute("name",name); response.sendRedirect("welcome.jsp"); } else{ %> <h2><%="用户名或密码错误"%></h2> <% } } %> </center>
范例:welcom.jsp
<%@ page contentType="text/html;charset=gbk"%> <% if(session.getAttribute("name")!=null){ %> <h1>欢迎光临!</h1> <h1><a href="loginout.jsp">注销</a></h1> <% }else{ %> <h1>请先<a href="login.jsp">登录</a>!</h1> <% } %>
为程序加入注销功能的页面
范例:loginout.jsp
<% //注销session, session.invalidate(); %>
一个好的程序,应该加入验证码的操作。
###1.4判断是否是新的session
当用户第一次连接到服务器的时候,可以通过isNew()方法来判断此用户是否是新用户。
范例:判断新用户
<%@page contentType="text/html;charset=gbk"%> <h1> <% if(session.isNew()){ %> <%="欢迎新用户"%> <% }else{ %> <%="您是老用户了!"%> <% } %> </h1>
此方法的原理实际上是在于Cookie的设置上,回顾一下
如果用户第一次访问服务器的话,Cookie中并不会存在JSESSIONID
而如果用户第二次访问的话,Cookie中已经存在了JSESSIONID,所以就不认为他是新用户了。
##SESSION与Cookie的关系
Session在服务器端
Cookie在客户端
相关文章推荐
- JSP/PHP基于Ajax的分页功能实现
- 开发阶段Jetty运行Jsp报错且响应空白
- kindeditor 批量上传 上传失败 thinkphp swfupload session
- 杰奇登录后的东西都是在session里面的
- jsp简单实现页面之间共享信息的方法
- ASP中SESSION无法保存问题的解决办法
- Apache Web让JSP“动”起来
- Oracle中的Connect/session和process的区别及关系介绍
- Node.js编程中客户端Session的使用详解
- 浅谈COOKIE和SESSION区别
- 解析PHP的session过期设置
- php中Session的生成机制、回收机制和存储机制探究
- php中将一个对象保存到Session中的方法
- 深入解析Session是否必须依赖Cookie
- 对比分析php中Cookie与Session的异同
- PHP Session机制简介及用法
- 新手菜鸟必读:session与cookie的区别