gpt4 book ai didi

java - Servlet切换情况下如何避免finally或避免forward?

转载 作者:行者123 更新时间:2023-12-01 10:15:01 25 4
gpt4 key购买 nike

这是 doPost 中的代码:

try {
switch (request.getParameter("action")){
case "delete":
request.setAttribute("message", "Deleting...");
break;
case "update":
request.setAttribute("message", "Updating...");
break;
case "new":
response.sendRedirect("createNew.jsp");
break;
default:
super.doPost(request, response);
break;
}
} finally {
request.getRequestDispatcher("backHome.jsp").forward(request, response);
out.close();
}

问题在于最后当案例为"new"时我收到此异常:java.lang.IllegalStateException:

最佳答案

如果是“new”,您正在执行response.sendRedirect("createNew.jsp");。此时响应流已写入。

最后你正在做request.getRequestDispatcher("backHome.jsp").forward(request, response);。它正在转发到另一个网址。

但是由于响应中已经写入了一些内容,因此不可能发生另一个转发。这会抛出java.lang.IllegalStateException

关于java - Servlet切换情况下如何避免finally或避免forward?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35950824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com