Get all updates of Java4s
Follow Us: Email Newsletter

Example on Struts 2 SessionAware Interface

Struts » On Oct 24, 2011 { 17 Comments } By Sivateja

Let us see concept behind this SessionAware interface in struts 2.x,  we need to implement our Action class from SessionAware interface in order to get HTTP Session behavior into our Action class.

If we implement from SessionAware interface we need to override the method setSession() by SessionAware in our action class.  If we implement our action class from SessionAware interface then struts 2 controller doesn’t inject exactly session object, but it will injects a Map object with similar behavior.

For each Action class or a jsp visited by the same client, the controller injects the same map object, the controller creates a new map object for each client, it means one map object per session ( browser )

No. of clients = No. of map objects created by controller

Example on struts 2 SessionAware

files we used…

  • index.jsp
  • success.jsp
  • success1.jsp
  • [ in java4s package ]
  • [ in java4s package ]
  • web.xml [ in web-inf ]
  • struts.xml [ in web-inf/classes folder ]

Directory Structure






After Execution



You Might Also Like

  ♦ About Author ♦

Full Stack( Java/J2EE & UI/UX ) Developer and founder of Java4s - Get It Yourself, A popular Java/J2EE Programming Blog. Sign-up for the Email Newsletter for your daily dose of Java tutorials.


17 Responses to “Example on Struts 2 SessionAware Interface”
  1. strutsNewbie says:

    Excellent – made access to session information completely clear to developer with NO previous knowledge of struts, JSP

  2. Java4s says:


    That’s what our actual intention :-) Thanks for your feedback on this article.

  3. Mohammed Vaseem says:

    Hello java4s,
    I have a question on concepts Application/ Session aware interface.
    You are using the same technique for storing values into the map. But at value retrieval time, you are changing as #session.a or #application.a.
    At storing time we are not specifying that we are going to store in session map or application map. We are just specifying map only na. Then how can we differentiate the code as #session.c or #application.c while retrieving?

    Hope myself clear.

    Mohammed Vaseem

  4. Java4s says:

    @Mohammed Vaseem

    All aware interfaces provides Map, but writing #session.a or #application.a in .jsp’s will be depends on the interface we implemented in our action class.

    In this current example we have implemented SessionAware interface so we have to write #session.a

    hope you are clear.

  5. vasu says:

    but if I request directly with following url then its displaying (course empty string like

    but it supposed to redirect to index.jsp, how can we do that ?

    I am a student, somebody asked me
    how can you handle any junk Url request in struts( if somebody requested for myprofile.jsp, without login even if there is no such myProfile.Jsp file in server…

    in such situation how can we handle dummy requested Urls in Struts ?

  6. sanyam jain says:

    i want to know that how can i access the session value saved in action context in an action.

  7. Vipin Khandelwal says:

    How to set session between java and jsp page in struts 2 ??

  8. prashant says:

    I just want to know how to invalidate session after user is logged from the application in struts 2.

    Please give some example.

  9. Aditya says:


    this is an awesome example…. Kindly give examples on otnl.

  10. I really enjoyed..thanks a lot to is very useful to every one and simple site….. fine.

  11. Prasathkumar says:

    Hi ,
    This demo is very useful for me and i hava one more doubt what is the scope of session and can i use this any jsp and java pages?

  12. Manuchandra says:

    This example is very useful but i have a doubt. Isn’t struts internally storing a session object in map? If so then accordingly a session is one per user and can be accessed in the whole application. So my doubt is in NextActions class why there a neccasity to once again set the session?

  13. sarath thota says:

    Hello java4s, I have an application with struts2 and hibernate. As of now, we have maintained with struts2.0.11 version jars. Now we are upgrading our application with struts2.3.15.1 jars. Everything is okay, After deploying my project into tomcat server, session is invalidating immediately after creating. what may be the reason?

  14. Anusha says:


    If we can achieve the same thing using Application and Session aware interface. Then what is the necessity of using two different interfaces?
    Please clarify my doubt.
    Thanks in advance.
    please do reply..

  15. Ravindra says:

    I’m in TCS, and this site helped me alot to complete my training project. Good Work !! Please Keep it up admin.

  16. Ullu says:

    Wow what a tutorial ,really nice lol.

  17. gayathri says:

    hai ,
    thanks for your good explanation and code its work.but i have one doubt we take data using session it is access with in browser. this sessionaware also accessing like session ?


By posting your answer, you agree to our comments policy.
What would you like to learn today?
Browse these popular technologies
Hibernate spring struts Servlets ajax Log4j jQuery Json Core Java Web Services AngularJs
Most Recent Tutorials
Hibernate_Logo Hibernate Recent Posts Spring_Logo Spring Recent Posts Struts_Logo Struts Recent Posts
Useful Links Current & UpComing Tutorials
  Web Services [ SOAP ], JSP
Contact | About Us | Privacy Policy | Advertise With Us

© 2010 - 2016 Java4s - Get It Yourself.
The content is copyrighted to Sivateja Kandula and may not be reproduced on other websites.