手机端的cookie,session和URL重写
本文的目的是搞清楚Session, Cookie, Url重写这些概念, 然后在这个基础上阐述如何利用
Url重写在Wap门户的开发中维护Session.
什么是Session, 什么是Cookie?
Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID为标识符来存取服务器端的Session存储空间。而SessionID这一数据则是保存到客户端,用Cookie保存的,用户提交页面时,会将这一SessionID提交到服务器端,来存取Session数据。这一过程,是不用开发人员干预的。所以一旦客户端禁用Cookie,那么Session也会失效。
Cookie是客户端的存储空间,由浏览器来维持。
什么是Url重写?
服务器也可以通过URL重写的方式来传递SessionID的值,因此不是完全依赖Cookie。如果客户端Cookie禁用,则服务器可以自动通过重写URL的方式来保存Session的值,并且这个过程对程序员透明。
可以试一下,即使不写Cookie,在使用request.getCookies();取出的Cookie数组的长度也是1,而这个Cookie的名字就是JSESSIONID,还有一个很长的二进制的字符串,是SessionID的值。
实质上 URL 重写是通过向 URL 连接添加参数,并把 session ID 作为值包含在连接中。然而,为使这生效,你需要为你的 servlet 响应部分的每个连接添加 session ID.
知道了Session, Cookie, Url的概念,那么下面的这个问题就不难回答了:
Wap中如何进行Session管理?
Wap与PC不同之处在与Wap1.x不支持Session与Cookie,Wap2.0虽然支持但是只有协议支持还是不行,还要看手机终端支不支持?所以我们的解决方法就是完全不依赖Wap协议,完全不依赖手机终端,使用Url重写进行Session的维护,这个方法只与服务器端有关.
利用Url进行Session重写如何实现?
JSP实现
把 session ID 加到一个连接可以使用一对方法来简化:response.encodeURL() 使 URL
包含 session ID,如果你需要使用重定向,可以使用 response.encodeRedirectURL ()
来对 URL 进行编码。
encodeURL () 及 encodeRedirectedURL () 方法首先判断 cookies 是否被浏览器支持;
如果支持,则参数 URL 被原样返回,session ID 将通过 cookies 来维持。
代码示例:
不使用Url重写:
<a href=http://wwww.myserver.com/servelet/user;userName=awaysrain>Link</a>
使用Url重写:
通过HttpServletResponse接口中的encodeURL()方法编码.
String myURL = response.encodeURL(http://wwww.myserver.com/servelet/user);
<a href= <%=myURL%> _fcksavedurl=" <%=myURL%>" _fcksavedurl=" <%=myURL%>" _fcksavedurl=" <%=myURL%>" >
JSTL实现
<c:url>可以为会话管理重写 URL
<a href="<c:url value='/content/sitemap.jsp'/>">View sitemap</a>
Struts实现:
struts配置文件中:
设置属性redirect, contextRelative
<forward name="listArticlesForBlog"
path="/template/listArticlesForBlog.jsp"
redirect="true"
contextRelative="true"/>
最后一个比较搞的问题:
那么在浏览器允许cookie的情况下,不要求浏览器关闭cookie的情况下使用
url重写如何实现?
http://tomcat.apache.org/tomcat-5.5-doc/config/context.html
Context支持cookies参数。 设置cookies="false",强制只从url解析sessionid。
cookies
Set to true if you want cookies to be used for session identifierContext
communication if supported by the client (this is the default). Set to
false if you want to disable the use of cookies for session identifier
communication, and rely only on URL rewriting by the application.
分享到:
相关推荐
WAP开发是构建移动互联网服务的核心,本手册将深入探讨这一领域的关键知识点。 1. **WAP架构** WAP技术基于分层架构,主要包括WAP网关、WAP客户端(手机上的浏览器)、无线网络和互联网四大部分。WAP网关作为桥梁...
在WAP开发中,考虑到移动设备的限制,需要谨慎使用这些状态管理方式,避免增加不必要的流量。 9. **调试和测试**:开发WAP应用时,使用模拟器或真实设备进行测试至关重要,以确保在各种移动设备上都能正常工作。...
10. **应用发布与更新**:最后,了解如何将应用发布到应用商店或者通过OTA(Over The Air)方式推送给用户,以及如何进行版本管理与更新,都是WAP2.0开发中的重要环节。 以上就是WAP2.0开发环境的相关知识点,通过...
WAP前端开发还涉及到会话管理,其中使用了Session和Cookie机制来维护用户状态。会话可以跟踪用户的活动,而Cookie是存储在客户端的小文本文件,它们可以存储用户状态信息,如Session ID。 为了使开发出的WML页面...
WAP Push消息遵循WSP(WAP Session Protocol)和WTP(WAP Tunnel Protocol)协议,通常包含一个PUSH-IND(Push Indication)报文,用于通知设备有新的推送内容。消息中可能包括推送内容的URL,以便设备能够通过WAP ...
总结,WAP网站系统源码是移动互联网开发的重要资源,它涉及到WAP协议、服务器端开发、前端呈现等多个层面。理解和掌握这些知识点,对于构建高效、易用的WAP网站至关重要。无论是新手还是经验丰富的开发者,都可以...
2. **Wireless Session Layer (WSL)**:管理会话状态,确保用户在不同请求间的数据一致性。 3. **Wireless Transaction Layer (WTP)**:处理事务级别的可靠数据传输。 4. **Wireless Transport Layer Security (WTLS...
湖哥酒店WAP预订展示管理系统v2.0设计时考虑了移动设备的屏幕尺寸、网络速度限制等因素,采用WAP标准,确保在各种移动浏览器上能够正常显示和运行,提供良好的用户体验。 【版本升级与优化】 从v2.0的版本号来看,...
这个实例开发源码——“WAP掌库3G导航网站管理系统asp版 v1.17”是一个基于ASP技术的移动互联网应用,主要用于3G网络环境下的网站管理。 在移动互联网早期,WAP(Wireless Application Protocol)是一种广泛使用的...
根据给定文件的信息,我们可以提炼出以下相关的IT知识点: ### WAP (Wireless Application Protocol) 无线应用协议 ...对于从事移动通信技术和WAP开发的专业人士而言,这些信息具有很高的参考价值。
这个资源涉及到的是早期移动互联网时代的网页开发技术,特别是针对手机WAP(Wireless Application Protocol,无线应用协议)站点的建设。WAP是一种在低带宽的移动通信网络环境下,让手机用户能够访问互联网内容的...
开发ASP应用程序时,通常会用到Response、Request、Server、Session和Application等内置对象。 2. **WAP技术** WAP技术的目标是使移动设备能够访问互联网内容,尽管其带宽和处理能力有限。WAP使用WML(Wireless ...
在“WAP PUSH资料”中,我们可以通过“UNIJA SDK开发指南”、“WAP PUSH接口程序设计”、“WAP PUSH调测流程”以及“WAP订购关系管理系统接口规范”这四个主题来深入了解这一技术。 **1. UNIJA SDK开发指南** ...
ASP可以实现用户认证机制,如会话管理(Session)、cookie或者自定义的身份验证方式,以控制用户访问特定的企业信息。 4. 动态内容生成:ASP的另一个优势是能根据用户请求生成个性化内容。例如,根据用户的搜索...
WAP协议栈包括了WSP(WAP Session Protocol)、WTP(WAP Tunnel Protocol)、WAP Gateway Protocol和WAP Security Protocol等层次,用于在移动设备和网络之间传输数据。 4. **响应式设计**:考虑到WAP网站需要在...
《ASP实例开发:鱼乐网个人Wap建站系统详解》 ASP(Active Server Pages)是一种微软公司开发的服务器端脚本环境,用于创建动态交互式网页。在本实例中,我们将深入探讨“鱼乐网个人Wap建站系统”的开发源码,这是...
- **WAP通信协议**:包括WML(Wireless Markup Language)、WSP(Wireless Session Protocol)、WTP(Wireless Transaction Protocol)、WTLS(Wireless Transport Layer Security)和WDP(Wireless Datagram ...