好象都是跳转到某个页面啊?请大家帮忙  谢谢

解决方案 »

  1.   

    sendRedirect()地址栏看得出来跳到哪里去了,而RequestDispatcher.forward()是看不出来的还是原来的页面,你试一下就知道了
      

  2.   

    HttpServletResponse.sendRedirect()方法将响应定向到参数location指定的、新的URL。location可以是一个绝对的URL,如response.sendRedirect("http://java.sun.com")也可以使用相对的URL。如果location以“/”开头,则容器认为相对于当前Web应用的根,否则,容器将解析为相对于当前请求的URL。这种重定向的方法,将导致客户端浏览器的请求URL跳转。从浏览器中的地址栏中可以看到新的URL地址,作用类似于上面设置HTTP响应头信息的实现。
    RequestDispatcher.forward()方法将当前的request和response重定向到该RequestDispacher指定的资源。这在实际项目中大量使用,因为完成一个业务操作往往需要跨越多个步骤,每一步骤完成相应的处理后,转向到下一个步骤。比如,通常业务处理在Servlet中处理,处理的结果转向到一个JSP页面进行显示。这样看起来类似于Servlet链的功能,但是还有一些区别。一个RequestDispatcher对象可以把请求发送到任意一个服务器资源,而不仅仅是另外一个Servlet。 include()方法将把Request Dispatcher资源的输出包含到当前输出中。
      

  3.   

    redirect请求是浏览器到服务器的新的请求,request、response已经改变了,同时浏览器地址栏会出现新请求的urlforward请求是将请求在服务器内部转向,request、response没有改变,当然浏览器地址栏仍然是以前的url
      

  4.   

    zjf405(阿飞)(搞IT有前途吗)同意