找回密码时将一段URL发送到对方的信箱,然后对方点击地址就能直接进入修改密码的页面是怎么实现的啊?发送邮件可以实现了,就差我到底发送什么地址,然后那个地址是怎么算出来的,为什么这个地址不受全局global的控制(我用的是struts2架构)可以直接进入修改密码的页面?高手能给出点例子什么的吗?或者谁能给我个例子也可以……我邮箱 [email protected]
解决方案 »
- 老师说:con值为空,让我再思考一下。但是,我就是坚持我的观点
- HTML语言显示不对,请问是特殊符号过滤问题吗?如何更改啊?
- 急~在线等待~一个关于Connection timed out的问题?
- servlet中,setAttribute 后重定向到别的页面,再getAttribute 获取的是null
- servlet中<jsp:setProperty name="Bean" property="*"/> 如何实现?
- 新手提问 SSL是什么意思啊
- SoapUI无法读取数据
- 如何在JBuilder 7当中使用Tomcat4.1.18作为WEB调试环境?
- 如何配置*.jar或*.war文件?
- 在jsp中jdbc-odbc桥是不是不能用啊?
- Servlet使用forward跳转页面后,URL不是真实页面的URL,如何获取真实页面的地址?
- 问个eclipse 的server 的问题
首先,假设有张表yz,存放用户ID和URL信息。
你发送的URL一定得是唯一的吧你可以通过发送时间和用户ID组合起来MD5 32位或64位加密来生成唯一ID。(用UUID生成也可,保证唯一性就OK。)。假设生成的URL地址是 。 http://www.test.com/user/yz.jsp?YZID=b8c6c2ab-875c-4948-88d2-e3869939009a
同时将
然后在验证的页面是yz.jsp中写方法接受YZID的参数。
String URLID=request.getParameter("YZID");
通过URLID查询数据库中yz表中是否存在该参数。如果有,取出用户ID并跳至密码设置页面。 这样基本上就OK了。
当然,有的用户可能重复多次发送,或着有验证时间限制,在yz表中多添加字段即可,判断是否已经过期之类的。
同时将 生成的 "b8c6c2ab-875c-4948-88d2-e3869939009a"和这个用户ID,存入数据库,以便于以后查询。红色部分刚才漏写了。