启动长时间运行的过程后,java servlet重定向到页面

时间:2019-01-23 13:30:48

标签: java servlets web-applications

因此,我正在一个项目中,我需要启动一个可能花费几个小时的过程。我不想让用户等待过程完成,所以在过程开始后,我想重定向到另一个jsp页面

我尝试了以下方法:

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

@MultipartConfig

公共类FileUploadServlet扩展了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

//获取将存储上载文件的位置,并添加具有会话ID的子文件夹             文件sessionFolder = new File(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;

首先,servlet处理doProces所需的文件的上载。这很好。之后,将重定向到whileWaiting页面,然后过程开始。如果执行了该操作,则doProces会启动,但会停留在当前页面上,并且仅在过程完成后才重定向。

这也是我第一次在这里发布问题,所以我很清楚我的意思。

任何帮助将不胜感激。

0 个答案:

没有答案