【发布时间】:2014-05-23 01:59:22
【问题描述】:
我正在处理注册的电子邮件确认。
首先,我从doPost() 创建随机值并将其作为激活链接发送到最终电子邮件:
int token = new Random().nextInt(999999-100000) + 100000;
sendMail mailAgent = new sendMail("Hello!", "Hello, Link: "+ request.getRequestURL().toString()+"?Sender="+nick+"&Token="+token);
mailAgent.to = "target@mail.com";
mailAgent.send();
...消息发送正常,但我也必须取回这个值。
唯一的想法如何 - 在mailAgent.send() 方法之后开始监听 GET 请求。这意味着在那里冻结脚本的执行。
我想做这样的事情:
mailAgent.send();
doGet(request,response);
// Will fire right after call, but i want to listen requests from here
有什么建议吗?
【问题讨论】:
-
你的问题不清楚。你想协调(不要说同步,它暗示别的东西)
doGet和doPost在同一个 servlet 中的执行? -
对不起。我想在
doPost中创建一个doGet监听器。冻结doPost直到我收到新的 GET 查询。需要明确的是,我很乐意接受任何其他解决方案。 -
@Vossen 如果你这样做,你所有的用户都会生气。相信我:)
-
@Vossen 提示:您可能想了解一下容器(例如 Tomcat)和 servlet 如何协同工作 - 接受请求不是 servlet 所做的事情,它只是被容器调用收到请求时。
-
@fvu,我会考虑的。