In a web application there are different type of scope where we can store object or data. There are a page
, request
, session
and application
scope.
To share data between users of the web application we can put a shared object in application scope which can be done by calling setAttribute()
method of the ServletContext
. By this way data can then be accessing by other users by calling the getAttribute()
method of the ServletContext
.
Let’s see the example code in a simple servlet.
package org.kodejava.servlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name = "SharedObjectServlet", urlPatterns = "/shared-object")
public class ApplicationContextScopeAttribute extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ServletContext context = this.getServletContext();
context.setAttribute("HELLO.WORLD", "Hello World 123");
}
}
And here is what we code in the JSP page to access it.
<%= request.getServletContext().getAttribute("HELLO.WORLD") %>
Maven dependencies
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
Latest posts by Wayan (see all)
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024
- How do I sum a BigDecimal property of a list of objects using Java Stream API? - July 22, 2024