public void controller(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { hsession = HibernateUtil.currentSession(); sessione = request.getSession(); tx = hsession.beginTransaction(); String action = request.getParameter("action"); if (action == null) action = "home"; /*if(action.equals("login")) login(request, response);*/ Users u = (Users) sessione.getAttribute("user"); if (u == null) { throw new LoginException(); } else if (u.getTipo().intValue() < 2) { throw new LoginException(); } if (action.equals("home")) accedi(request, response); else if (action.equals("chiudi")) chiudiBilancio(request, response); } catch (LoginException e) { Avviso err = new Avviso(e.getMessage()); request.setAttribute("err", err); nextview = "/./error.jsp"; } catch (Exception e) { Avviso err = new Avviso("Errore indefinito. Ricorda di non usare il tasto REFRESH di Explorer!"); request.setAttribute("err", err); System.out.println(e.getMessage()); nextview = "/./error.jsp"; } finally { RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextview); if (dispatcher != null) { response.encodeURL(nextview); dispatcher.forward(request, response); } HibernateUtil.closeSession(); } }
private void chiudiBilancio(HttpServletRequest request, HttpServletResponse response) { String page = request.getParameter("page"); String anno = request.getParameter("anno"); if (page.equals("1")) { nextview = "/bilancio/chiudi_bilancio.jsp?anno=" + anno; } else { Query q = hsession.createQuery("FROM Anno WHERE anno = :anno"); q.setString("anno", anno); Anno a = (Anno) q.list().get(0); a.setChiuso(true); hsession.saveOrUpdate(a); tx.commit(); accedi(request, response); } }