Introduction to ServletConfig interface
When the Web Container initializes a servlet, it creates a ServletConfig object for the servlet. ServletConfig object is used to pass information to a servlet during initialization by getting configuration information from web.xml(Deployment Descriptor).
Methods of ServletConfig
- String
getInitParameter(String name):
returns a String value initialized parameter, or NULL if the parameter does not exist. - Enumeration
getInitParameterNames():
returns the names of the servlet's initialization parameters as an Enumeration of String objects, or an empty Enumeration if the servlet has no initialization parameters. - ServletContext
getServletContext():
returns a reference to the ServletContext - String
getServletName():
returns the name of the servlet instance
How to Initialize a Servlet inside web.xml
In the Deployment Descriptor(web.xml) file,
Or, Inside the Servlet class, using following code,
ServletConfig sc = getServletConfig(); out.println(sc.getInitParameter("email"));
Example demonstrating usage of ServletConfig
web.xml
<web-app...> <servlet> <servlet-name>check</servlet-name> <servlet-class>MyServlet</servlet-class> <init-param> <param-name>email</param-name> <param-value>we@studytonight.com</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>check</servlet-name> <url-pattern>/check</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>
MyServlet class :
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MyServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); ServletConfig sc=getServletConfig(); out.println(sc.getInitParameter("email")); } }