請求轉發--req.getRequestDispatcher("XX").forward(req, resp);


在一個servlet中可以調用另外一個servlet來處理請求,如:

    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setCharacterEncoding("utf-8");
        req.setCharacterEncoding("utf-8");

        resp.getWriter().write("XXXXXX 來自TestCoding的信息");

        String name = req.getParameter("name");
        System.out.println(name);

        //重定向,轉到TestCoding這個servlet去處理請求
        req.getRequestDispatcher("TestDispatch").forward(req, resp);

    }

其中,getRequestDispatcher的參數是servlet在web.xml中的別名

 

***經測試發現,一旦一個servlet將一個請求轉發給了另一個servlet,那么原來的servlet中的resp.getWriter().write()語句就不會執行

 

同時,servlet在向另一個servlet轉發時,可以在req中附帶上自己的數據,方式如下:

        req.setAttribute(Object key, Object value);

獲取前一個servlet傳過來的servlet的方式如下:

        req.getAttribute(key);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM