呵呵,又搜索到了一部分,可能够用了吧?1.response.sendRedirect(url);  新的页面并不能处理旧页面的pageContext(request,response,...)对象,所以你用request.getParameter(ff)企图调用原页面
request对象的参数,得到的自然是null2.getServletContext().getRequestDispatcher(url).forward(request,response);forward函数已经把原页面的request,response对象传入新的页面,因此这新旧页面拥有相同的
request,response对象。request.getParameter(ff)就可以得到相应的值3.ServletContext.getRequestDispatcher 路径必须是相对上下文的绝对路径
  
  ServletRequest.getRequestDispatcher 可以是相对也可以是绝对  具体的参见api document////////////////////////////////////////////////////////////////////////////////
Hello Brother:
Reference it
服务器端进行转向的4种方法:
1. ServletContext的getRequestDispatcher()
2. ServletContext的getNamedDispatcher()
3. ServletRequest的getRequestDispatcher()
4. ServletResponse的sendRedirect()进行转向。
1.2.3 => forward()          4. sendRedirect()    
使用forward方法,因为这些这样比较高效。只有在forward方法不能使用时(比如要转向到一个非本web应用),再使用ServletResponse的sendRedirect()方法。<jsp:fordward>与 sendRedirect 方法的比较
虽然 <jsp:fordward>与 sendRedirect 方法,都可以将浏览器浏览的网页,重导至另一个网页,但是两者在原理上是不太相同。
a. <jsp:fordward> : 动作是利用伺服端,将资料输出至缓冲区的机制,在前一个网页尚未输出到客户端前,取消资料的输出,然后输出另一个网页的资料,达到重导浏览器的效果。
优点: 两网页间可以分享 request 对象内的变量。
b. sendRedirect : 动作是透过 HTTP 协议的 Header , 对浏览器下达重导指令,因此,不牵涉到服务器端缓冲区的问题。
不过由于 sendRedirect 方法作用于客户端,所以重导前后网页无法分享存在于 request 对象内的变量。
Solution: response.sendRedirect(“sendRedirect.htm?name=sparkwu&[email protected]”)Good Luck!////////////////////////////////////////////////////////////////////////////////直观一点:
        response.sendRedirect(url); 
        对服务器的响应进行重定向。当Server作出响应后,Client客户端的请求(Request)的生存周期就终止了。这个时候再用request.getParameter()或request.getAttribute()得到的只能是null。        getServletContext().getRequestDispatcher(url).forward(request,response);
        它则可以认为是对Client的请求(request) 进行传递,在Server没有进行响应前,即没有Response一直可以进行传递--重定向。