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

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 ?

ServletContext context = request.getServletContext();
		if (userName != null) {
			httpSession.setAttribute("userName", userName);
			context.setAttribute("userName", userName);
		}
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"));
	}

Output:

Last updated

Was this helpful?