> For the complete documentation index, see [llms.txt](https://gyansetu-jspandservlets-for-java.gitbook.io/workspace/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gyansetu-jspandservlets-for-java.gitbook.io/workspace/request-session-and-context-part-2.md).

# Request , Session and Context Part - 2

## Session Object vs Context Object :

### Session Object :

1. **One per user/machine**
2. **Objects available across requests**
3. **Perfect for login sessions and shopping carts**
4. **Every request object has a reference to the session object.**

![Session object is null for other user/browser](/files/-LcosU6X3XowY2UNoSX2)

### **Context Object :**

1. **Across the entire application**
2. **Shared across servlets and users**
3. **Initialization code / Common bulletin board**
4. **Use the Context object**

#### How to create session ?

```java
ServletContext context = request.getServletContext();
		if (userName != null) {
			httpSession.setAttribute("userName", userName);
			context.setAttribute("userName", userName);
		}
```

```java
protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println("Hello from Get method of XML servlet");
		response.setContentType("text/html");
		String userName = request.getParameter("userName");
		PrintWriter printWriter = response.getWriter();
		printWriter.println("Hello from GET method using request parameter " + userName);
		//getting session
		HttpSession httpSession = request.getSession();
		//getting context
		ServletContext context = request.getServletContext();
		if (userName != null) {
			httpSession.setAttribute("userName", userName);
			context.setAttribute("userName", userName);
		}
		printWriter.println("Hello from GET method using session parameter " + httpSession.getAttribute("userName"));
		printWriter.println("Hello from GET method using context parameter " + context.getAttribute("userName"));
	}
```

![](/files/-Lcoszun7Ep2eSh0iW1J)

### Output:

![](/files/-Lcot3pNUoOvXU8YrIlq)
