No i mam utworzyć klase Listener nadpisującą metode contextInitialized(), której celem bedzie zapis ksiazek dostępnych w bibliotece do konkekstu aplikacji. Później w servlecie wyświeltić te książki z kontekstu aplikacji poprzez wywołanie metody toString()
@WebListener
public class Listener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
ServletContext ctx;
ctx = servletContextEvent.getServletContext();
Ksiazka k= new Ksiazka("Pan Tadeusz");
ctx.setAttribute("Ksiazka", k);
}
}
public class Ksiazka{
String tytul;
Ksiazka(String tytul){
this.tytul = tytul;
}
@Override
public String toString(){
return this.tytul;
}
I tutaj w Servlecie muszę wyświetlić te dane. Za pomocą metody to String(), ale nie wiem jak.
@WebServlet(name = "Servlet", urlPatterns = {"/Servlet"})
public class Servlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet Servlet </title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet Servlet at " + request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
}
}
}