import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; public class Undo extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { try { HttpSession session = request.getSession(true) ; DBSession dbs = (DBSession) session.getAttribute("dbs") ; Vector undoList = (Vector) session.getAttribute("undoList") ; if(dbs == null || undoList == null) { response.sendError(HttpServletResponse.SC_OK, "Session timed out. Cannot undo change.") ; return ; } // Undo most recent change int last = undoList.size() - 1 ; dbs.stat.executeUpdate((String) undoList.remove(last)) ; // Redirect browser back to selection page response.sendRedirect( response.encodeRedirectURL("/students/servlet/Select")); } catch (SQLException e) { response.sendError(HttpServletResponse.SC_OK, "SQL error: " + e.getMessage()) ; } } }