如果我实现一个Filter
该请求被处理之前它打印到浏览器的日期/时间是这样的:的Java EE过滤器和监听
@WebServlet(name = "TimedServlet",
urlPatterns =
{
"/timed_servlet"
}, initParams =
{
@WebInitParam(name = "prod", value = "true")
})
class TimedServlet extends HttpServlet
{
@WebFilter(filterName = "Time_F",
urlPatterns =
{
"/timed_servlet"
})
private class Time_F implements Filter
{
private FilterConfig fc;
public void init(FilterConfig filterConfig) throws ServletException
{
fc = filterConfig;
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
{
Calendar cal = Calendar.getInstance();
SimpleDateFormat sd_f = new SimpleDateFormat();
response.getWriter().println(sd_f.format(cal));
chain.doFilter(request, response);
}
public void destroy()
{
fc = null;
}
}
protected void doRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter())
{
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet ---</title>");
out.println("</head>");
out.println("<body>");
out.println("PROD");
out.println("</body>");
out.println("</html>");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doRequest(request, response);
}
public String getServletInfo()
{
return "...";
}
}
没有被显示在浏览器,但只有servlet的输出!
,如果我想处理ServletRequestListener
我如何可以访问响应对象,所以我可以 显示一些信息给用户?
谢谢。
在写入数据后立即尝试'response.getWriter()。flush()'。 – Jeremy 2011-04-27 13:26:05
再次没有! – xdevel2000 2011-04-27 13:32:44