首页范文正文

JSP内置session对象的调用方法

扫码手机浏览

大家好!今天让小编来大家介绍下关于JSP内置session对象的调用方法的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。...

JSP实际上就是Java的一种特殊形式,它加入了一个特殊的引擎,这个引擎会自动初始化HTTPServlet类的某些对象,以便让用户直接使用,而无需关注初始化的细节。以下是关于JSP内置session对象调用方法的说明,供大家参考!

application对象与session对象有所不同。application对象用于在多个程序之间共享信息,每个服务器只有一个application对象。它可以绑定多个类似全局变量的参数或Java对象。每个JSP程序所访问的都是application对象的一个同步副本,其内容是相同的,并且application对象的生命周期贯穿服务器的整个运行周期。与之不同的是,服务器上的session对象可以有多个,不同用户所面对的session对象通常是不同的。当用户登录网站时,系统会为其生成一个独一无二的session对象,用以记录该用户的个人信息。一旦用户退出网站,该session对象就会被注销。session对象也可以绑定多个参数或Java对象,这些参数或对象相当于局部变量,在不同的session对象之间不会相互干扰。通过应用session对象的功能,可以很容易地实现购物车等功能。

需要注意的是,我们只能获取原session对象的一个同步副本,这一点与application对象类似。虽然application对象和session对象都可以被创建,但它们只能由JSP引擎自动创建。application对象在服务器启动时创建,在服务器关闭时删除;session对象在新的HTTP连接产生时创建,在HTTP连接中断或超时时删除。同时,JSP程序员也可以调用invalidate()方法强制删除session对象,从而中断HTTP连接。这是application对象和session对象之间的一个不同之处。

session对象的主要特点包括:

HTTP是无状态(stateless)协议;

WebServer对每一个客户端请求都没有历史记忆;

Session用于保存客户端状态信息;

由WebServer写入,并存储于客户端;

客户端的每次访问都会传递上次的session记录给WebServer;

WebServer通过读取客户端提交的session来获取客户端的状态信息。

获取session对象的方法包括:

直接使用session关键字引用session对象。

使用request对象的getSession()方法。该方法返回HttpSession接口的实例对象,即session对象。需要注意的是,这个新获取的HttpSession对象不能命名为session,因为session是JSP引擎自动创建的当前session对象的一个同步副本。

使用PageContext对象的getSession()方法。通过pageContext对象的getServletContext()方法可以获取application对象的副本,同样,使用pageContext对象的getSession()方法也可以获取session对象的一个副本。

以上方法得到的三个结果都是相同的。

 

第2篇:关于javascript对象之内置和对象Math的使用方法

一、Math.min()和Math.max(),分别返回参数中的最小和最大值

例:

alert(Math.min(1,2,3))//输出"1"

alert(Math.max(1,2,3))//输出"3"

二、Math.abs(),返回参数的绝对值

例:

alert(Math.abs(1))//输出"1"

三、Math.random(),产生一个0到1的随机数

例:

window.open("***/?t="+Math.random)//在url地址后面加上一个值为随即数的参数,能保证页面每次都从服务器上重新拉取,而不是读取缓存。

四、Math.floor(),Math.round(),Math.ceil()

Math.floor():把小数向下舍入成整数例:alert(Math.floor(1.5))//输出"1"

Math.round():把小数标准四舍五入成整数例:alert(Math.round(1.5))//输出"2"

Math.ceil():把小数向上舍入成整数例:alert(Math.round(1.5))//输出"2"

利用这三个函数,在涉及小数计算的时候就非常方便,比如设计如下函数来进行小数处理

复制代码代码如下:

functiontest(num,flag,bit)//参数分别是要传入的小数"num"舍入标准(1,向下;0,标准;1向上)"flag"保留小数的位数"bit"

{

varn=Math.pow(10,bit);

switch(flag)

{

case1:returnMath.floor(num*n)/n;break;

case0:returnMath.round(num*n)/n;break;

case1:returnMath.ceil(num*n)/n;

}

}

 

第3篇:PHP中session使用方法详解

Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。跟随小编去看看吧!

一般来说,在网站上某一个页面中的变量(指服务器端变量,下同)是不能在下一页中用的,有了session就好办了。session中注册的变量可以作为全局变量使用。这样我们就可以将session用于用户身份认证,程序状态记录,页面之间参数传递。

PHP3版本中是如何实现session的?

php3本身是没有实现session功能的,我们只有用其他的方法来实现,这其中最有名的要算phplib了。phplib最基本的功能包括用户认证、Session管理、权限及数据库的抽象化。下面我们就讲述一下如何用phplib实现session。

1、首先安装phplib(环境为win2000+php3.0.16+Apache1.3.12+phplib7.2c+mysql3.23.21forwin32)

首先将phplib解开,里面有一个"php"目录,将这个目录拷贝到Apache的安装目录下。例如:Apache安装在d:\Apache目录下,那么就将"php"目录拷贝到d:\Apache,并将phplib目录的pages目录下(不包括目录本身)的文件和目录一起拷贝到d:\Apache\htdocs下。

phplib的类库需要根据系统进行初始化,可能需要修改local.inc文件,其中包含着一些基本参数,可以根据自己机器的实际情况来进行修改。

将d:\Apache\php\prepend.php文件中的一段程序改为如下样子:

if(!isset($_PHPLIB)or!is_array($_PHPLIB)){

$_PHPLIB["libdir"]="d:/Apache/php/";//放phplib下php目录的路径

}

修改d:\Apache\php\local.inc文件:

classDB_ExampleextendsDB_Sql{

var$Host="localhost";//mysql数据库所在主机名

var$Database="test";//数据库名

var$User="root";//数据库用户名

var$Password="1234567";//数据库用户密码

}

最后根据phplib目录下的stuff子目录中的create_database.mysql文件生成初始表。

由于每一个使用phplib的页面首先必须可以找到运行phplib所必需的类库文件,我们可以在php.ini中设置auto_prepend变量来支持,phplib中包含一个prepend.php文件,并将auto_prepend指定为"d:/Apache/php/prepend.php"(带引号)后,各页面就会自动包含phplib类库,我们还可以将phplib类库所在目录加进include变量中,以便可以找到这些文件。

2、调用page_open()函数

在每一个使用phplib的页面中,必须首先调用page_open函数进行初始化,例如:

<?php

page_open(array("sess"=>"Test_Session"));

?>

数组变量(sess)用来初始化一些状态保存对象,这里应该注意:必须使用phplib内置名(sess),这些内置名是在local.inc中所定义的.。

因为phplib使用了Cookies来保存状态信息,所以page_open()函数必须在页面内容输出到浏览器之前被调用。php脚本最后应以page_close()结束,这将会将有关状态数据写回到数据库中,否则变量会丢失。

3、具体使用。

注册一个变量后即可在随后的页面中使用它,直至session结束。方法:

<?php$sess>register("varname");?>

注意,这里的varname不是变量值,而是变量名,可以先指定变量名,随后再赋值。你在某个页面中可以改变变量的值,随后的页面访问该变量时会得到改变后的值。变量的类型是多样的,可以是一个字符串,一个数字,一个数组。举例来说明:

第一页:

<?php

page_open(array("sess"=>"Test_Session"));

$sess>register("wele");//注册变量$wele,注意不需要加$

$wele="Hello,PHPworld!";

……

page_close();

?>

第二页:

<?php

page_open();//开始session

echo$wele;//显示第一页中定义的$wele

page_close();//保存状态信息

?>

注册完一个变量,当页面最后调用page_close()函数后,各个session变量会被写回到数据库中。如果忘记调用page_close()函数的话,变量就不会被写回数据库,这样将出现不可预知的后果。当变量被使用完毕,不再需要用到时,可以调用以下函数将变量删除:

<?php

page_open(array("sess"=>"Test_Session"));

……

$sess>unregister("variable_name");

……

page_close();

?>

在PHP4版本中是如何实现session的?

php4的session也靠cookies保存sessionid,用文件系统保存变量(默认情况下),因此,它的session变量不能保存对象。当然也可以将session保存在数据库中。

在php4中有关session的函数很多(详见php.ini配置一文),通常情况下我们只需要调用三个函数即可:sesssion_start()、session_register()、session_is_registered()。

在需要用到session的每一页的最开始处调用session_start()函数,例如:

<?session_start()?>

<html><body>

<?

$wele="helloworld!";

session_register("wele");//注册$wele变量,注意没有$符号

if(session_is_registered("wele"))//检查$wele变量是否注册

echo"wele变量已经注册了!";

 

0
0
收藏0