2011-02-13 17 views
6

tengo este servlet:Incluir el contenido de un JSP en un servlet

public class SaveImage extends HttpServlet { 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     PrintWriter out = null; 
     try { 
      out = response.getWriter(); 
      out.println("<html>"); 
      ... 

      // I want to include here the content of this jsp: 
      // /WEB-INF/mybox.jsp 
      // (also, with the full context of the servlet) 

      ... 
      out.println("</html>"); 
      out.close(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

¿Hay un problema hacerlo (respuesta ya se ha comprometido?), ¿Cómo puedo hacer esto?

Respuesta

12
request.getRequestDispatcher("/WEB-INF/my.jsp").include(request, response); 

Pero no deberías tener un servlet para generar html como ese. Solo use un jsp, ya sea con <jsp:include /> o <%@ include file=".." %>

+0

Funciona bien gracias. – BenoitParis

+1

Hola Bozho, ¿podemos usar request.getRequestDispatcher(). Include() con conjunto de parámetros (no atributo)? Algo así como cuando estamos usando podemos establecer el parámetro. ¿Es posible? Gracias por la ayuda. – GMsoF

2

GRACIAS ozho, ME HAN AYUDADO A dar la forma final al proyecto pendiente de 2 años. Gracias. En realidad, para redirigir la solicitud de tomcat del servidor web sun 7 al servidor de aplicaciones, ya que las jsps no se muestran directamente en tomcat, la técnica es usar un canal de paso en app.config y dejar que el tomcat maneje las solicitudes.

  import java.io.IOException; 

      import javax.servlet.RequestDispatcher; 
      import javax.servlet.ServletContext; 
      import javax.servlet.ServletException; 
      import javax.servlet.http.HttpServlet; 
      import javax.servlet.http.HttpServletRequest; 
      import javax.servlet.http.HttpServletResponse; 

      /** 
      * Servlet implementation class MY... Parvez Ahmad Hakim 
      */ 
      public class MY extends HttpServlet { 
       private static final long serialVersionUID = 1L; 

       /** 
       * @see HttpServlet#HttpServlet() 
       */ 
       public MY() { 
       super(); 
       // TODO Auto-generated constructor stub 
       } 

       /** 
       * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
       */ 
       protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  


        String pageName =request.getParameter("req");  
        if(pageName==null){ 
         pageName="IC_LIC_Login.jsp";// default page 
        } 
        request.getRequestDispatcher(pageName).include(request, response); 



       } 

       /** 
       * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
       */ 

       protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
        String pageName =request.getParameter("req");  

        request.getRequestDispatcher(pageName).include(request, response); 
       } 


      } 
Cuestiones relacionadas