我想通过修改响应来包含每个页面的 jQuery 库。这是:
这是在过滤器中:
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
我该如何解决这个问题?
最佳答案
将 html 代码放入文件中,并使用 servlet 调度程序方法包含该文件。有关详细信息,请参阅 javax.servlet.RequestDispatcher#include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
included.html
:
<head><script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.1.min.js"></script></head>
过滤代码:
request.getRequestDispatcher("included.html").include(request, respose);
chain.doFilter(request, response);
关于java - JSP 使用过滤器写入响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26450067/