96
Attribute in Servlet
An attribute in servlet is an object that can be set, get or removed from one of the following scopes:
- request scope
- session scope
- application scope
The servlet programmer can pass informations from one servlet to another using attributes. It is just like passing object from one class to another so that we can reuse the same object again and again.
Attribute specific methods of ServletRequest, HttpSession and ServletContext interface
There are following 4 attribute specific methods. They are as follows:
|
Example of ServletContext to set and get attribute
In this example, we are setting the attribute in the application scope and getting that value from another servlet. |
DemoServlet1.java
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class DemoServlet1 extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res) { try{ res.setContentType("text/html"); PrintWriter out=res.getWriter(); ServletContext context=getServletContext(); context.setAttribute("company","IBM"); out.println("Welcome to first servlet"); out.println("<a href='servlet2'>visit</a>"); out.close(); }catch(Exception e){out.println(e);} }}
DemoServlet2.java
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class DemoServlet2 extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res) { try{ res.setContentType("text/html"); PrintWriter out=res.getWriter(); ServletContext context=getServletContext(); String n=(String)context.getAttribute("company"); out.println("Welcome to "+n); out.close(); }catch(Exception e){out.println(e);} }}
web.xml
<web-app> <servlet> <servlet-name>s1</servlet-name> <servlet-class>DemoServlet1</servlet-class> </servlet> <servlet-mapping> <servlet-name>s1</servlet-name> <url-pattern>/servlet1</url-pattern> </servlet-mapping> <servlet> <servlet-name>s2</servlet-name> <servlet-class>DemoServlet2</servlet-class> </servlet> <servlet-mapping> <servlet-name>s2</servlet-name> <url-pattern>/servlet2</url-pattern> </servlet-mapping> </web-app>
Difference between ServletConfig and ServletContext
The servletconfig object refers to the single servlet whereas servletcontext object refers to the whole web application. |
Next TopicSession Tracking in Servlets