因此,我正在一个项目中,我需要启动一个可能花费几个小时的过程。我不想让用户等待过程完成,所以在过程开始后,我想重定向到另一个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会启动,但会停留在当前页面上,并且仅在过程完成后才重定向。
这也是我第一次在这里发布问题,所以我很清楚我的意思。
任何帮助将不胜感激。