页面跳转的几种方式

来源:互联网 发布:ios看杂志软件 编辑:程序博客网 时间:2024/04/30 01:07

    
  http头实现页面跳转:  
   
  out.println("<meta   http-equiv='refresh'     content='0;url=xxxxx.jsp'>");  
   
  content是指跳转的时间间隔,单位为秒  
   
  ----------------------------------------------  
   
  forward方法实现跳转:  
   
  <%    
        String   url   =   "index.jsp";  
  %>  
  <jsp:forward   page=url>  
        <jsp:param   name="id"   value="<%=userid%>">  
  </jsp:forward>  
   
  -------------------------------------------------  
   
  response跳转:  
   
  response.sendRedirect(url);  
  或  
  response.encodeRedirectURL(response.encodeRedirectURL(url));  
  对要用的URL编码,如果cookie打开的话,sessionid通过cookie传递,这个方法原样返回;如果cookie没打开的话,这个方法会在你的url后面加上sessionid的参数,保证你的session传递。  
   
  ---------------------------------------------------  
  区别:  
   
  forward执行后,地址栏链接不变  
  sendRedirect()执行后,地址栏链接会更换  
  由此可知forward的执行是在服务器完成的,重定向到其他文件取出内容输出到页面,并且可以附加参数传递  
  而sendRedirect,可以认为是客户端完成,相当于客户端又重新发了一个get请求,要服务器传输另一个文件过来。  
   
  <jsp:forward>能够向目标文件传送参数和值。如果使用了<jsp:param/>标签的话  
  ,目标文件必须是一个动态的文件,能够处理参数。如果使用了非缓冲输出,那么使用  
  <jsp:forward>时就要小心;如果使用<jsp:forward>之前,JSP文件已经有了数据,那么  
  文件运行将会出错。<jsp:forward>标签从一个JSP文件向另一个文件传递一个包含用户  
  请求的request对象,<jsp:forward>标签以下的代码将不能运行。 
原创粉丝点击