反对关闭/Erroneous的另一个论点。看看这个servlet。 它引发了一个例外。 该异常在web.xml中映射到错误JSP:
package ser;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
@WebServlet(name = "Erroneous", urlPatterns = {"/Erroneous"})
public class Erroneous extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
PrintWriter out = resp.getWriter();
try {
throw new IOException("An error");
} finally {
// out.close();
}
}
}
web.xml文件包含:
30
java.io.IOException
/error.jsp
而error.jsp:
Error Page在浏览器中加载/Erroneous时,您会看到显示“错误”的错误页面。但是,如果您取消注释上述servlet中的out.close()行,重新部署de application,并重新加载/Erroneous,您将在浏览器中看不到任何内容。 我不知道实际发生了什么,但我想out.close()可以防止错误处理。
使用Netbeans 7.4测试Tomcat 7.0.50,Java EE 6。