怎么使SERVLET转向JSP时
把REQUEST与RESPONSE对象传给JSP页面
并且使URL地址变为JSP页面的地址
PS:forward()不会改变地址

解决方案 »

  1.   

    JSP页面有request和out
    redirect
      

  2.   


    转发forward和重定向sendRedirect的问题:
    forward是转发同一个请求到另一个页面,sendRedirect是重定向到另一个页面,但是是一个新的request
    如果你的不需要传递数据到另一个页面,而且你想在地址栏上显示那个页面的URL就用转发:
    一般都是在MVC模式下,servlet当作C JSP充当V
    在servlet的doGet方法中加入:
    response.sendRedirect("/web应用/../../");
    如果你要传递数据,就要将数据使用session来传递:
    session.setAttribute("data",data);
    response.sendRedirect("/web应用/../../");
    此处不能使用request来传递,因为重定向后request已经不是servlet中的request了
      

  3.   

    但过度的依赖SESSION会加重服务器的负担
      

  4.   

        private void ForwardPage(HttpServletRequest req, HttpServletResponse res, String url)
        {
            RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(url);
            try
            {
                dispatcher.forward(req, res);
            }
            catch(Exception e2)
            {
                e2.printStackTrace();
            }
        }url用session传,ok