熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

JSP頁面跳轉的實戰規則

2013-11-15 12:16:15  來源: JSP教程 

  使用JSP大約有下列三種跳轉方式

responsesendRedirect();

responsesetHeader("Location""");

<jsp:forward page="" />

經過試驗得到下面的一些規則

responsesendRedirect()

此語句前不允許有outflush()如果有outflush()會有異常

javalangIllegalStateException: Cant sendRedirect() after data has committed to the client

at comcauchoserverconnectionAbstractHttpResponsesendRedirect(AbstractHttpResponsejava:)



跳轉後浏覽器地址欄變化

如果要跳到不同主機下跳轉後此語句後面的語句會繼續執行如同新開了線程但是對 response的操作已經無意義了

如果要跳到相同主機下此語句後面的語句執行完成後才會跳轉

responsesetHeader("Location""")

此語句前不允許有outflush()如果有outflush()頁面不會跳轉

跳轉後浏覽器地址欄變化

此語句後面的語句執行完成後才會跳轉

<jsp:forward page="" />

此語句前不允許有outflush()如果有會有異常

javalangIllegalStateException: forward() not allowed after buffer has committed

at comcauchoserverwebappRequestDispatcherImplforward(RequestDispatcherImpljava:)

at comcauchoserverwebappRequestDispatcherImplforward(RequestDispatcherImpljava:)

at comcauchojspPageContextImplforward(PageContextImpljava:)



跳轉後浏覽器地址欄不變但是只能跳到當前主機下

此語句後面的語句執行完成後才會跳轉
 


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20615.html
  • 上一篇文章:

  • 下一篇文章:
  • Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.