今天完成了注册以及登陆的功能。
首先,设置了GeneralFilter,使任何访问的请求都经过它,目前只查询是否带有含登陆ID的cookie以识别登陆用户。未来这里必然还有其他应用;
然后,被cookie的问题所困扰了好一会儿。设置了cookie,并且将setMaxAge(6000),按理说应该能够在客户端保留100分钟啊,为什么关闭并重开一个页面后,GeneralFilter无法找到cookie呢?经过Fiddler跟踪HTTP状态,发现压根就没cookie被写入客户端!这才发现原来在登陆页面的servlet判断字符相等时用了个"==",大汗。。。
在研究session的时候,发现<c:url>的作用原来还有加上JSessionID。
好了,难点来了。
需要保留进入注册或者登陆页面前的最后一个页面,以便登陆或者注册成功后返回这个页面。
前两天用了这样的方式,在最后那个页面上通往登陆或者注册页面的链接上带上本页面的URL。进而发现这样整个original URL就出现在地址栏了,颇为不爽。因此改成了用filter去读取任何到登陆或者注册页面的请求Http头中的Referer,并将其作为request的attribute传递给jsp,jsp中用一个hidden元素保存,以便提交时重定位到original页面。
这时又出现一个问题,如果是从登陆页面再次回到登陆页面呢?完全有可能,例如,当登录信息不正确时,重新回到登录页面提示用户。这里就做了一个小技巧,在LoginServlet和RegisterServlet处理登陆或者注册form提交请求时,如果失败,需要返回原页面,就将original URL作为session的一个attribute保存,那么在jsp中为hidden元素赋值时,就进行判断:优先考虑session中original URL。一切OK。
在写上面这段文字时,忽然发现Taobao也是将original URL加在地址栏的后面,难道我想的太多了,洁癖?
分享到:
相关推荐
《软件设计师历年真题解析——2008.5、2008.12、2009.5》 软件设计师,作为信息技术领域的关键角色,承担着设计、开发和维护软件系统的重任。为了更好地理解和掌握这个职位所需的技能与知识,考生们往往会通过历年...
12. **质量管理体系认证的作用**:质量管理体系认证可以帮助组织实现顾客满意的目标(选项A),提供持续改进的框架(选项B),并向组织和顾客提供信任(选项C),因此以上都正确(选项D)。 13. **审核方法**:质量...
首先,定期参加课程有助于保持学习进度。大学课堂上,教师通常会讲解关键概念,进行深入分析,并引导学生进行思考。如果频繁缺席,学生可能会错过这些关键内容,导致在后续的学习中难以跟上节奏。对于那些渴望在学术...
《鞋业生产管理系统--专用单机版V2008.3.5》是一款专为鞋业生产企业设计的管理软件,旨在提升生产效率,优化业务流程,实现信息化管理。这款系统可能包含了以下关键功能和知识点: 1. **物料管理**:系统可能会提供...
"cos-26Dec2008.jar"是特定版本的COS Java SDK,用于与2008年12月26日版本的COS服务接口进行通信。 使用COS组件进行文件上传,首先要确保项目中已经正确引入了"Cos-26Dec2008.jar"。通常,这可以通过Maven或Gradle...
推荐教材是翁惠玉老师的《C++程序设计思想与方法》,由人民邮电出版社于2008年8月出版,书号为978-7-115-18309-5。课程进行的形式包括讲课、习题、课堂讨论等,但未提供参考网站。 课程内容按照周次进行划分,涵盖...
3. 客户投诉登记追踪表:记录客户投诉,跟踪处理进度,确保问题得到及时解决,维护客户满意度。 二、销售与市场分析 4. 邀请函:用于邀请客户参加产品展示会或会议,加强与客户的互动。 5. 促销期间销量统计表:...
1. **前期准备** (2007.12.1-2008.3.5): 收集资料、调研市场需求。 2. **需求分析** (2008.3.6-2008.3.26): 明确系统功能需求。 3. **概要设计** (2008.3.27-2008.4.7): 完成系统架构设计。 4. **详细设计** (2008.4...
SQL Server 2008 R2 是微软推出的一款企业级数据库管理系统,是SQL Server 2008的增强版,提供了更多性能优化、安全性提升以及数据管理功能。本安装教程详细图解旨在帮助用户顺利安装并配置这个强大的数据库平台。 ...
17. **客户投诉登记追踪表**:记录客户投诉,跟踪处理进度,确保问题得到及时解决,改善服务质量。 这些模板的使用有助于垃圾分拣装备行业的营销部门系统化地管理各项业务,提升工作效率,同时也为数据分析和决策...
首先,施工进度方案明确指出工程要求在365日历天内完成,而承包商提出的目标是在2007年9月15日至2008年9月12日期间,即363日历天内完成,略早于业主的要求。工程将经过冬、雨季,这会增加施工难度,因此需要制定适应...
根据提供的施工进度方案,该工程计划在365日历天内完成,但投标的工期设定为363日历天,目标是2007年9月15日开工,2008年9月12日竣工。工程需经过冬季和雨季,这无疑增加了施工的难度和对进度的影响。因此,制定了...
12. **项目管理和团队协作**:讲述了在嵌入式开发中如何进行有效的项目计划、进度跟踪和团队合作,以确保项目的成功完成。 通过《Embedded Software Know It All》这本书的学习,读者能够掌握嵌入式系统开发的全面...
【文档标题】提到的是“2008施工管理.doc”,结合描述,这可能是一份关于建筑施工管理的考试复习资料或者模拟试题集。文件的标签为“资料”,表明它是一份学习材料。部分内容展示了这份资料可能包括了施工管理中的...
首先,路基施工从2007年8月15日开始,至2008年5月31日完成基础处理,接着在2008年12月31日完成路基土石方工作,再在2010年3月31日完成堆载预压,然后2010年4月30日完成基床表层,最后2010年5月31日完成路基附属工程...
【标题】"newWF-2008-12-21.rar" 是一个压缩文件,根据命名规则,我们可以推断这可能是一个在2008年12月21日创建或更新的工作相关的文件集合,"newWF"可能是工作流程(Workflow)或者项目代码的缩写。该文件的重复...
【4.2 施工总进度安排说明】初步预计工程于2008年3月11日开工,初期将进行生活区、生产区布置,修筑施工道路,进行工程测量,并订购混凝土拌和系统等相关设备。土石方开挖支护等基础工作计划在2009年1月底前完成。 ...
(1)2008.12.01至2008.12.31 收集、阅读、分析资料和参考文献,理清思路,同时完成开题报告书。 (2)2009.01.01至2009.01.20 设计论文的大体轮廓,草拟样稿。 (3)2009.01.21至2009.03.01 进一步收集、分析资料...