发布日期:2012-02-13

JSP Session的知识 学习

session内置对象

一.认识session

1.session在jsp中是

javax.servlet.http.HttpSession

的对象,用于区分不同的用户,每

一个session就表示一个用户。

2.它的主要功能就是判断用户的登陆,常用的方法如下:

(1)设置属性:

public void setAttribute(String name,Object value)

(2)取得属性:

public Object getAttribute(String name)

(3)删除属性:

public void removeAttribute(String name)

(4)判断是否新session:

public boolean isNew()

(5)返回sessionid:

public String getId()

(6)让session失效:

public void invalidate()

(7)设置属性:

public void setValue(String name,Object value)

(8)取得属性:

public Object getValue(String name)

(9)删除属性:

public void removeValue(String name)

(注意后三种方法是session最早的操作,后来为了jsp四种属性范围进行修改,

现在不建议使用.)

二.session主要操作方法

1.取得session id

服务器是靠session id对用户进行区分的,此session id在客户端第一次连接到服务器时

由服务器自动分配,不能手工设置

例1:

新建session1.jsp文件,取得session id:

<%@ page contentType=”text/html;charset=GBK”%><h1><%=session.getId()%></h1>复制代码
 

2.让session失效,即注销

每次执行invalida()方法是,表示session失效。

例2:

新建session2.jsp文件,观察session失效:

<%@ page contentType=”text/html;charset=GBK”%><h1><%=session.getId()%></h1><%session.invalidate() ; // 让session失效%>复制代码
 

3.判断是否为新的session

当用户第一次连接到服务器时,可通过isNew()方法判断是否为新用户。

此方法的原理在于cookie的设置

(1)若用户第一次访问服务器,则cooki中不存在JSESSIONID

(2)若用户第二次访问服务器,则cookie中已经存在JSESSIONID

例3:

新建session3.jsp文件,进行判断:

<%@ page contentType=”text/html;charset=GBK”%><%if(session.isNew()){%><h2>欢迎新用户光临!</h2><%}else{%><h2>你不是新用户了!</h2><%}%>复制代码
 

例4:

新建session4.jsp文件,检验JSESSIONID和session id的值是否一致:

<%@ page contentType=”text/html;charset=GBK”%><h1><%=session.getId()%></h1><%Cookie c[] = request.getCookies() ;if(c!=null){for(int i=0;i<c.length;i++){%><%=c[i].getName()%> &ndash;> <%=c[i].getValue()%><%}}%>复制代码
 

4.注意session和cookie的关系:session是在服务器端的,cookie是在客户端的

5.sessio用于系统登录

在所有系统中,session对象中使用最多的操作就是设置和取得属性

例5:

新建login.jsp文件,负责登录:

<%@ page contentType=”text/html;charset=GBK”%><h1>系统登陆</h1><form action=”login.jsp” method=”post”>用户名:<input type=”text” name=”name”><br>密&nbsp;&nbsp;码:<input type=”password” name=”password”><br><input type=”submit” value=”登陆”><input type=”reset” value=”重置”></form><%String name = request.getParameter(“name”) ;String pass = request.getParameter(“password”) ;if(!((“”.equals(name)||name==null)&&(“”.equals(pass)||pass==null))){// 假设用户名是abc,密码是123if(“abc”.equals(name)&&”123″.equals(pass)){session.setAttribute(“name”,name) ; // 登陆了设置sessionresponse.sendRedirect(“welcome.jsp”) ;}else{%><h3>错误的用户名或密码</h3><%}}%>复制代码
 

新建logout.jsp文件,负责注销:

<%@ page contentType=”text/html;charset=GBK”%><%session.invalidate() ;%>复制代码
 

新建welcome.jsp,表示欢迎界面:

<%@ page contentType=”text/html;charset=GBK”%><%if(session.getAttribute(“name”)!=null){ // 合法用户%><h1>欢迎光临!</h1><h2><a href=”logout.jsp”>注销</a></h2><%}else{%><h1>请先<a href=”login.jsp”>登陆</a>!</h1><%}%>复制代码
 

 ------------------完整例子-----------------------------------------------

1.bankname.jsp

<html><head><title>First Page</title></head><body><form method="post" action="custid.jsp">what is you Bank Name?<input type="text" name="bank" ></input><p><input type="submit" value="submit" ></input></p></form></body></html>复制代码
 

2.custid.jsp

<html><head><title>Second Page</title></head><body><%! String name = ""; %><%name = request.getParameter("bank");session.putValue("bankname",name);%>The name is <%= name %><p><form method="post" action="bank.jsp" >what is your customer ID?<input type="text" name="custid" ></input></p><input type="submit" value="submit" ></input></form></body></html>复制代码
 

3.bank.jsp

<html><head><title>Third Page</title></head><body><%! String name   = ""; String CustId = "";%><%CustId = request.getParameter("custid");name = (String)session.getValue("bankname");%>Your bank name is <b><%= name %></b><p>Your customer ID is <b><%= CustId%></b></p></body></html>

相关资讯

电子商务网站建设的构架
电子商务网站建设的构架
2019-01-18

电子商务网站设计包括了内容、栏目、版式、风格设计。 1.内容设计:电商网站内容需要紧紧围绕网站的主题,文不对题的网站会使企业流失大批客户…

做网站之前对行业和市场的分析重要吗
做网站之前对行业和市场的分析重要吗
2020-04-06

做网站最重要的是什么?就是网站的定位,怎么来定位,就是根据自身的行业需求,自身公司情况,进行系统的分析,自己公司在一个什么样的环境和…

网站推广之友情链接购买方法和友情链接添加方法
网站推广之友情链接购买方法和友情链接添加方法
2013-04-20

在网站建设好后,就会考虑到在网站宣传一下。首先做的是SEO就是搜索引擎的排名。做搜索引擎排名最主要的方法就是多添加信息和友情链接。添加信…

沛宣网络关于2020年对企业建设网站的一些建议
沛宣网络关于2020年对企业建设网站的一些建议
2020-05-16

大家都知道2020年是不平凡的一年,由于疫情原因,各行各业可能面临转型,升级,互联网的发展也达到了另一个高度,越来越多的人也开始重视互联网…

重庆网站优化-专业的一站式网络营销专家
重庆网站优化-专业的一站式网络营销专家
2010-10-24

建网站+网络营销=800元=生意更红火企业网络营销,建网站是第一步,网站建设专家,网络营销专家!性价比最高的网络公司.企业营销网站800元起!…

公司签约重庆惠特施建材有限公司网站建设
公司签约重庆惠特施建材有限公司网站建设
2011-04-02

重庆惠特施建材有限公司是一家从事高档化工建材的专业化高兴技术企业,公司产品系列齐全,涵盖弹性防水系列,刚性防水系列,外墙透明防水系列…

重庆网站建设-高性价-高效率-高保障-我们只做有价值的网站!
重庆网站建设-高性价-高效率-高保障-我们只做有价值的网站!
2011-08-08

重庆网站建设-高性价-高效率-高保障-我们只做有价值的网站!企业建设一个网站是必须的!网站是企业的形象,是一张打开市场的名片,马虎不得!博…

使网站变灰的代码
使网站变灰的代码
2011-10-28

网站灰色代码-深切哀悼青海玉树地震遇难同胞 北京时间2010年4月14日7时49分许,青海省玉树藏族自治州玉树县(北纬33.2度,东经96.6度)发生7.1级地震,震…

电商平台营销型网站建设如何变革?
电商平台营销型网站建设如何变革?
2012-03-01

  2007年,上海一比多电子商务公司根据数十年为中小企业进行电子商务服务的经验,认为过去的网络营销存在种种弊端:企业网站粗制滥造,满足不…

什么是网络的基础优化
什么是网络的基础优化
2011-03-19

网站基础优化解释:大家都知道,现在都在用搜索引擎(百度,GOOGLE,soso,雅虎等搜索引擎),搜公司,搜产品,这是大家上网找东西的第一件事情就是…