设置Session方法:直接赋值即可
<?PHPSession_Start()
$_SESSION["name"]="这是我的session!"
?>
2.删除Session方法:
<?phpsession_start()
session_unset()
session_destroy()
?>
3. 设置Session跟开发环境没关系,本地、远程服务器,不影响
那个什么java2000纯粹是做广告的。下面接着回答问题。
----------华丽的分割线-----------------
服务器跟踪用户状态有好几种方法,其中一种就是,服务器保持session,给客户端一个sessionid,客户端每次发送请求时,会把这个sessionid提交给服务器(这是浏览器干的事),服务器根据这个sessionid找到相应的session,如果你用的jsp,jsp引擎(比如tomcat)会吧这个session作为一个实例变量放到jsp页面里,你可以直接使用。如果是html文件,jsp引擎会直接发送给客户端html文件的内容。
客户端的js访问cookie的方法只能访问存储在客户端的cookie(使用js或session的cookie存储的)。
讲解完毕,下面开始分析楼主的问题
-----------极度华丽的分割线----------
首先,你的首页上有个form,用来提交用户名和密码。如果你把首页换成html页面,完全可以,不过要在其他地方接收用户名和密码(比如logon.jsp)。form的action设为logon.jsp。很简单。
完毕
怎样在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 {
return results[1]
}
}
以上几种方法在html页面中取得session中的值.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)