有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

从JSP卸载zip文件然后发送重定向时出现java非法状态异常

亲爱的Servlet开发人员:

我设法从JSP响应下载了一个zip文件。setHeader。。。到现在为止,一直都还不错。但是,此外,我想在一个消息字段中告诉JSP,这已经很好地工作了。所以在代码中我必须做一个回应。setAttribute命令和消息字段,然后是sendRedirect命令,用于在JSP的消息字段中显示消息

然后我得到一个非法状态异常,因为我知道,带有outputstream write close和flush的getHeader命令已经完成了一个内部sendredirect

我的问题是,我如何实现下载zip文件,并且可以判断这在JSP的消息字段中工作正常,而不会出现此异常

谢谢

托马斯

这是我的代码:

要下载zip文件:

aZipFile = aHsqlDBConnectionManager.datenbankZippen(); 

                        response.setContentType("text/zip");
                        fileName = aZipFile.getName();
                        response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
                        try
                        {
                            outputStream = response.getOutputStream();

                            byte[] fileContent = Files.readAllBytes(aZipFile.toPath());
                            outputStream.write(fileContent);
                            outputStream.flush();
                            outputStream.close();
                        }
                        catch(Exception e)
                        {
                            System.out.println(e.toString());
                        }

将属性设置为消息字段:

request.getSession().setAttribute("MeldungKundendaten", meldung);

执行重定向:

response.sendRedirect("kundendaten");

现在在提交表单之后,我收到了illegalStateException,因为我的代码中有setHeader行

@BalusC:对不起,我不想无礼。尽管如此,没有必要发布我的代码,因为我现在在公司的办公室,我设法将代码发布为代码,而不是图像。你现在能给我看看你的解决方案吗

谢谢在前进中

托马斯


共 (0) 个答案