2010-02-16 5 views
0

Je travaille dans une application struts.Maintenant je veux accéder à la page abc.do sans session active en ce moment je demande à l'utilisateur de se connecter à l'application et il va se connecter et aller à la page d'accueil (index.jsp) Je vérifie s'il est connecté en utilisant une classe d'action.Comment maintenir une trace d'une URL

Maintenant, imaginez, il y a trois pages abc.do bca.do cba.do

Toutes ces pages appellera la classe d'action validateAction.java avant d'aller à leurs pages jsp correspondant abc .jsp, bca.jsp cba.jsp

il existe d'autres pages également en dehors des pages jsp ci-dessus mentioned.So mon utilisateur souhaite stocker ces derniers comme marque-page et il est prêt à connectez-vous seulement en sélectionnant abc.do et immédiatement après la journalisation au lieu de venir à index.jsp il veut atterrir en abc.do (abc.jsp)

Comment garder une trace de quel .do a été appelé?

Je peux fournir plus d'informations si nécessaire

Répondre

3

Dans le code qui vérifie si l'utilisateur a une session active, vous pouvez obtenir l'adresse URI de demande du HttpServletRequest puis le stocker comme un attribut de session.

HttpServletRequest hreq = (HttpServletRequest) request;
String currentURI = hreq.getRequestURI();
hreq.setAttribute("firstURI", currentURI);

Après que l'utilisateur est authentifié, vous obtenez l'attribut de la session et émettre une commande vers l'avant.

hreq.getRequestDispatcher(firstURI).forward(hreq, hres);