在javabean或者说网页开发中,session主要用来传递用户信息,也就是全局变量?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在javabean或者说网页开发中,session主要用来传递用户信息,也就是全局变量?相关的知识,希望对你有一定的参考价值。
我对session接触不多 给我的感觉就是 session主要就是用来保存用户的信息 以方便在页面之间的跳转而保持相应的用户信息
他主要是在浏览器中保存程序添加的信息,如Session["UserID"]=userid可以在会话过程中一直在浏览器中保存这个变量的信息.如果注销该Session或则退出浏览器则该Session也将注销.
但是建议最好不要过多的使用Session,仅保留最重要的信息,如用户名,这样再根据用户名在数据库中查询你所要的信息.
这纯属个人心得..不好不要介意啊.
这个是网上找的资料
什么是SESSION
如果你还不太清楚,先我来解释一下什么是SESSION.一个SESSION在别人访问你
的网站是开始,在他离开网站是结束.当然你也可以在程序里终止它.基本上,
COOKIE与浏览器联系在一起的,一些服务器上的资源用来保存SESSION的变量.
默认情况下,php4用文件来保存这些变量.当然,从理论上来讲,也可以用数据库
或共享的内存来保存.
所有使用PHP4的SESSION特性的网页都必须调用session_start()函数,让PHP4
引擎装入与SESSION相关的信息 到内存中.session_start函数会尝试从
COOKIE或当前HTTP的请求的参数中寻找SESSION的ID.如果没找到,就会建立一
个新的SESSION对象.
什么是SESSION变量
SESSION的变量其实就是一个普通的全局变量.当以SESSION变量的方式注册(声
明)时,所有使用PHP4的SESSION功能的网页都可以访问它的值.要把一个变量注
册为SESSION变量,只要先给这个变量赋值,然后调用session_register("变量
名").在后续的使用SESSION功能(通过session_start)的网页中,"变量名"这
个变量在无须重新注册为SESSION变量,它就象一个普通的变量,而它的值就是前
面赋给它的.在程序中改变这个变量的值,它会自动重新注册和保存,且在它后续
的网页中可以正常使用.
那么,它能做什么呢?
问得好!有很多办法可以使用SESSION管理和SESSION变量.这里,我举一个例子
来说明.假如你正在建立一个虚拟社区的站点,你可能要跟踪当前经过论证的用
户名以及他有多少新的消息等信息.为了降低数据库的负载,你要用其他办法来
保存这些信息.有两种办法:
使用三个COOKIE
authenticatied_user - 当前经过论证的用户名
num_message - 他有多少新的消息
expire_time - COOKIE的过期时限
使用SESSION,注册三个SESSION变量
第一个方法有很大的安全隐患,别人可以伪造COOKIE,然后用另一个帐号去访问
系统.再说,所有的信息都通过HEADER()函数实现,比较麻烦.另外,当用户的浏
览器拒绝接受其中的一个COOKIE是,整个数据就不完整了.
用SESSION,只要一个COOKIE,就能保存所有的信息.安全性也好一点.
不足之处
使用任何服务器端的脚本语言,SESSION都可以提供一个非常自由,灵活和强大
的功能.但在PHP4中的SESSION有一些限制: -不能把对象(Objects)本身保存
在SESSION里 -保存在SESSION里的数据的效率不是很高,因为PHP4用文件来
保存SESSION的信息. : 参考技术A session是在网页程序里面提供共有变量的一个类,使得在整个网页的浏览过程中能够跟踪变量的状态和属性。
在一般情况下,session仅仅只保存用户的基本信息,如登录状态,权限等等。如果你愿意,可以保存任何变量,但会造成session占用内存的增大。
session保存的信息在三种情况下会释放,第一是session过期,第二是主动注销session,方法是调用session的立即过期的那个方法,第三是手工释放session中包含变量的属性,如置为null。
为了保证变量操作的方便性,通常会采用javabean和session配合的方法,session中只保存相应的bean的实例,改变变量属性的时候调用bean的get,set方法。好处是变量的个数变少,变量的值更容易传递。如需要增加新的属性,只需要在bean里面添加就可以了,方便进行网页的升级和改版。 参考技术B 可以说是保存在当前浏览器中的信息,
比如登录信息等等,
在关闭当前浏览器前都存在。
scope="session"怎么访问javabean的方法
参考技术A 在项目中的src目录下面创建一个包,并在包下创建一个Java类(注意:一定要创建包,不能直接创建java类,否则无法导入JavaBean在这里插入图片描述
创建之后在java类中写代码,定义好变量之后生成getter和setter(idea上用alt+insert,按住ctrl可选中多个变量)
以上是关于在javabean或者说网页开发中,session主要用来传递用户信息,也就是全局变量?的主要内容,如果未能解决你的问题,请参考以下文章
JSP中四种属性pagecontext request session applcation的解释
JAVAWEB开发之Session的追踪创建和销毁JSP详解(指令,标签,内置对象,动作即转发和包含)JavaBean及内省技术以及EL表达式获取内容的使用
JAVAWEB开发之Session的追踪创建和销毁JSP具体解释(指令,标签,内置对象,动作即转发和包括)JavaBean及内省技术以及EL表达式获取内容的使用