Posts Tagged ‘session’

Basic Servlet Attributes Thread Safety Interview Questions Answers Explained

Servlet Attributes Thread Safety  

An attribute is used to communicate some value from one servlet to another. Depending upon the scope of the attribute we can access the attributes at parts of the application.An attribute can be set at either of the scopes as follows :

1.Application

2.Session

3.Request

 

Now in order to find out which attribute/s is/are thread safe,we can ponder upon with following discussion.

1.Application Attributes : An application attribute is a value set at application level. The code to set the attribute at application level is :

getServletContext().setAttribute(“name”,”value”);

As these attributes are accessible throughout the application,any servlet or any other web entity can update or get these attributes from various parts of the application. Since application attributes can be accessed or modified by any servlet in the web application,these are not thread safe.

 

2.Session Attributes : A session attribute is a value set at session scope. Session is used to retain user specific data. The code to set the attribute at application level is :

req.getSession().setAttribute(“name”,”value”);

When we talk about thread safety of session attributes,at one glimpse it deceives to appear as thread safe. In cases where we have the new tab feature in the modern browsers,the same session for the web application is opened in the new tab. In such case, if session attribute are updated from one tab will be reflected in the another tab with the same session. Thus we can say that session attributes are also not thread safe.

3.Request Attributes : A request attribute is a value set at request scope.he code to set the attribute at application scope is :

req.setAttribute(“name”,”value”);

As we know that each request is a unique object , whatever attribute we set at request scope cant be updated or get from another request. Thus request attributes are thread safe.

Conclusion : Thus request attributes are thread safe and application and session attributes are not.

Number of View :2711

Tags: , , , , , , , , ,

No Comments


Types Of Attributes In Servlet Servlet Scopes And Attributes Saving Data In A Servlet Attributes Interview Question

Types Of Attributes In Servlet

 

An attribute is an object used to pass some value from one servlet to another.An attribute in a servlet can be set at various scopes depending upon the visibility in the web application.As we know that there are three scopes at servlet level in the application.Theses scopes are :

1.Request

2.Session

3.Application

An attribute can be set on either of the scopes depending on the situation we want access the attribute value either at request,session or application level.

When we want the value of an attribute o be accessed at request level we use request attributes and likewise for session and application.

Types of attributes in servlet can be explained on the basis of scope it belongs to :

1.Request Attributes

2.Session attributes

3.Application Attributes

 

1.Request Attributes can be set or get as demonstrated below in the code :

req.setAttribute("name","value");
req.getAttribute("name");

2.Session Attributes  can be set or get as shown below :

req.getSession(false).setAttribute("name","value");
req.getSession(false).getAttribute("name");

3.Application Attributes can be set or get as below :

getServletContext().setAttribute("name","value");
getServletContext().getAttribute("name");

Now comes the question where to use what?

Request Attributes : If we want to retain or communicate  a value across servlets where request does not change,we use request attributes.This can be the situation where include or forward is happening between the servlets in a web application.In such cases where we want to communicate a value across servlets we can use request attributes which when set from one servlet can be get in other servlets.

Session Attributes : In cases where user specific data has to be retained or communicated, we use session attributes.We use session attributes when we do not want a user’s data to be interfered by other users.It should be noted that these attributes can be retrieved  even when redirect is happening provided the session is maintained .

 

Application Attributes : In cases where some value has to be set at application level and all the entities in the web application can read that value we use application attributes.

 

 

 

Number of View :1375

Tags: , , , , , , , , , ,

No Comments


How Container Does The Cookie Work in J2EE Define Cookie Cookies Explained Session In Servlet What Is Cookie How Apache Tomcat Handles Cookies Cookies Explained How Cookies Work Cookie Guide

How container does the cookie work?

 

A Cookie is a key value pair primarily used by the container to pass the session id in order to maintain session between client and server. There can be user defined cookies as well to use cookie as attributes to pass values from one part of the web application to another.

The user only requests for the session,creating a session object,attaching the session id with the session object and sending it to the client side or the browser with the response is done by the server at the back end. These things the code has nothing to bother about,the code asks for the session and these things happen automatically.

 

The code below shows how to get a session object in servlet :

HttpSession sess = request.getSession();

 

With the help of the above written code,the session can be retrieved from the server.Following are the steps covered by the server as soon as this line of code executes :

1. HttpSession object is created

2. Unique Session id is created

3. A new cookie object is created.

4. Session id is associated with cookie

5. Cookie is set Into the response to be sent to client side

 

These are the steps involved in sending the cookie with the response if session does not exist .

The same code when executed does the work of retrieving a session object from request if it exists.If session already exists,the server finds the session id from the request(since cookie will be sent to the server from client side as part of the url).The server finds out the unique session id from the cookie and retrieves the session object with the matching Session id.

Thus all the cookie work happens behind the scene.

To know whether the session already existed or was just created,we can ask the session object itself as :

sess.isNew();

If it returns true ,it means session is created otherwise it is a preexisting session.

Number of View :1212

Tags: , , , , , ,

No Comments



SetPageWidth
Content Protected Using Blog Protector By: PcDrome.

Mahol Dot Org is Stephen Fry proof thanks to caching by WP Super Cache