SE452: Using init parameters [23/24] ![]() ![]() ![]() |
Enhancements to the HelloServlet servlet.
Takes two initialization parameters
It is placed in a package named se452.week2
package se452.week2; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet3 extends HttpServlet { protected String bgcolor; protected String fgcolor; public void init() { bgcolor = getInitParameter("bgcolor"); fgcolor = getInitParameter("fgcolor"); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title> Hello </title></head>"); if (bgcolor != null) { out.println("<body bgcolor=\"" + bgcolor + "\">"); } else { out.println("<body>"); } if (fgcolor != null) { out.println("<h1><font color=\"" + fgcolor + "\"> Hello! </font></h1>"); } else { out.println("<h1> Hello! </h1>"); } out.println("<br>"); out.println("The request URI is <i>" + request.getRequestURI() + "</i>"); out.println("</body>"); out.println("</html>"); } }
Deploy HelloServlet again
New, in web.xml:
<servlet> <servlet-name>hello</servlet-name> <servlet-class>se452.week2.HelloServlet3</servlet-class> <init-param> <param-name>bgcolor</param-name> <param-value>white</param-value> </init-param> <init-param> <param-name>fgcolor</param-name> <param-value>green</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>hello-green</servlet-name> <url-pattern>/green/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>hello-red</servlet-name> <url-pattern>/red</url-pattern> </servlet-mapping>