2014-09-25 47 views
0

如何從一個servlet發送請求到另一個或一個servlet到任何jsp文件?servlet和/或jsp之間的通信

其實我想送名爲Demo到另一個JSP文件的請求形成一個servlet的abc.jsp

+0

如您是新用戶在這裏,我想如果有答案告訴你解決你的問題,那麼你應該接受答案,所以其他人可以知道什麼對你有用。要接受答案,您只需點擊答案左側下方向右下方右側的勾號即可。 – gprathour 2014-09-25 13:05:31

回答

1

使用RequestDispatcher

編程...

public class Demo extends HttpServlet{ 

    public void doGet(HttpServletRequest req , HttpServletRespaonse res) 
      throws ServletException, IOException { 
     res.setContentType(text/html); 
     PrintWritter pr = res.getWriter(); 
     pr.println("i am in servlet"); 
     RequestDispatcher rd = req.getRequestDispatcher("abc.jsp"); 
     rd.forward(); 
    } 
} 

abc.jsp

<body> 
<i am abc in abc.jsp> 
</body> 
1

您可以轉發或重定向它。

要轉發時,可以使用RequestDispatcher

RequestDispatcher rd = request.getRequestDispatcher("abc.jsp"); 
rd.forward(request, response); 

要重定向,

response.sendRedirect("abc.jsp"); 

FYI,兩者之間的差異,

在轉發中,相同的請求對象被轉發到下一個資源(Servlet或JSP),並在重定向客戶端(瀏覽器)被要求發送一個新的請求下一個資源(servlet或JSP)的服務器。

+0

可以請你用一個例子來描述如何調用sendRedirect() – 2014-09-25 13:05:30

+0

@DebasishDash我也在我編輯的答案中添加了代碼。您只需要通過傳遞參數作爲接下來的servlet或JSP的參數來調用sendRedirect()方法,並且可以使用doGet或doPost中的響應對象調用此方法。 – gprathour 2014-09-25 13:06:49