jsp

位置:IT落伍者 >> jsp >> 浏览文章

JSP页面跳转的实战规则


发布日期:2020年10月24日
 
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:)



跳转后浏览器地址栏不变但是只能跳到当前主机下

此语句后面的语句执行完成后才会跳转

上一篇:配置Web应用环境实现JSP留言簿开发

下一篇:jsp运行环境入门设置