Si je mets en œuvre une Filter
que, avant la demande est traitée, il imprime au navigateur la date/heure comme celui-ci:Java EE Filtre et Listener
@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 "...";
}
}
rien est montré dans le navigateur, mais seulement la sortie de servlet!
Et si je veux traiter un ServletRequestListener
comment puis-je accéder à un objet de réponse afin que je puisse afficher des informations à l'utilisateur?
Merci.
Essayez 'response.getWriter(). flush()' juste après avoir écrit vos données. – Jeremy
Encore rien !!! – xdevel2000