2014-10-19 55 views
1

我想通過修改響應來爲每個頁面包含jQuery庫。那就是:使用過濾器寫入響應的JSP

這是在篩選:

PrintWriter out = response.getWriter(); 
    out.println("<head><script src=\"http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.1.min.js\"></script></head>"); 
    chain.doFilter(request, response); 

它工作得很好,但是當我想要寫別的東西與一個servlet的響應,就會出現以下錯誤:

java.lang.IllegalStateException: getWriter() has already been called for this response 

我該如何解決這個問題?

+1

使用response.getOutputStream()是什麼servlet的呢?什麼是異常的完整堆棧跟蹤?你爲什麼要在過濾器中這樣做,而不是在JSP中?如果你所有的頁面看起來都一樣,那麼你應該使用一個模板引擎(Sitemesh,Tiles,...) – 2014-10-19 13:05:20

回答

0

當編寫一個Web應用程序的響應,你可以使用response.getWriter()response.getOutputStream(),但不是兩個。所以,你應該:

  • 無論是在servlet
  • 使用response.getWriter()或在您的過濾器