JSP中标签与response.sendRedirect("fileURL")函数的区别

 forward1.jsp:
  1. <html>
  2.     <head>
  3.         <title>forward1.jsp</title>
  4.     </head>
  5.     <body bgcolor="#F1E2D3">
  6.         <jsp:forward page="forforward1.jsp">
  7.         <!-- 以下是本页面传递三个参数并赋值给forforward1.jsp -->
  8.             <jsp:param name="name" value="me" />
  9.             <!--以下传递的是oldName参数,赋值是本页面的name参数的值,如果未给定,下个页面显示"null"-->
  10.             <!--若在地址栏输入:http://localhost:8080/TestApp/forward/forward1.jsp?name=121212-->
  11.             <!-- forforward1.jsp的oldName参数的值就为121212-->
  12.             <jsp:param name="oldName" value="<%=request.getParameter("name")%>" />
  13.             <jsp:param name="role" value="manager" />
  14.         </jsp:forward>
  15.     </body>
  16. </html>

forforward1.jsp:

  1. <html>
  2.   <head>
  3.     <title>forforward1.jsp</title>
  4.   </head>
  5.   <body>
  6.      this is forforward1.jsp page!!!!<br/>
  7.     <%
  8.         out.println(request.getParameter("name")); 
  9.         out.println(request.getParameter("oldName"));
  10.         out.println(request.getParameter("role"));
  11.         out.println(request.getParameter("ccc"));
  12.      %>
  13.   </body>
  14. </html>

输出结果(参数name和ccc未赋值):

  1. this is forforward1.jsp page!!!!
  2. me null manager null 

test.jsp:

  1. <%
  2. response.sendRedirect("forforward1.jsp");
  3. %>

在地址栏输入test.jsp时也会跳转到forforward1.jsp,不同的是输出结果:

  1. this is forforward1.jsp page!!!!
  2. null null null null 

区别在于:

(1)通过<jsp:forward>标签,传递的请求是同一个request

    请求过程:客户端--->forward1.jsp--->forforward1.sjp(是同一个request请求)

(2)通过response.sendRedirect("forforward1.jsp"),传递的请求不是同一个request

   请求过程:客户端--->response.sendRedirect("页面")--->(返回)客户端--->forforward1.jsp

    相当于:客户端--->forforward1.jsp  (这样,客户端当然没有传递参数进去,所以都显示NULL)

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值