SE452: Using init parameters [23/24] Previous pageContentsNext page

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

  1. Add the se452.week2 package directory to WebApp/WEB-INF/classes
  2. Copy the new HelloServlet3.class file to the directory
  3. Edit the web.xml file to refer to the new package name.

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>

    
    

Previous pageContentsNext page