溫馨提示:您的每一次轉(zhuǎn)載,體現(xiàn)了我寫此文的意義!!!煩請您在轉(zhuǎn)載時注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          雪山飛鵠

          溫馨提示:您的每一次轉(zhuǎn)載,體現(xiàn)了我寫此文的意義!!!煩請您在轉(zhuǎn)載時注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks
          最近在調(diào)試xwiki的時候遇到java.lang.IllegalStateException異常,在google上baidu了一把
          經(jīng)過分析查看jdk文檔終于找到了解決方案,在response.sendRedirect("")方法后加return語句即可:
          原因是在程序中兩次調(diào)用response.sendRedirect("")方法

          j2ee5.0中的介紹:

          sendRedirect

          void sendRedirect(java.lang.String location)
          throws java.io.IOException
          Sends a temporary redirect response to the client using the specified redirect location URL. This method can accept relative URLs; the servlet container must convert the relative URL to an absolute URL before sending the response to the client. If the location is relative without a leading '/' the container interprets it as relative to the current request URI. If the location is relative with a leading '/' the container interprets it as relative to the servlet container root.

          If the response has already been committed, this method throws an IllegalStateException. After using this method, the response should be considered to be committed and should not be written to.

           

          Parameters:
          location - the redirect location URL
          Throws:
          java.io.IOException - If an input or output exception occurs
          java.lang.IllegalStateException - If the response was committed or if a partial URL is given and cannot be converted into a valid URL
          posted on 2010-01-26 10:18 雪山飛鵠 閱讀(148016) 評論(12)  編輯  收藏 所屬分類: javase

          Feedback

          # re: java.lang.IllegalStateException異常解決... 2010-10-25 16:38 King_Admins
          呵呵,不錯!  回復  更多評論
            

          # re: java.lang.IllegalStateException異常解決... 2010-10-25 16:39 King_wangyao
          IllegalComponentStateException
          在不合理或不正確時間內(nèi)喚醒一方法時出現(xiàn)的異常信息。換句話說,即 Java 環(huán)境或 Java 應用不滿足請求操作。  回復  更多評論
            

          # re: java.lang.IllegalStateException異常解決 2010-12-29 16:19 yk
          請不要粘來粘去好不好 都在很多地方看到了這一個說法  回復  更多評論
            

          # re: java.lang.IllegalStateException異常解決 2011-01-07 16:22 李云武
          在response.sendRedirect()方法后加return語句即可,如下:
          response.sendRedirect("index.jsp");
          return;

          原因是:在程序中兩次調(diào)用了response.sendRedirect()方法。

          jdk5.0文檔中很清楚地介紹了出現(xiàn)IllegalStateException異常的可能情況:

          1)同一個頁面中再次調(diào)用response.sendRedirect()方法。
          2)提交的URL錯誤,即不是個有效的URL。

            回復  更多評論
            

          # re: java.lang.IllegalStateException異常解決 2011-03-29 13:12 wysjian
          public ModelAndView downloadPrint(HttpServletRequest request,HttpServletResponse response, DatabaseForm databaseForm) {
          HashMap<String, String> model = new HashMap<String, String>();
          try {
          //String doc_nme = (String) request.getParameter("doc_nme");
          //String bfr_nme = (String) request.getParameter("bfr_nme");
          response.setContentType("text/html");
          javax.servlet.ServletOutputStream out = response.getOutputStream();
          // 取得文件在服務器上的文件路徑
          String filePatch = getServletContext().getRealPath("");//獲得編譯后的文件路徑
          String allPathStr = filePatch + "//applets//jre-1_5_0_18-windows-i586-p.rar" ;
          File file = new File(allPathStr);
          // 讀取文件流
          FileInputStream fileInputStream = new FileInputStream(file);
          String bfr_nme = "jre-1_5_0_18-windows-i586-p.rar";//this.getDatabaseMgr().queryBfrUserDocNm(doc_nme);
          // 下載文件
          // 設置響應頭和下載保存的文件名
          response.setContentType("application/x-msdownload");
          response.setHeader("Content-Disposition", "attachment; filename="+ new String(bfr_nme.getBytes("gb2312"),"iso8859-1") + "");
          if (fileInputStream != null) {
          int filelen = fileInputStream.available();
          // 文件太大時內(nèi)存不能一次讀出,要循環(huán)
          byte a[] = new byte[filelen];
          fileInputStream.read(a);
          out.write(a);
          }
          fileInputStream.close();
          out.close();
          return null;
          //return new ModelAndView("downLoadView", model);
          } catch (Exception e) {
          e.printStackTrace();
          model.put("errorInfo", e.getMessage());
          return new ModelAndView("errorView", model);
          }
          }
            回復  更多評論
            

          # re: java.lang.IllegalStateException異常解決[未登錄] 2012-06-05 16:04 lyy
          但是我整個文檔里就沒有那個response.sendRedirect()語句啊,也有這個異常啊,大俠給看看:
          <%
          String filename = "D:/Program Files/Genuitec/workspaces/zoology/WebRoot/jianfang.txt";
          //if (request.getAttribute("url") != null) {
          // filename = (String)request.getAttribute("url");
          //}

          System.out.print("filename "+filename);
          response.setContentType("application/msword");
          response.setHeader("Content-disposition", "inline; filename="
          + filename);
          BufferedInputStream bis = null;
          BufferedOutputStream bos = null;
          try {
          bis = new BufferedInputStream(new FileInputStream(new File(filename)));
          //getServletContext().getRealPath("" + filename)));
          bos = new BufferedOutputStream(response.getOutputStream());
          byte[] buff = new byte[2048];
          char[] c =new char[2048];
          int bytesRead;
          while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
          bos.write(buff, 0, bytesRead);
          }

          } catch (final IOException e) {
          System.out.println("出現(xiàn)IOException." + e);
          } finally {
          if (bis != null)
          bis.close();
          if (bos != null)
          bos.close();
          }
          %>  回復  更多評論
            

          # re: java.lang.IllegalStateException異常解決 2012-06-07 11:26 puliang
          我只是增加一個文件,為什么也報這個錯誤呢  回復  更多評論
            

          # re: java.lang.IllegalStateException異常解決[未登錄] 2012-06-30 09:39 lucky
          現(xiàn)在關鍵的是,我的項目使用struts2寫的,response.sendRedirect()都是在struts2框架里面定義了的,我怎么處理呢?  回復  更多評論
            

          # re: java.lang.IllegalStateException異常解決[未登錄] 2012-12-01 18:16 張三
          java.lang.IllegalStateException
          at org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:435)
          at org.apache.taglibs.standard.tag.common.core.RedirectSupport.doEndTag(RedirectSupport.java:119)
          at org.apache.jsp.MovieShopping_jsp._jspx_meth_c_005fredirect_005f0(MovieShopping_jsp.java:686)
          at org.apache.jsp.MovieShopping_jsp._jspx_meth_c_005fif_005f2(MovieShopping_jsp.java:654)
          at org.apache.jsp.MovieShopping_jsp._jspService(MovieShopping_jsp.java:369)
          at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
          at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
          at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
          at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
          at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
          at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
          at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
          at org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:113)
          at org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:96)
          at org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:54)
          at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
          at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
          at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
          at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
          at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
          at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
          at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
          at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
          at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
          at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
          at java.lang.Thread.run(Thread.java:619)  回復  更多評論
            

          # re: java.lang.IllegalStateException異常解決 2013-01-21 22:01 sundabing

          java.lang.IllegalStateException
          at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407)
          at com.dyjy.mybook.web.action.BookAction.service(BookAction.java:65)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
          at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
          at java.lang.Thread.run(Thread.java:619)
          2013-1-21 22:00:34 org.apache.catalina.core.StandardWrapperValve invoke
          嚴重: Servlet.service() for servlet BookAction threw exception
          java.lang.IllegalStateException
          at org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:435)
          at com.dyjy.mybook.web.action.BookAction.service(BookAction.java:74)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
          at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
          at java.lang.Thread.run(Thread.java:619)
            回復  更多評論
            

          # re: java.lang.IllegalStateException異常解決 2013-06-06 09:13 33
          @yk
          程序員通病—復制粘貼  回復  更多評論
            

          # re: java.lang.IllegalStateException異常解決 2015-08-15 09:48 xiaohei
          @lucky 你的問題解決了嗎?怎么解決的?我也遇到相同的問題了。sturts2的
            回復  更多評論
            

          主站蜘蛛池模板: 怀宁县| 波密县| 济源市| 永福县| 浙江省| 鄂温| 饶平县| 秭归县| 丁青县| 新化县| 云南省| 河曲县| 深圳市| 南丹县| 常山县| 东安县| 南川市| 海丰县| 巴塘县| 平江县| 德保县| 眉山市| 株洲县| 共和县| 阳西县| 义乌市| 正蓝旗| 香格里拉县| 上虞市| 高碑店市| 乳源| 阜康市| 丰顺县| 桃园市| 岳阳市| 云龙县| 屏南县| 东兰县| 志丹县| 乐都县| 洛隆县|