01 /*
02 * Created on 02.03.2004
03 */
04 package de.fub.tip.actions;
05
06 import javax.servlet.http.HttpServletRequest;
07 import javax.servlet.http.HttpServletResponse;
08 import javax.servlet.http.HttpSession;
09
10 import org.apache.log4j.Logger;
11 import org.apache.struts.action.Action;
12 import org.apache.struts.action.ActionForm;
13 import org.apache.struts.action.ActionForward;
14 import org.apache.struts.action.ActionMapping;
15 import org.apache.struts.action.ActionMessage;
16 import org.apache.struts.action.ActionMessages;
17
18 /**
19 * Sinn: damit wird ein gesichertes Abmelden vom System ermöglicht.<br>
20 * Die Action zerstört alle SessionInformationen und <br>
21 * kehrt zum Startbildschirm von TIP zurück.
22 *
23 * @author hirsch, 02.03.2004
24 * @version 2004-04-20
25 * $Id: LogoutAction.java,v 1.7 2004/04/26 08:03:17 hirsch Exp $
26 *
27 */
28 public class LogoutAction extends Action {
29 /** Logger zur Fehleranalyse */
30 private static Logger logger = Logger.getLogger(LogoutAction.class);
31
32 /**
33 * führt die Abmeldung aus und zerstört Session-Informationen
34 *
35 * @param actionMapping ActionMapping
36 * @param actionForm zugehörige ActionForm
37 * @param request der aktuelle Request
38 * @param response ServletResponse
39 *
40 * @return ActionForward nächstes Ziel
41 */
42 public ActionForward execute(ActionMapping actionMapping,
43 ActionForm actionForm, HttpServletRequest request,
44 HttpServletResponse response ) {
45
46 logger.error("LogoutAction.execute() startet.");
47
48 // Messages zusammenbasteln zur Anzeige
49 ActionMessages messages = new ActionMessages();
50 ActionMessage message = new ActionMessage("start.logout");
51 messages.add( ActionMessages.GLOBAL_MESSAGE, message );
52 saveMessages( request, messages );
53
54 // user und location aus Session entfernen
55 HttpSession session = request.getSession(false);
56
57 if ( session != null ) {
58 session.removeAttribute("user");
59 session.removeAttribute("location");
60 session.invalidate();
61 } // end if
62
63 return actionMapping.findForward("success");
64 } // end of execute
65 } // end of class
|