0

我在 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 需要很长时间才能响应时的最佳实践。

谢谢指教。

4

0 回答 0