@WebInitParam

This section contains detailed description of @WebInitParam annotation and its implementation with sample code.

@WebInitParam

@WebInitParam

This section contains detailed description of @WebInitParam annotation and its implementation with sample code.

The @WebInitParam is used to set parameters which is available trough out in the context of a Servlet or filter in a web application. Only Servlet or Filter for which these init parameters are set ,can access the init parameters.

Prior to Servlet 3.0, the <init-param> can be set in web.xml as follows :

<servlet>
	<servlet-name>roseindiaServlet</servlet-name>
	<servlet-class>net.roseindia.RoseindiaServlet</servlet-class>

	<init-param>
		<param-name>myParam</param-name>
		<param-value>paramValue</param-value>
	</init-param>
</servlet>

Now (in Servlet 3.0), you can set the init parameter using annotation @WebInitParam as follows :

@WebServlet(value="/user",
	initParams = {
	@WebInitParam(name="rose", value="Hello "),
	@WebInitParam(name="india", value=" World!")
})

The @WebInitParam has the following attributes :

  • name : Contains the name of the init parameter as string.

  • value : Contains the value of the init parameter as string.

  • description :Contains the description of the init parameter.

The tools and technology used in the example is given below :

  • Eclipse Helios 3.6.1

  • Tomcat 7

  • jdk1.6.0_18

EXAMPLE

In the below tutorial, you will learn to set the init parameters using @WebInitParam  , which we also read and displays as output :

package roseindia;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(asyncSupported = false, name = "WebInitParamAnnotation", urlPatterns = { "/initparamServlet" }, initParams = {
@WebInitParam(name = "param1", value = "Rose"),
@WebInitParam(name = "param2", value = "India") })
public class WebInitParamAnnotation extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html");

PrintWriter out = res.getWriter();

// Writing response to display on page
out.write("<html><head><title>@WebInitParam Annotation</title></head>");
out.write("<body>");
out.write("<h2>@WebInitParam Annotation Example</h2>");
out.write("<h3>WELCOME TO <font color='RED'>ROSEINDIA </font>!!!!</h3>");
out.write("<p>The name & value of two init parameter are given below --></p>");
out.write("<p><b>param1</b> --> " + getServletConfig().getInitParameter("param1")+"</p>");
out.write("<p><b>param1</b> --> " + getServletConfig().getInitParameter("param2")+"</p>");
out.write("</body>");
out.write("</html>");

}
}

OUTPUT

When you execute the above code, you will get the following output :

Download Source Code