How to pass parameters to a servlet – ServletConfig

Here’s a serlvet code example to demonstrate how to pass a parameter to a servlet by using ServletConfig “init-param” in web.xml

In the deployment descriptor (web.xml)

Put your parameter value in “init-param” and make sure inside the “servlet” element


        <servlet>
		<servlet-name>ServletName</servlet-name>
		<servlet-class>com.mkyong.ServletDemo</servlet-class>
		
		<init-param>
			<param-name>email</param-name>
			<param-value>[email protected]</param-value>
		</init-param>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>ServletName</servlet-name>
		<url-pattern>/Demo</url-pattern>
	</servlet-mapping>

Servlet code


public void doGet(HttpServletRequest request, HttpServletResponse response)
	throws IOException{
	
		PrintWriter pw = response.getWriter();
		pw.println(getServletConfig().getInitParameter("email"));
		
	}

The “getServletConfig().getInitParameter(“email”)” method is use to get the ServletConfig parameter value in web.xml. Btw, this parameter only available for this servlet only. If you want a parameter which allow globally access by whole web application, you need put the parameter in servlet context element.

Here’s an example to pass parameter to whole web application.

2 comments on “How to pass parameters to a servlet – ServletConfig

  1. how to change value of servlet config parameter at runtime.

    Reply
  2. Is it possible to extend the above servlet and then to access the init-parameter in the extended servlet.
    Like we could create a global variable and save the servletConfig object then to access the variable in the extended servlet.

    Reply

Leave a Comment

Your email address will not be published. Required fields are marked *