【发布时间】:2012-07-27 15:30:52
【问题描述】:
我正在为网站制作电子邮件验证链接。当用户注册并填写完他们的个人数据(并且通过了所有检查)时,他们会被发送到一个 jsp 页面,说明一封电子邮件已发送到他们作为用户名输入的地址,并带有一个链接以单击以验证电子邮件地址。所以这部分一切都很好,我生成了链接(现在只使用我的本地主机),它看起来像这个例子http://localhost:9999/javawork/msc/validate/?6FRQ8RAT&u=1s3w1Iih64egX01188HT。当他们单击链接时,它会转到验证文件夹中的 jsp 页面 index.jsp。此时我需要获取整个 URL 并将其发送到函数以确保 URL 格式正确(出于安全目的)。如果通过并且格式没问题,我需要在“?”之后立即获取 8 位代码。还有'u'的值。然后我将这些值发送到一个函数,检查它们是否与我们的数据库中的内容匹配,如果匹配,我会使用验证日期更新数据库记录,以便我们知道他们已经验证了他们的电子邮件地址。
所以我的问题是第一,我如何抓取整个 URL 来检查格式,第二,我如何抓取 8 位代码,以及 'u' 的值?我一直在网上查找,所有示例都需要创建多个函数或类,并使用 URL 类。他们都希望我创建一个 URL 对象的实例并使用整个 URL 对其进行初始化。但这不是一个静态 URL,每个注册的用户都会有所不同,因为它会生成一个随机的 8 位代码进行检查,并且“u”的值是来自数据库的屏蔽用户 ID。我不明白它如何要求您初始化整个 URL 以获取值,当您在从 URL 获取值之前不知道值是什么时。
有没有一种简单的方法来获取值和整个 URL?即使我可以在“?”之后获取所有内容,我也知道基本 URL,并且可以构建一个新字符串来检查格式是否可以从“?”中获取之后。请帮忙处理那部分。谢谢。
【问题讨论】:
-
您是在编写一个 servlet 来处理来自客户端的请求,还是只是一个
.jsp页面? -
只是一个jsp页面。我已经在 java 类中有函数来检查数据库的值。我只需要 jsp 页面获取 URL 值,将它们传递给函数(返回布尔值),然后如果返回 true,则 jsp 页面显示成功消息,如果返回 false,则显示失败消息。