struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Preetham Mallavarapu <preethamreddy.mallaar...@gmail.com>
Subject Re: Need help in fixing issue with Url refresh
Date Fri, 12 Jun 2015 07:37:42 GMT
HI Christoph,

Sorry for the delayed response.

Thanks a lot for your assistance on this issue. Now its working for me.

My Classes are almost similar to what you said except that I was
redirecting to the home page from the login action which was causing the
issue. I have made tweaks in my code as per your suggestion and it
perfectly works now.

Tons of Thanks again.

Thanks,
Hari Krishna

On Wed, Jun 10, 2015 at 1:34 PM, Christoph Nenning <
Christoph.Nenning@lex-com.net> wrote:

> Hi,
>
>
> well, I would create more files for that:
>
> - LoginAction
> - login.jsp
> - LoginManager
> - UserDataAction
> - userData.jsp
>
>
> And flow would be like this:
> - Send GET request to LoginAction
> - LoginAction uses some result to show login.jsp (e.g. dispatcher-result,
> tiles, sitemesh, ...)
> - login.jsp shows a login form
> - when user submits that form a POST request is sent to LoginAction
> - LoginAction uses LoginManager to check if user is valid
> - LoginAction must somehow remember that user is logged in. It could put
> an object in http-session or set a custom cookie, ...
> - LoginAction redirects to UserDataAction (by using a redirect-result)
> - This causes the Browser to send a new GET request to UserDataAction
> - UserDataAction checks that user is logged in (by checking the session,
> cookie, ...) and uses LoginManager to load user-data
> - UserDataAction uses some result to show userData.jsp (again: e.g.
> dispatch, tiles, sitemesh, ...)
> - userData.jsp uses struts tags and OGNL to display user-data which has
> been loaded into UserDataAction
>
>
>
> That shows how the MVC-pattern is handled in struts:
> - Action classes are controllers, all URLs point to actions
> - Action classes use Logic classes (like LoginManager) and let them do
> busines logic
> - JSPs are just used for the View part, they are only invoked through
> actions
>
>
> It also shows how 'login to a web app' is usually done: by using session
> or cookies.
>
>
>
> Regards,
> Christoph
>
>
>
>
> > From: Preetham Mallavarapu <preethamreddy.mallaarapu@gmail.com>
> > To: Struts Users Mailing List <user@struts.apache.org>,
> > Date: 09.06.2015 17:49
> > Subject: Re: Need help in fixing issue with Url refresh
> >
> > Hi Christoph,
> >
> > Thanks for your quick response..I am briefing the issue once again..
> >
> >
> > The inital flow was like this before...
> >
> > I have login.jsp(username and password) -> checkUser
> method(loginManager)->
> > Method calls a function in DB class and gets the user details if exist -
> >
> > returns success to strus.xml -> now user details gets displayed in UI
> page..
> >
> > here the url comes as said before..
> > http://localhost:8081/NewApp/checkUserLoginManager
> >
> > and when I refresh it throws exception which might be due to calling the
> > checkUsermethod..
> >
> > After the suggestion I have used a redirectAction
> >
> > I have login.jsp(username and password) -> checkUser
> method(loginManager)->
> > Method calls a function in DB class and gets the user details if exist -
> > >returns success to strus.xml ->now I have used a redirect action to
> > another Action class which inturn redirects to homepage (but the problem
> is
> > that it doesnt display the user details now) and the url issue got
> fixed..
> >
> > Now the url is like below
> > http://localhost:8081/ExamCentre/displayManager.action
> >
> >
> > Now if I try to move the login validation to second action, I am unclear
> on
> > how to pass the data from login.jsp to the second action..
> >
> >
> >
> > The project is in initial stage so I have 2 action class one for
> > registrtaion and one for login apart from the new one created for
> > redirection.
> >
> >
> > Below is my struts.xml for reference
> >
> >
> > <action name="*LoginManager" class="com.project.manager.LoginManager"
> > method="{1}">
> >     <result name="displayLoginPage" type="redirect">
> >     <param name="location">login.jsp</param>
> >     </result>
> >
> >                 <result name="studentHomePage" type="redirectAction">
> >                   <param name="actionName">displayManager</param>
> >                 </result>
> >         </action>
> >  <action name="displayManager"
> class="com.project.manager.DisplayManager">
> > <result name="success">student/studentHomePage.jsp</result>
> > </action>
> >
> >                <action name="*RegistrationManager"
> > class="com.project.manager.RegistrationManager" method="{1}">
> >
> >
> >                 <result name="displayLoginPage">login.jsp</result>
> >                 <result
> name="newUserRegistrationFailed">signup.jsp</result>
> >
> >         </action>
> >
> >
> >
> >
> >
> > Thanks,
> > Hari Krishna
> >
> >
> >
> >
> > On Tue, Jun 9, 2015 at 8:10 PM, Christoph Nenning <
> > Christoph.Nenning@lex-com.net> wrote:
> >
> > > > From: Preetham Mallavarapu <preethamreddy.mallaarapu@gmail.com>
> > > > To: Struts Users Mailing List <user@struts.apache.org>,
> > > > Date: 09.06.2015 16:27
> > > > Subject: Re: Need help in fixing issue with Url refresh
> > > >
> > > > Hi Christoph,
> > > >
> > > > I have tried working in the way login-post-request (using
> > > > redirectAction)..It successfully redirects to the required page but
> its
> > > not
> > > > displaying the data in that..
> > > >
> > > > ex:
> > > >
> > > > In jsP I have <s:text name="firstName"/>
> > > >
> > > > when I do without redirect it displays user first name but when I
> try
> > > using
> > > > redirectAction it shows *"firstName" instead of data..*
> > > >
> > > > I am not sure whether I have followed the correct process or not..
> > > >
> > > > could you kindly provide me an example where I can refer ..?
> > > >
> > > > Thanks,
> > > > Hari Krishna
> > > >
> > >
> > >
> > > You can have a look at this CRUD sample:
> > >
> > > https://github.com/wolpi/struts2-crud-sample/tree/master/struts2-
> > crud-sample/src/main/java/test/crudsample/actions
> > >
> > > Do you have just one action which handles all your pages or do you
> have
> > > two different actions?
> > > After a redirect you must load data from database.
> > >
> > >
> > > Regards,
> > > Christoph
> > >
> > >
> > >
> > > >
> > > >
> > > > On Mon, Jun 8, 2015 at 7:42 PM, Preetham Mallavarapu <
> > > > preethamreddy.mallaarapu@gmail.com> wrote:
> > > >
> > > > > Thanks Christoph for the suggestion. I will give a try now.
> > > > >
> > > > > Thanks,
> > > > > Hari Krishna
> > > > >
> > > > >
> > > > > On Mon, Jun 8, 2015 at 4:25 PM, Christoph Nenning <
> > > > > Christoph.Nenning@lex-com.net> wrote:
> > > > >
> > > > >> > From: Preetham Mallavarapu <preethamreddy.mallaarapu@gmail.com>
> > > > >> > To: Struts Users Mailing List <user@struts.apache.org>,
> > > > >> > Date: 08.06.2015 11:00
> > > > >> > Subject: Need help in fixing issue with Url refresh
> > > > >> >
> > > > >> > Hi,
> > > > >> >
> > > > >> > I have a problem in my struts2 app when I try to refresh
url
> > > > >> >
> > > > >> > Below is the url I am trying to refresh..
> > > > >> >
> > > > >> > when user logs in then the *checkUser* method will be called
in
> the
> > > > >> > LoginManager class and if it is a successfull login the
home
> page
> > > will
> > > > >> be
> > > > >> > called having the below one as the url..
> > > > >> >
> > > > >> > http://localhost:8081/NewApp/checkUserLoginManager
> > > > >> >
> > > > >> >
> > > > >> > Now the problem is when I try to refresh the url it throws
me
> null
> > > > >> pointer
> > > > >> > exception..for me it looks like it is calling again the
> checkUser
> > > > >> method..
> > > > >> >
> > > > >> > Now can someone help me on how to fix this?
> > > > >> >
> > > > >> > Thanks,
> > > > >> > Hari Krishna
> > > > >>
> > > > >>
> > > > >> hi,
> > > > >>
> > > > >> this sounds like you don't use a redirect but answer the
> > > > >> login-post-request with html. When an user hits browser refresh
> the
> > > post
> > > > >> request ist submitted again but the action misses some data at
> this
> > > time.
> > > > >> I suggest to use a redirect after login to show the user start
> page.
> > > > >>
> > > > >>
> > > > >> http://struts.apache.org/docs/redirect-action-result.html
> > > > >>
> > > > >>
> > > > >> regards,
> > > > >> Christoph
> > > > >>
> > > > >>
> > > > >> This Email was scanned by Sophos Anti Virus
> > > > >>
> > > > >
> > > > >
> > >
> > > This Email was scanned by Sophos Anti Virus
> > >
>
> This Email was scanned by Sophos Anti Virus
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message