Home > Guides > Core Developers Guide > Accessing application, session, request objects |

Apache Struts 2 Documentation
Accessing application, session, request objects
Edit Page Browse Space Add Page Add News

The framework provides several access helpers to access Session, Application, Request scopes.

## Accessing from Java

All the JEE scope attribute maps can be accessed via `ActionContext`.

Accessing servlet scopes
Icon

Do not use `ActionContext.getContext()` in the constructor of your Action class. The values may not be set up, and the call may return null for `getSession()`.

We can also access the `HttpServletRequest` and `HttpServletResponse` objects themselves through `ServletActionContext`. In general this isn't recommended as it will tie our action to the servlet specification.

Setting session attribute through session object

Implementing `ServletRequestAware` or `ServletResponseAware`, combined with the `"servletConfig" interceptor`, is an alternative way to access the request and response objects, with the same caveat.

## Accessing from the view (JSP, FreeMarker, etc.)

Request and session attributes are accessed via OGNL using the `#session` and `#request` stack values.

The `#attr` stack value will search the `javax.servlet.jsp.PageContext` for the specified key. If the `PageContext` doean't exist, it will search the request, session, and application scopes, in that order.

Accessing the Session or Request from a JSP