Выходной поток на веб-страницу

0

Я пишу очень грубый веб-интерфейс для некоторых тестов сервера.

Мой код сервлета выглядит примерно так:

import Application.*;

@WebServlet("/runtest")
public class RunTestServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println(View.runTestPageHTML());
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Application.runTest();
        doGet(request,response);
    }
}
class View{
    public static String runTestPageHTML(){
        return "<html><body><form><submit value='run'></form></body></html>";
    }
}

У этого есть 2 проблемы. Tomcat может и начнет новую работу, если форма будет отправлена повторно, и нет отзывов о ходе работы.

Я в основном хочу, чтобы Application.runTest() перенаправлял все на http://<server>/runtest на logger.out и игнорировал все сообщения до завершения задания.

Теги:
servlets
tomcat
http

1 ответ

0

Ваша работа в Application.runTest(), правильно? Если runTest() является статическим методом, вы можете использовать глобальную переменную для управления одним исполнением для каждого запроса.

    public class Application{
           private static boolean inExecution = false;

           public static void runTest(){
              if(!inExecution){
                 inExecution = true;
                 //(...) yout job
                 inExecution = false;
              }

           }
     }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню