【发布时间】:2014-07-31 07:28:33
【问题描述】:
我有一个 servlet 过滤器,如下所示:
public class ServletFilter implements Filter
{
String Token="";
public void init(FilterConfig filterConfig) throws ServletException { }
public void doFilter(ServletRequest servletRequest,ServletResponse servletResponse,FilterChain filterChain) throws IOException,ServletException
{
HttpServletRequest request=(HttpServletRequest)servletRequest;
HttpServletResponse response=(HttpServletResponse)servletResponse;
response.getWriter().write("Request intercepted ...\n<P>\n");
Token=request.getParameter("token");
if (Token==null || Token.trim().length()<1)
{
filterChain.doFilter(request,response);
// filterChain.doFilter(servletRequest,servletResponse);
return;
}
}
...
}
过滤后无法正常显示Html格式,如下图所示,上半部分是过滤前的样子,下半部分是过滤后的样子,为什么 ?如何解决?
【问题讨论】:
-
如何在浏览器中查看源代码而不是屏幕截图并查看 HTML
-
检查注释掉
response.getWriter().write("Request intercepted ...\n<P>\n");是否能解决问题。可能是这个字符串弄乱了格式,或者如果目标请求处理程序尝试执行“response.getOutputStream()”,那么请求可能会失败。
标签: java html servlets format filtering