我在 java Servlet 中有一个问题。假设我有两个 Servlet 和两个页面(jsp)。在 index.jsp 客户端中输入您的手机号码并提交表单到 sendSMS.do。sendSMS.do 必须是发送短信到手机号码。
小服务程序 1:index.do
第 1 页:index.jsp
servlet 2:sendSMS.do
page2:成功.jsp
在 index.jsp 中:
<form action="/sendSMS.do" method="post">
<input type="text" name="mobile">
<input type="submit" value="sendSMS">
</form>
在 sendSMS.do 中:
@WebServlet("/sendSMS.do")
public class RegisterController extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String mobileNUmber=req.getParameter("mobile");
SendMessage sendMSG= new SendMessage();
//if there are network problems,sendSMS method my be take several minutes for return false
sendMSG.sendSMS(mobileNumber);
resp.sendRedirect("/success.jsp");
}
}
所以sendSMS方法如果没有问题返回true,否则几分钟后返回false。如果客户端在index.jsp页面中多次点击提交按钮,服务器中有多个相同的请求。
那么如何检测同样的请求,是否有针对此问题的最佳实践?
我阅读了解决双重提交问题,但我希望 Servlet 需要很长时间才能响应时的最佳实践。
谢谢指教。