Difference b/w <context-param> and <init-param>

giri picture giri · Jan 15, 2010 · Viewed 19k times · Source

DD elements <context-param> and <init-param> both can be retrieved by the getInitParameter() method, in the servlet code.

Now the question is, how does it differentiate <context-param> and <init-param>?

Answer

Adeel Ansari picture Adeel Ansari · Jan 15, 2010

Servlet init parameters are for a single servlet only. Nothing outside that servlet can access that. It is declared inside the <servlet> tag of Deployment Descriptor, on the other hand context init parameter is for the entire web application. Any servlet or JSP in that web application can access context init parameter. Context parameters are declared in a tag <context-param> directly inside the <web-app> tag.

The methods for accessing context init parameter is

getServletContext().getInitParameter("name"); 

whereas the method for accessing servlet init parameter is

getServletConfig().getInitParameter("name");