Я пытаюсь использовать пример HttpSessionBindingListener, и события не срабатывают. Что я делаю неправильно здесь.Методы HttpSessionBindingListner, которые не называются
Вот код для класса Attribute, который я пытаюсь установить, и код для класса сервлета.
Сервлет работает, но не отображает вывод, который я ожидаю.
public class SimpleAttribute implements HttpSessionBindingListener {
PrintWriter writer;
public SimpleAttribute(PrintWriter writer) {
this.writer = writer;
}
public void valueBound(HttpSessionBindingEvent event) {
writer.write("Value bound called");
writer.write("<br/>");
}
public void valueUnbound(HttpSessionBindingEvent event) {
writer.write("value Unbound called");
writer.write("<br/>");
}
}
public class SessionBindingServlet extends HttpServlet {
private static final String SIMPLEATTR = "simpleattribute";
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
ServletContext servletContext = getServletContext();
PrintWriter out = response.getWriter();
response.setContentType("text/html");
try {
servletContext.removeAttribute(SIMPLEATTR);
out.write("removed previous attribute successfully");
out.write("<br/>");
} catch (Exception e) {
}
servletContext.setAttribute(SIMPLEATTR, new SimpleAttribute(out));
out.write("Added simple attribute successfully");
out.write("<br/>");
}
}
Что вы ожидаете и что видите? –
использовать HttpSessionAttributeListener вместо HttpSessionBindingListener – fmodos
Вы зарегистрировали прослушиватель в 'web.xml'? –