| [ Team LiB ] | 
	 | 
Recipe 6.1 Including a Resource Each Time a Servlet Handles a RequestProblemYou want to include information from an external file in a servlet each time the servlet handles a request. SolutionUse the javax.servlet.RequestDispatcher.include(request,response) method in the doGet( ) method of the servlet that includes the external file. DiscussionIncluding the content in the javax.servlet.http.HttpServlet's doGet( ) method initiates the include mechanism whenever the web container receives a GET request for the servlet. 
 Example 6-1 shows a servlet that imports a copyright template in the doGet( ) method using the javax.servlet.RequestDispatcher.include( ) method. Example 6-1. Including content in the HttpServlet's init( ) methodpackage com.jspservletcookbook;           
import javax.servlet.*;
import javax.servlet.http.*;
public class IncludeServlet extends HttpServlet {
    
 public void doGet(HttpServletRequest request, 
   HttpServletResponse response) throws ServletException,
   java.io.IOException {
        
        response.setContentType("text/html");
        java.io.PrintWriter out = response.getWriter( );
        
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Include Servlet</title>");  
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Welcome To Our Universe</h1>");
        out.println("Imagine the rest of the page here.<br><br>");
        //Include the copyright information
        RequestDispatcher dispatcher = request.getRequestDispatcher(
        "/copyright");
        dispatcher.include(request, response);
        out.println("</body>");
        out.println("</html>");
  }//doGet 
}
Example 6-1 gets a RequestDispatcher object by calling the javax.servlet.ServletRequest.getRequestDispatcher( ) method . The parameter to the getRequestDispatcher( ) method in this case is the servlet path to the resource that the include servlet imports: /copyright. This path is mapped in web.xml to the Copyright servlet, which is shown in Example 6-2. Example 6-2. The imported Copyright servletpublic class Copyright extends HttpServlet {
  
    public void doGet(HttpServletRequest request, 
      HttpServletResponse response) throws ServletException,
      java.io.IOException {
        
        java.io.PrintWriter out = response.getWriter( );
        out.println("Copyright© 2003-2004 EmbraceAndExtend Corp.");
        
    } 
}
The Copyright servlet outputs a line of text that includes the character entity code for the copyright symbol (©), so that the copyright symbol is displayed correctly in the resulting HTML. When the importing servlet calls the include( ) method, the copyright text is inserted in the method call's code location. 
 Figure 6-1 shows the page generated by the IncludeServlet in a browser. Figure 6-1. The IncludeServlet's page in a browser![]() Recipe 6.2 describes how to configure the imported resource in an external configuration file, such as web.xml. 
 See AlsoRecipe 6.2 and Recipe 6.3 on including resources in servlets; Recipe 6.4-Recipe 6.7 on using jsp:include, the include directive, as well as including resources into JSP documents or XML files; Chapter SRV.14.2.5 of the Servlet 2.4 specification; Chapter JSP.5.4 on of the JSP 2.0 specification on jsp:include; Chapter JSP.1.10.3 of the JSP 2.0 specification on the include directive.  | 
| [ Team LiB ] | 
           |