日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

服务器端使用sendRedirect跳转到客户端异常

發布時間:2024/1/23 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 服务器端使用sendRedirect跳转到客户端异常 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

當發生在如下錯誤的時候,有一個方案可行,

?

"java.lang.IllegalStateException: Cannot forward after response has been committed “

?

當你有多個跳轉的頁面的語句時候,好好檢查一下,當 轉發 或者 重定向的時候,需要在后加一個retrun 即可。

服務器中不允許多次跳轉,否則會下面這個錯誤。

?

因為服務器端使用sendRedirect跳轉到客戶端的時候,不能在使用req.getRequestDispatcher("跳轉的頁面").forward(req, reqs);

跳轉;

?

所以在跳轉之后,return就不會往下執行。

protected void login(HttpServletRequest req, HttpServletResponse reqs) throws ServletException, IOException {// TODO Auto-generated method stubif(req.getUserPrincipal()!=null){String userID = req.getRemoteUser();boolean bol = req.isUserInRole(USER_ROLE_ADMIN);UserModel userModel =connectionDao.getUserModelByUserID(userID);if(bol){req.getSession().setAttribute("user",userModel);reqs.sendRedirect(req.getContextPath()+"/admin/main.jsp");return;}else{reqs.sendRedirect(req.getContextPath()+"/index.jsp");return;}}}

?

?

錯誤信息:

嚴重: Servlet.service() for servlet [jsp] in context with path [/TomcatSecurityValidte] threw exception
java.lang.IllegalStateException: Cannot forward after response has been committed
?at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:339)
?at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
?at com.pack.security.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:39)
?at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
?at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
?at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
?at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
?at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:582)
?at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
?at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
?at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
?at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
?at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
?at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:279)
?at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
?at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
?at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
?at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
?at java.lang.Thread.run(Thread.java:619)

總結

以上是生活随笔為你收集整理的服务器端使用sendRedirect跳转到客户端异常的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。