Java сервлет перенаправить на страницу после запуска длительного процесса - PullRequest
0 голосов
/ 23 января 2019

Итак, я работаю над проектом, где мне нужно запустить процесс, который может занять несколько часов.Я не смотрю, чтобы заставить пользователя ждать завершения процесса, поэтому после запуска процесса я хочу перенаправить на другую страницу jsp

Я попытался выполнить следующее:

WebServlet(name = "FileUploadServlet", urlPatterns = "/upload")

@ MultipartConfig

открытый класс FileUploadServlet extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    // check if there is a upload request
    if(ServletFileUpload.isMultipartContent(request)){
        // get session id
        HttpSession session = request.getSession(true);
        String sessionID = session.getId();
        // set session ID as attriube

// получить местоположение, в котором будет сохранен загруженный файл, и добавить подпапку с идентификатором сеанса. Файл sessionFolder = новый файл (getServletContext ().getInitParameter ("upload.location") + "/" + sessionID);// File sessionFolder = new File (getServletContext (). GetRealPath ("webapp /" + sessionID));

        //make a folder for the files if there is none
        if (!sessionFolder.exists()){
            sessionFolder.mkdirs();
            System.out.println("sessionFolder = " + sessionFolder);
            System.out.println("folder made");
        }
        // get parts from the request
        for (Part part : request.getParts()) {
            // get file name
            String filename = "uploadedFile";

            // save file to sessionFolder location
            part.write(sessionFolder + "/" +filename);
            break;
        }

        response.sendRedirect("whileWaiting.jsp");


        new doProces;

сначала сервлет управляет загрузкой файла, необходимого для doProces.это отлично работаетПосле этого происходит перенаправление на страницу whileWaiting en, после чего начинается процесс.если это будет выполнено, doProces будет запущен, но останется на текущей странице и будет перенаправлен только после завершения процесса.

Кроме того, я впервые публикую здесь вопрос, так что мне понятно, что я имею в виду.

Любая помощь очень ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...