Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
停止并启动Tomcat以测试Servlet_Tomcat_Servlets - Fatal编程技术网

停止并启动Tomcat以测试Servlet

停止并启动Tomcat以测试Servlet,tomcat,servlets,Tomcat,Servlets,我刚刚用servlet构建了一个小型测试web应用程序,如下所示: index.html-->servlet(doPost)-->重定向到结果页面 其中,索引页是一个简单的表单,当单击“提交”按钮时,它通过doPost调用servlet。然后,在servlet中运行一个业务方法(带有表单数据)后,会出现一个重定向到结果页面的消息 我将我的项目作为war导出到tomcat 7/webapps目录,并启动容器。一切都很顺利 问题: 但是,为什么每次我想重新测试表单时都必须先停止,然后再启动Tomca

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

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

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

我将我的项目作为war导出到tomcat 7/webapps目录,并启动容器。一切都很顺利

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

index.html


提交表单时会发生什么情况?doPost获取字段,调用一个以字段为参数的方法,然后重定向到结果页面,结果页面在js中获取并显示url中有一个参数(客户名称和地址),但第二次提交表单时会发生什么情况?您说“业务逻辑功能”没有执行。会发生什么?给我们看看代码。调试它。添加日志以了解发生了什么。我们不能在没有看到任何东西的情况下猜测。检查日志。仅供参考,在servlet中使用这样的静态变量,甚至是实例变量是一个非常糟糕的主意——它将在所有请求中共享。
<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)");

    }

}