怎样在html页面中取得session中的值
发布时间:2025-05-19 13:18:37 发布人:远客网络
一、怎样在html页面中取得session中的值
怎样在html页面中取得session中的值?
1.首先呢session的key-value都是存在server的,浏览器HTML页面是没有办法直接取得session中的值,只有在html里能通过js拿到jesessionid之类的东西。
1.1、数据量如果小,可以考虑放到cookie里,传到客户端,html里用js就可以拿到。
1.2、如果数据量大,可以考虑单独做一个jsp或servlet,根据传来的session的key,返回序列化的session的值,比如json之类的。html里用js通过ajax获取。这种方式复杂了点,多一次远程访问,但是灵活方便。
如:<input type="text" value='<%#Session["username"]%>'>
2.或者得通过后台才能获取,session是存在服务器端的,如果你用cookie的话,可以通过js获取。
比如:写个webservice ajax获取你要的session值或者利用利用模板语言输出。
3.用response.sendRedirect("a.html?param=hello");用下面的JS方法
如:var v=getUrlParameter('param');
function getUrlParameter( name){
name= name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS="[\\?&]"+name+"=([^]*)";
var regex= new RegExp( regexS);
var results= regex.exec(window.parent.location.href);
if( results== null) return""; else{
以上几种方法在html页面中取得session中的值.
二、js怎么取session(js怎么取整)
我想问一下,用JS怎么获取SESSION中的值
@gtczr说的对,SESSION是指保存在服务器的会话,而JS是运行在客户端的,如果你想取得SESSION里面的值,需要使用动态语言在页面上输出内容并赋给JS变量,或使用接口来获取。如:
@gtczr说的对,SESSION是指保存在服务器的会话,而JS是运行在客户端的,如果你想取得SESSION里面的值,需要使用动态语言在页面上输出内容并赋给JS变量,或使用接口来获取。如:
'%=session.getAttribute("SESSION_KEY")%';
js里怎么取session的值
因为Session是保存在服务端的,js只能通过ajax读取Session。不过一般也不建议这么做,你可以把前端验证码输入的值传给后端,后端判断是否正确,返回是否正确就行了。因为你直接把验证码发给前端,这样就可以使用js得到验证码,并自动输入,就失去验证码的意义了。
因为Session是保存在服务端的,js只能通过ajax读取Session。不过一般也不建议这么做,你可以把前端验证码输入的值传给后端,后端判断是否正确,返回是否正确就行了。因为你直接把验证码发给前端,这样就可以使用js得到验证码,并自动输入,就失去验证码的意义了。
varid='%=Session["UserName"]%';
session是服务器对象,javascript是客户端脚本,能做的操作就是把这个值用%=%输出到页面的javascript中参与运算,而无法直接用js调用的。
??var?a='%=session.getAttribute("userName")%';
??//或者用var?a="${sessionScope.userName}"
此方法在静态页面中不可用,在javascript文件下不可用,用于jsp页面中嵌套的脚本中。
Session是会话周期域,是服务端上同一个客户端一次会话请求的容器.
JS是运行在浏览器上的,无法直接访问session.
如果你想服务端存的值客户端直接访问,可以考虑用cookies存储.
如果非要用session存储可以在页面上用隐藏的input控件存储该值,然后用js读取.
或用Ajax请求获取后台session中的值.
在jsp中使用js中的设置属性,进而获得session保存的属性值,实例如下:
session.setAttribute("username",username);
session.setAttribute("password",password);
username=session.getAttribute("username");
password=session.getAttribute("password");
1、首先需要打开vscode,创建一个H5规范的页面,在同级目录放一个jquery源文件,并在页面中引入jquery。
2、后台可以将session的值,通过一个字段,或者viewbag(asp.netmvc)等方式隐藏到界面上,不要将敏感信息通过这种方式返回。
3、后台也可以提供一个获取session的方法GetSession,用于返回session的值。
4、前台通过js(jquery)的ajax方法(get),调用后台方法,获取session的值。
5、后台再提供一个方法SetSession,接收一个参数,将数据保存到session中。
6、前台通过js(jquery)的ajax方法(post),调用后台方法,传递参数到后台方法即可。
三、如何在html中获取jsp中的session的值
服务器跟踪用户状态有好几种方法,其中一种就是,服务器保持session,给客户端一个sessionid,客户端每次发送请求时,会把这个sessionid提交给服务器(这是浏览器干的事),服务器根据这个sessionid找到相应的session,如果你用的jsp,jsp引擎(比如tomcat)会吧这个session作为一个实例变量放到jsp页面里,你可以直接使用。如果是html文件,jsp引擎会直接发送给客户端html文件的内容。
客户端的js访问cookie的方法只能访问存储在客户端的cookie(使用js或session的cookie存储的)。
一般来说,只有服务器端的CGI程序(ASP、PHP、JSP)具有session会话功能,用来保存用户在网站期间(会话)的活动数据信息,而对于数量众多的静态页面(HTML)来说,只能使用客户端的cookies来保存临时活动数据,但对于cookies的操作是个很烦琐的过程,远没有对于session操作那样简便。
为此,本文向读者推荐一种在DHTML中的解决方案“Persistence技术”,使得在静态页面中也能使用session会话功能。
使用保持(Persistence)技术让我们能够在当前会话过程中保存一些数据对象到客户端,它减少了对服务器的访问请求,充分发挥了客户端计算机的数据处理能力,从而也整体提升了页面显示效率。
Microsoft Internet Explorer 5浏览器和以后的版本都支持使用状态保持(Persistence)技术,它有以下几种行为可供调用:
saveFavorite—当页面被添加到收藏夹时保存页面状态和信息
saveHistory—在当前会话中保存页面状态和信息
saveSnapshot—当页面被保存到硬盘时,保存页面状态和信息persists
page state and information directly in the page when users save the Web page to
userData—在当前会话中用XML格式保存页面状态和信息网页制作
Persistence技术打破了以前使用使用cookies和session的传统,它继承了以前cookies的一些安全策略,同时也增加了存储和管理数据的能力。我们的每个页面有64KB的用户数据存储容量,对于每个站点总计有640KB的存储上限。
Persistence技术存储的数据格式符合XML标准,所以可以使用DOM技术中的getAttribute和setAttribute方法来存取数据。
下面是一个Persistence技术的典型应用,通过对Persistence存储数据的分析,使得静态页面具有验证功能。
有三个对象:游客V、导航页面A、内容页面C
游客V只能通过导航页面A的链接才能看到内容页面C;
如果游客V是通过其它途径来访问内容页面C(比如通过其它网站的超链接、直接在IE地址栏中输入网址访问等),内容页面C将自动提示版权信息,显示空白页。
一、在“导航页面”中加入一个STYLE用来定义persistent类,同时加入存储函数fnSave用来授权。
.userData{behavior:url(#default#userdata);}
<SCRIPT language=Javascript>
oPersistDiv.setAttribute("bIsValid","true");
oPersistDiv.save("oXMLStore");
二、在“导航页面”的<body>和</body>区域中定义一个层用来标识Persistence对象
<DIV CLASS=userData ID="oPersistDiv"></DIV>
三、在“导航页面”的超链接属性中加入一条语句用来调用函数fnSave:
<a href='redhat2.htm' onmousedown="fnSave()">
接下来,为“内容页面”加入验证功能:
四、在“内容页面”中加入一个STYLE用来定义persistent类,同时加入存储函数fnLoad用来判断合法性。
.userData{behavior:url(#default#userdata);}
oPersistDiv.load("oXMLStore");
if((oPersistDiv.getAttribute("bIsValid"))&&(oPersistDiv.getAttribute("bIsValid")=="true")){
oPersistDiv.setAttribute("bIsValid","false");
oPersistDiv.save("oXMLStore");
var sError="来源不明,请您通过授权网站访问我们.";
五、修改“内容页面”的<body>区域如下:
<BODY onload="fnLoad()">
<DIV CLASS=userData ID="oPersistDiv"></DIV>
从以上范例可看出,通过persistence的使用,使得普通的静态内容页面具有了session功能,一般的不敏感信息完全可以通过session保存在客户端。
另外,如果不明白persistence的使用,也可以这样,你的首页上有个form,用来提交用户名和密码。如果你把首页换成html页面,完全可以,不过要在其他地方接收用户名和密码(比如logon.jsp)。form的action设为logon.jsp。很简单。使用form的action来转移接受session的地方,首页就可以用静态了