2016-04-11 20 views
0

Servlet包含轉發後的響應嗎?在我的servlet中找到下面的代碼。這裏print.html只包含「說出你好打印」。我的期望是,我只能得到迴應「打招呼打印」。 但我得到的迴應是「打印出你好」和「前進後加入迴應」。是否預計?Servlet在預期轉發後包含響應

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 
    resp.setContentType("text/html"); 
    PrintWriter writer = resp.getWriter(); 
    req.getRequestDispatcher("/test/print.html").forward(req, resp); 
    writer.println("add in response after forward"); 
} 
+2

它。 'forward'只是讓另一個servlet產生一個響應(寫入一個流)。它不會停止請求處理。您仍然可以在響應中執行更多(或有限的子集)操作。 – Savior

回答

-1

This image says all about the forward method

沒有什麼前進的方法,它會將您重定向到不同的頁面與當前請求和響應對象,並因此被重定向頁面返回的最終響應。

考慮一個例子,您將表單提交給某個servlet,並聲明「XYZ」,現在您想處理「XYZ」中的某些數據,之後您想在servlet「PQR」中執行剩餘的處理。這是當前請求和響應對象調用轉發方法的主要意義

如果您有任何其他疑問,請在評論中提問。

參考鏈接:http://www.javatpoint.com/requestdispatcher-in-servlet

Happy Coding!!