Many servlet’s developers are confuse about the different between “ServletConfig” and “ServletContext”. Actually the “ServletContext” name is quite confusing, it should change to “AppConfig” or “AppContext” in the future release :)

ContextConfig

1) This is one per “web application”, access globally by all the servlets’ class
2) web.xml – within the web-app element and outside the servlet element

    <web-app ...>
        <servlet>
		<servlet-name>ServletName</servlet-name>
		<servlet-class>com.mkyong.ServletDemo</servlet-class>
	</servlet>
 
	<context-param>
			<param-name>email</param-name>
			<param-value>admin@email.com</param-value>
	</context-param>
   </web-app>

3) Servlet code

getServletContext().getInitParameter("email")

==> See the ServletContext example here

ServletConfig

1) This is one per “servlet”, only access for each specific servlet
2) web.xml – within the servlet element

    <web-app ...>
        <servlet>
		<servlet-name>ServletName</servlet-name>
		<servlet-class>com.mkyong.ServletDemo</servlet-class>
 
                 <init-param>
			<param-name>email</param-name>
			<param-value>admin@email.com</param-value>
	         </init-param>
 
	</servlet>
   </web-app>

3) Servlet code

getServletConfig().getInitParameter("email")

==> See the ServletContext example here

Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world\'s largest enterprise software company.
Publisher : Oracle Corporation