jsp中forword和sendRedirect的区别

2016-02-19 19:26 2 1 收藏

今天图老师小编要向大家分享个jsp中forword和sendRedirect的区别教程,过程简单易学,相信聪明的你一定能轻松get!

【 tulaoshi.com - Web开发 】

  .RequestDispatcher.forward()/P

  
  是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在 b.jsp都可以获得,参数自动传递./P

  
  但forward ()无法重定向至有frame的jsp文件,可以重定向至有frame的html文件,同时forward()无法在后面带参数传递,比如 servlet?name=frank,这样不行,可以程序内通过response.setAttribute("name",name)来传至下一个页面./P

  
  重定向后浏览器地址栏URL不变./P

  
  例:servlet文件中重定向
  CODE/P

  
  public void doPost(HttpServletRequest request,HttpServletResponse response)/P

  
         throws ServletException,IOException/P

  
  {/P

  
         response.setContentType("text/html; charset=gb2312");/P

  
         ServletContext sc = getServletContext();/P

  
         RequestDispatcher rd = null;/P

  
         rd = sc.getRequestDispatcher("/index.jsp");/P

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  
         rd.forward(request, response);
  }/P

   

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  2.response.sendRedirect()/P

  
  是在用户的浏览器端工作,sendRedirect()可以带参数传递,比如servlet?name=frank传至下个页面,同时它可以重定向至不同的主机上,且在浏览器地址栏上会出现重定向页面的URL./P

  
  sendRedirect()可以重定向有frame的jsp文件./P

  
  例:servlet文件中重定向
  CODE/P

  
  public void doPost(HttpServletRequest request,HttpServletResponse response)/P

  
         throws ServletException,IOException/P

  
  {/P

  
         response.setContentType("text/html; charset=gb2312");/P

  
         response.sendRedirect("/index.jsp");/P

  
  }
  /P

来源:http://www.tulaoshi.com/n/20160219/1620987.html

延伸阅读
class A { }  class B extends A { }  Object o1 = new A();  Object o2 = new B();  o1 instanceof A = true  o1 instanceof B = false  o2 instanceof A = true // ================ HERE  o2 instanceof B = true  o1.getClass().equals(A.class) = true  o1.getClass().equals(...
java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean   他们之间的比较,应用双等号(==),比较的是他们的值。 2.复合数据类型(类)   当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结...
print()方法在输出括号里指定的字符串后就结束操作,而不再添加回车,光标停留在字符串最后一个字符的右边,println()则是添加回车,光标停在下一行。 for(i=1;i6;i++) println(i); 结果: 1 2 3 4 5 for(i=1;i6;i++)   print(i); 结果:12345 "ln"就是“line”去掉元音字母的简写
pfile用于Oracle8i,在oracle9i中也可以用,以文本形式存在,可以用vi编辑器对其中参数进行修改。文件格式为initSID.ora; spfile专用于oracle9i,以二进制文本形式存在,不能用vi编辑器对其中参数进行修改。文件格式为spfileSID.ora。假如要对spfile文件进行修改,可以采用SQL语言: SQL ALTER SYSTEM SET PARAMETER = 'VAL...
1.什么是模式? 模式,即pattern。其实就是解决某一类问题的方法论。你把解决某类问题的方法总结归纳到理论高度,那就是模式。 Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。 模式...

经验教程

41

收藏

25
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部