今天宠物迷的小编给各位宠物饲养爱好者分享设置session值的宠物知识,其中也会对jsp 怎么获取session里面的值(jquery获取session中的值)进行专业的解释,如果能碰巧解决你现在面临的宠物相关问题,别忘了关注本站哦,现在我们开始吧!
jsp获取action传来的session值问题有一下几种方法:
比如action中有个session ("sessionid","11111111")
一、用struts标签获取:
二、 session也是内置对象之一,可以直接用session,比request.getSession方便多了,也可以写成
三、el表达式获取:${sessionScope.sessionid}
如果赋值的是个bean,也是一样的,类似于${sessionScope.bean.beansth}
java中设置session存在整个web的时间方法如下:
(1)在主页面或者公共页面中加入:session.setMaxInactiveInterval(900);
参数900单位是秒,即在没有活动15分钟后,session将失效。
这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。
(2)也是比较通用的设置session失效时间的方法,就是在项目的web.xml中设置
Xml代码
[xhtml] view plaincopy
15
这里的15也就是15分钟失效.
(3)直接在应用服务器中设置,如果是tomcat,可以在tomcat目录下conf/web.xml中
找到元素,tomcat默认设置是30分钟,只要修改这个值就可以了。
import javax.servlet.http.HttpSession; //需要引入servlet-api.jar
HttpSession session = request.getSession();
session.setAttribute("变量名", 值对象);
session.getAttribute("变量名"); //此时取出来的是Object, 一般需要强转
session.removeAttribute("变量名");
session.invalidate(); //删除所有session中保存的键
------------------------------------------------------
HttpSession是不能new出来的,
要从HttpServletRequest中调用getSession方法得到.
一般也就是request.getSession();
import javax.servlet.http.HttpSession; //需要引入servlet-api.jar
HttpSession session = request.getSession();
session.setAttribute("变量名", 值对象);
session.getAttribute("变量名"); //此时取出来的是Object, 一般需要强转
session.removeAttribute("变量名");
session.invalidate(); //删除所有session中保存的键
------------------------------------------------------
HttpSession是不能new出来的,
要从HttpServletRequest中调用getSession方法得到.
一般也就是request.getSession();
先得到session,再从session中获取到参数值.
你指的.asa是global.asa文件么??
把它放在根目录就行了~~
global.asa文件内容
Sub Application_onStart
End sub
Sub Application_onEnd
End sub
Sub Session_onStart
End sub
Sub Session_onEnd
End sub
ession是后台服务器端的变量,而js是前段脚本,
在js中是没有现成的方法获取session的值的,需要通过服务器语言来获取。
比如java就可以用来获取session的值,再赋值给js变量。
以jsp为例,通过:
var id = '';
java代码用单引号引起来,java中字符串变量用双引号
示例
可以做一个jsp简单的页面显示session的值:
先将session值置为Imsession,然后显示。调用jsp代码来运行
自定义浏览页面
function x(){
var id = '';
alert("session是"+id);
}
先得到session,再从session中获取到参数值.
打开php.ini设置文件
修改三行如下:
1、session.use_cookies
把这个的值设置为1,利用cookie来传递sessionid
2、session***okie_lifetime
这个代表SessionID在客户端Cookie储存的时间,默认是0,代表浏览器一关闭SessionID就作废……就是因为这个所以PHP的session不能永久使用! 那么我们把它设置为一个我们认为很大的数字吧,999999999怎么样,可以的!就这样。
3、session.gc_maxlifetime
这个是Session数据在服务器端储存的时间,如果超过这个时间,那么Session数据就自动删除! 那么我们也把它设置为99999999。
就这样一切ok了,当然你不相信的话就测试一下看看——设置一个session值过个10天半个月的回来看看,如果你的电脑没有断电或者宕机,你仍然可以看见这个sessionid。
当然也可能你没有控**务器的权限并不能像我一样幸运的可以修改php.ini设置,一切依靠我们自己也是有办法的,当然就必须利用到客户端存储cookie了,吧得到的sessionID存储到客户端的cookie里面,设置这个cookie的值,然后把这个值传递给session_id()这个函数,具体做法如下:
代码如下
<?php
session_start(); // 启动Session
$_SESSION['count']; // 注册Session变量Count
isset($PHPSESSID)?session_id($PHPSESSID):$PHPSESSID = session_id();
// 如果设置了$PHPSESSID,就将SessionID赋值为$PHPSESSID,否则生成SessionID
$_SESSION['count']++; // 变量count加1
setcookie('PHPSESSID', $PHPSESSID, time()+3156000); // 储存SessionID到Cookie中
echo $count; // 显示Session变量count的值
?>
如果很久以后(多久?你自己看吧)你回来刷新这个页面,输出的数字比你走的时候大了1那就对了!如果大了很多,估计是谁动你电脑了,这次测试就不准确了,呵呵……重新出去一会儿吧!
注意:在setcookie一行中的’PHPSESSID’并不是一定的,如果你遇到有个患有修改狂疾病的网管员,他可能对其做了修改,最好的方法是用phpinfo()这个函数看看,确认一下session.name一项的值,比较科学。
单纯的js中不可以设置session.因为session是服务器端,js只是客户端的.
不过你可以通过js访问服务器端代码(如ajax机制),从而操作session
本文由宠物迷 百科常识栏目发布,非常欢迎各位朋友分享到个人朋友圈,但转载请说明文章出处“jsp 怎么获取session里面的值”
上一篇
杜高犬聪明吗
下一篇
怎么教雪纳瑞定点上厕所!