1

Web アプリに次のコード スニペットがあります。

if (request.getParameter("user").equals("luke")||session == null && !(uri.endsWith("html") || uri.endsWith("LoginServlet"))) {  
    System.out.println("<<<----------denied------------->>>>");  
    pw.println("zzzzzzzzzz");  
    this.context.log("Unauthorized access request");  
    pw.flush(); 

    try {  
        Thread.sleep(5000);  
    } catch (InterruptedException e) {  
        // TODO Auto-generated catch block  
        e.printStackTrace();  
    }  

    //res.sendRedirect("login.html");  
    req.getRequestDispatcher("login.html").include(request,response);  
} 

Forward() の前に flush を使用すると、スローIllegalStateExceptionされます (flush を呼び出した瞬間に応答が送信され、後で forward を使用して応答を再送信しようとしているため) rd.include()。ここで例外をスローしないのはなぜですか?

ティア

4

2 に答える 2