sendRedirect(重定向)与getRequestDispatcher.forward(转发)的区别 用实例说话!

//测试类

public class TestAction extends HttpServlet{



@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setAttribute("s", "hello world!");
request.getRequestDispatcher("/test.jsp").forward(request, response);  //方法一:转发
//response.sendRedirect("test.jsp");  //方法二:重定向

}


}

/test.jsp //测试页面

<%
Object s = request.getAttribute("s");
out.print(s+"<br>");

String a = request.getParameter("a");
String b = request.getParameter("b");
out.print(a+"<br>");
out.print(b+"<br>");
%>


测试结果对比:

方法一——转发

输入URL:****/test.jsp   页面显示结果   null

                 null

     null

输入URL:****/test_action  页面显示结果    hello world!                  

      null

          null

输入URL:****/test_action?a=1&b=2  页面显示结果    hello world!                  

                      1

                          2

方法二——重定向

输入URL:****/test.jsp   页面显示结果   null

                 null

     null

输入URL:****/test_action  页面显示结果    null                  

      null

          null

输入URL:****/test_action?a=1&b=2  页面显示结果    null                  

                      null

                          null



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值