0

我刚刚构建了一个带有 servlet 的小型测试 Web 应用程序,如下所示:

index.html --> servlet (doPost) --> 重定向到结果页面

索引页面是一个简单的表单,当单击它的“提交”按钮时,它会通过 doPost 调用 servlet。然后在 servlet 中运行业务方法(使用表单数据)后,将出现重定向到结果页面。

我将我的项目作为战争导出到我的 tomcat 7 /webapps 目录并启动容器。一切运行良好!

问题: 但是,为什么每次我想重新测试表单时都必须停止然后启动 Tomcat?也就是说,如果我从结果页面单击“返回”到表单页面(index.html)并在 Firefox 中点击刷新按钮,我可以填写一个新表单,但是当我再次单击提交时,业务逻辑功能永远不会运行在 servlet 中,除非我重新启动容器?

索引.html

<html>
<head>
<title>URL Auction Search Page</title>
</head>
<body>
<CENTER>
 <FORM ACTION="/ResultServlet/Results" METHOD=GET>
   <INPUT TYPE=TEXT NAME="st">
   <INPUT TYPE=SUBMIT VALUE=Submit>
  </FORM>
</CENTER>
</body>
</html>

小服务程序

@WebServlet("/Results")
public class Results extends HttpServlet {
    private static final long serialVersionUID = 1L;
       public static String str="";

    private String businessLogic(String q){
        try {
            str = new compute.URL.GetAvailURI( "https://www.registerdomains.com/auctionAPI/Key:a05u3***1F2r6Z&urlSearch="+q);
            /*more boring number crunching */
            return str;
            }
/*
    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
    }
*/
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Results r = new Results();
        String st = request.getParameter("st");
        response.sendRedirect("results/resultActionURL.html?st="+r.businessLogic(st)");

    }

}
4

0 回答 0