SlideShare una empresa de Scribd logo
RequestParamExample con Acceso a BBDD mediante un servlet que delega
temporalmente el procesamiento de la petición a un segundo servlet que
conecta y realiza operaciones con la base de datos.
En esta práctica un servlet recoge los datos del formulario y delega
temporalmente el procesamiento de la petición a un segundo servlet que es el
que realiza la conexión y las consultas (insert, select, …) con la base de
datos mydb creada previamente con HSQLDB, la cual contiene la tabla ALUMNO
(NOMBRE,APELLIDOS).
Vamos a extender el servlet RequestParamExample para que realice un acceso a
BBDD en el que inserte una fila con el valor de los parámetros del
formulario.
RequestParamExample.java
package pkgServlets;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class RequestParamExample
*/
@WebServlet("/RequestParamExample")
public class RequestParamExample extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public RequestParamExample() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<head>");
String title = "Ejemplo de parámetros de Request";
out.println("<title>" + title + "</title>");
out.println("</head>");
out.println("<body bgcolor="white">");
out.println("<h3>" + title + "</h3>");
String firstName = request.getParameter("firstname");
String lastName = request.getParameter("lastname");
String paramsInRed = "Parametros en este Request:";
out.println(paramsInRed + "<br>");
String nombre = "Nombre ";
String apellidos = "Apellidos";
String noParams="No hay parámetro, por favor usa alguno";
if (firstName != null || lastName != null){
if(firstName.length()!=0 || lastName.length()!=0){
out.println(nombre);
out.println(" = " + firstName + "<br>");
out.println(apellidos);
out.println(" = " + lastName);
//<EXTENSION>------------------------------------------------------
pintarFormulario(out,nombre,apellidos);
RequestDispatcher rd = request.getRequestDispatcher("/DBServlet");
rd.include(request, response);
//------------------------------------------------------------------
}else{
out.println(noParams);
pintarFormulario(out,nombre,apellidos);
}
} else {
out.println(noParams);
pintarFormulario(out,nombre,apellidos);
}
out.println("</body>");
out.println("</html>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
//<EXTENSION>---------------------------------------------------------------------------
private void pintarFormulario(PrintWriter obj, String nom, String apel){
obj.println("<P>");
obj.print("<form action="");
obj.print("RequestParamExample" ");
obj.println("method=POST>");
obj.println(nom);
obj.println("<input type=text size=20 name=firstname>");
obj.println("<br>");
obj.println(apel);
obj.println("<input type=text size=20 name=lastname>");
obj.println("<br>");
obj.println("<input type=submit>");
obj.println("</form>");
//--------------------------------------------------------------------------------------
-
}
}
DBServlet.java
package pkgServlets;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class DBServlet
*/
@WebServlet("/DBServlet")
public class DBServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private Connection con;
private PrintWriter out;
public void init(ServletConfig conf) throws ServletException {
super.init(conf);
try {
Class.forName("org.hsqldb.jdbcDriver");
this.con =
DriverManager.getConnection("jdbc:hsqldb:file:C:/J2EE_UNED/hsqldb/lib/mydb", "SA", "");
} catch (Exception e) {
e.printStackTrace();
return;
}
}
public void service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html");
try {
out = res.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title> Una demostración de como usar JDBC con un Servlet" +
"</title>");
out.println("</head>");
out.println("<body>");
Statement stmt = con.createStatement();
//<EXTENSION>---------------------------------------------------------------
String firstName = req.getParameter("firstname");
String lastName = req.getParameter("lastname");
String sql = "INSERT INTO Alumno VALUES ('" + firstName + "','" + lastName + "');";
stmt.executeUpdate(sql);
//--------------------------------------------------------------------------
out.println("<H3>");
out.println("Resultados");
out.println("</H3>");
ResultSet rs = stmt.executeQuery("SELECT * FROM Alumno");
out.println("<UL>");
while (rs.next()) {
out.println("<LI>" + rs.getString("Nombre") + "|" +
rs.getString("Apellidos") );
}
out.println("</UL>");
rs.close();
stmt.close();
} catch (SQLException e) {
out.println("Ha habido un error de SQL...");
out.println(e.getMessage());
} catch (IOException e) {
System.err.println("Ha habido una IOException...");
e.printStackTrace();
}
out.println("</body>");
out.println("</html>");
out.close();
}
public void destroy() {
try {
con.close();
} catch (SQLException e) {
out.println(e.getMessage());
}
}
}
Resultado de la ejecución…
Al pulsar en el botón “Enviar consulta” se realiza el insert en la bbdd.
Delegar peticiones a otros recursos
RequestDispatcher rd = request.getRequestDispatcher("/DBServlet");
rd.include(request, response);
En el esquema de trabajo típico de los servlets, un servlet recibe una
petición http, ejecuta código ubicado en los métodos de servicio para generar
la respuesta html y la envía al cliente.
En muchas ocasiones, los servlets no generan la respuesta sino que actúan
como gestores de la petición mediante la ejecución de código de control con
instrucciones if condicionales. En función del bloque condicional que se
ejecute se delega la generación de respuesta a otros recursos tales como
páginas html, páginas jsp u otros servlets.
La interface javax.servlet.RequestDispatcher contiene dos métodos que
permiten delegar la generación de respuestas a otros recursos.
• El método forward, que permite delegar el procesamiento de la petición
a una página html, jsp u otro servlet.
• El método include, que permite incluir la respuesta generada por uno
de estos recursos en el servlet sobre el que se aplica.
Explicación detallada de ambos métodos:
• void forward(ServletRequest request, ServletResponse response): delega
el procesamiento de la petición al recurso especificado en el
argumento del objeto RequestDispatcher sobre el que se aplica. Toda
respuesta vertida al flujo de salida mediante el objeto out asociada a
líneas anteriores y posteriores a la del método no se considera. El
resto de código, sí.
• void include(ServletRequest request, ServletResponse response): delega
“temporalmente” el procesamiento de la petición al recurso
especificado en el argumento del objeto RequestDispatcher sobre el que
se aplica, incluyendo en el servlet en el que se encuentra definido,
además de la respuesta generada hasta la línea del include, una página
html, jsp o la respuesta html generada por otro servlet. Muy usado
para incorporar encabezados (headers) y pies de página (footers)
comunes a todos los recursos de una aplicación web.
Para poder aplicar estos métodos es necesario obtener un objeto de la
interface RequestDispatcher.
• RequestDispatcher getRequestDispatcher(String
rutaRecursoAlQueSeDelega): se emplea, sobre todo, cuando se desea
delegar en ficheros html o jsps. También sirve para servlets.
javax.servlet
Interface RequestDispatcher
public interface RequestDispatcher
Defines an object that receives requests from the client and sends them to any resource
(such as a servlet, HTML file, or JSP file) on the server. The servlet container creates
the RequestDispatcher object, which is used as a wrapper around a server resource
located at a particular path or given by a particular name.
This interface is intended to wrap servlets, but a servlet container can create
RequestDispatcher objects to wrap any type of resource.
Method Summary
void forward(ServletRequest request, ServletResponse response)
Forwards a request from a servlet to another resource (servlet, JSP file, or
HTML file) on the server.
void include(ServletRequest request, ServletResponse response)
Includes the content of a resource (servlet, JSP page, HTML file) in the
response.

Más contenido relacionado

PDF
Acciones JSP
PDF
Jsp directiva page
PDF
Servlet Hola Mundo con Eclipse y Tomcat
PDF
Web de noticias en Ajax
PDF
Explicación del código del Servlet HolaMundo
PDF
Elementos de script en JSP
PDF
jQuery Mobile :: Cuadros de diálogo
PDF
Find File Servlet DB
Acciones JSP
Jsp directiva page
Servlet Hola Mundo con Eclipse y Tomcat
Web de noticias en Ajax
Explicación del código del Servlet HolaMundo
Elementos de script en JSP
jQuery Mobile :: Cuadros de diálogo
Find File Servlet DB

La actualidad más candente (20)

PDF
Servlets que manejan datos de formularios HTML
PDF
App Android MiniBanco
PDF
Práctica Completa en Flash – ActionScript
DOC
Conexión a postgres desde
DOCX
Conectar java con una base de datos
PDF
Uso java jdbc
PPTX
Funciones
PDF
Continuación 3 de la creación de reportes con jasper report
PDF
Ejemplo de base de datos y reports con jasper report
PPT
Servlets y jsp
PPTX
Comunicacion entre formularios HTML y paginas JSP
PDF
Manual de la conexión de php con sqlserver 2012
PDF
Django: el framework web definitivo
DOC
ODP
Curso Jsp
PDF
Ejemplos de php_mysql
PDF
Guia N5 Proyectos Web Consultas Php Y My Sql
PDF
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
PPT
tutorial de slide.com
Servlets que manejan datos de formularios HTML
App Android MiniBanco
Práctica Completa en Flash – ActionScript
Conexión a postgres desde
Conectar java con una base de datos
Uso java jdbc
Funciones
Continuación 3 de la creación de reportes con jasper report
Ejemplo de base de datos y reports con jasper report
Servlets y jsp
Comunicacion entre formularios HTML y paginas JSP
Manual de la conexión de php con sqlserver 2012
Django: el framework web definitivo
Curso Jsp
Ejemplos de php_mysql
Guia N5 Proyectos Web Consultas Php Y My Sql
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
tutorial de slide.com
Publicidad

Similar a Acceso a BBDD mediante un servlet (20)

PDF
Java Web: Servlets
PDF
Java web 01 - servlets
PPT
Programación web 1er dept
PPT
Curso Java Avanzado 2 Servlets
DOCX
Peticiones y respuestas
PPT
Java Server Page JSP, otra forma de hacer
PDF
Programacion web java
PPTX
servlets
PDF
Programación web con JSP
DOCX
SALUDOS EN INGLES
PDF
Taller desarrollo web
PPTX
Servlet
PDF
Java servlets
PPTX
Clase servlet - Análisis de Sistemas
PPT
Servletacceso bd
PDF
Desarrollo web con JAVA: Introduccion a los Servlets
PPT
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
PPT
Clase servletsaccesobd
PDF
Presentación - Recordando bases de datos.pdf
PDF
Eclipse
Java Web: Servlets
Java web 01 - servlets
Programación web 1er dept
Curso Java Avanzado 2 Servlets
Peticiones y respuestas
Java Server Page JSP, otra forma de hacer
Programacion web java
servlets
Programación web con JSP
SALUDOS EN INGLES
Taller desarrollo web
Servlet
Java servlets
Clase servlet - Análisis de Sistemas
Servletacceso bd
Desarrollo web con JAVA: Introduccion a los Servlets
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
Clase servletsaccesobd
Presentación - Recordando bases de datos.pdf
Eclipse
Publicidad

Más de jubacalo (20)

PDF
jQuery Mobile :: Enlaces a páginas internas.
PDF
MIT App Inventor2 Pintar en Imagen
PDF
Cronómetro con MIT App Inventor 2
PDF
Configurar entorno Android
PDF
Proyecto JSP
PDF
Crear Base de Datos en Oracle
PDF
Escenarios
PDF
Matrices02
PDF
Gráficos
PDF
Tabla Dinámica
PDF
Tabla de Datos
PDF
Textura de agua
PDF
Funciones lógicas y condicionales
PDF
Solver
PDF
Word VBA
PDF
Java::Acceso a Bases de Datos
PDF
Sincronizar Threads
PDF
Java Thread Cronometro
PDF
Java Thread Cronometro
PDF
Java AWT Tres en Raya
jQuery Mobile :: Enlaces a páginas internas.
MIT App Inventor2 Pintar en Imagen
Cronómetro con MIT App Inventor 2
Configurar entorno Android
Proyecto JSP
Crear Base de Datos en Oracle
Escenarios
Matrices02
Gráficos
Tabla Dinámica
Tabla de Datos
Textura de agua
Funciones lógicas y condicionales
Solver
Word VBA
Java::Acceso a Bases de Datos
Sincronizar Threads
Java Thread Cronometro
Java Thread Cronometro
Java AWT Tres en Raya

Último (20)

PDF
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
PDF
DI, TEA, TDAH.pdf guía se secuencias didacticas
PPTX
caso clínico iam clinica y semiología l3.pptx
PDF
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PDF
Actividad 1 (Habilidades sociales en la era digital)
PDF
Punto Critico - Brian Tracy Ccesa007.pdf
PPT
Cosacos y hombres del Este en el Heer.ppt
PPTX
Guía Esencial para Empleadores - Cumplimiento con el IESS
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
DOCX
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
PDF
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
PDF
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Híper Mega Repaso Histológico Bloque 3.pdf
DI, TEA, TDAH.pdf guía se secuencias didacticas
caso clínico iam clinica y semiología l3.pptx
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
Fundamentos_Educacion_a_Distancia_ABC.pdf
Actividad 1 (Habilidades sociales en la era digital)
Punto Critico - Brian Tracy Ccesa007.pdf
Cosacos y hombres del Este en el Heer.ppt
Guía Esencial para Empleadores - Cumplimiento con el IESS
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
Crear o Morir - Andres Oppenheimer Ccesa007.pdf

Acceso a BBDD mediante un servlet

  • 1. RequestParamExample con Acceso a BBDD mediante un servlet que delega temporalmente el procesamiento de la petición a un segundo servlet que conecta y realiza operaciones con la base de datos. En esta práctica un servlet recoge los datos del formulario y delega temporalmente el procesamiento de la petición a un segundo servlet que es el que realiza la conexión y las consultas (insert, select, …) con la base de datos mydb creada previamente con HSQLDB, la cual contiene la tabla ALUMNO (NOMBRE,APELLIDOS). Vamos a extender el servlet RequestParamExample para que realice un acceso a BBDD en el que inserte una fila con el valor de los parámetros del formulario.
  • 2. RequestParamExample.java package pkgServlets; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class RequestParamExample */ @WebServlet("/RequestParamExample") public class RequestParamExample extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public RequestParamExample() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<body>"); out.println("<head>"); String title = "Ejemplo de parámetros de Request"; out.println("<title>" + title + "</title>"); out.println("</head>"); out.println("<body bgcolor="white">"); out.println("<h3>" + title + "</h3>"); String firstName = request.getParameter("firstname"); String lastName = request.getParameter("lastname"); String paramsInRed = "Parametros en este Request:"; out.println(paramsInRed + "<br>"); String nombre = "Nombre "; String apellidos = "Apellidos"; String noParams="No hay parámetro, por favor usa alguno"; if (firstName != null || lastName != null){ if(firstName.length()!=0 || lastName.length()!=0){ out.println(nombre); out.println(" = " + firstName + "<br>"); out.println(apellidos); out.println(" = " + lastName); //<EXTENSION>------------------------------------------------------ pintarFormulario(out,nombre,apellidos); RequestDispatcher rd = request.getRequestDispatcher("/DBServlet"); rd.include(request, response); //------------------------------------------------------------------
  • 3. }else{ out.println(noParams); pintarFormulario(out,nombre,apellidos); } } else { out.println(noParams); pintarFormulario(out,nombre,apellidos); } out.println("</body>"); out.println("</html>"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } //<EXTENSION>--------------------------------------------------------------------------- private void pintarFormulario(PrintWriter obj, String nom, String apel){ obj.println("<P>"); obj.print("<form action=""); obj.print("RequestParamExample" "); obj.println("method=POST>"); obj.println(nom); obj.println("<input type=text size=20 name=firstname>"); obj.println("<br>"); obj.println(apel); obj.println("<input type=text size=20 name=lastname>"); obj.println("<br>"); obj.println("<input type=submit>"); obj.println("</form>"); //-------------------------------------------------------------------------------------- - } } DBServlet.java package pkgServlets; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class DBServlet */ @WebServlet("/DBServlet")
  • 4. public class DBServlet extends HttpServlet { private static final long serialVersionUID = 1L; private Connection con; private PrintWriter out; public void init(ServletConfig conf) throws ServletException { super.init(conf); try { Class.forName("org.hsqldb.jdbcDriver"); this.con = DriverManager.getConnection("jdbc:hsqldb:file:C:/J2EE_UNED/hsqldb/lib/mydb", "SA", ""); } catch (Exception e) { e.printStackTrace(); return; } } public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html"); try { out = res.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title> Una demostración de como usar JDBC con un Servlet" + "</title>"); out.println("</head>"); out.println("<body>"); Statement stmt = con.createStatement(); //<EXTENSION>--------------------------------------------------------------- String firstName = req.getParameter("firstname"); String lastName = req.getParameter("lastname"); String sql = "INSERT INTO Alumno VALUES ('" + firstName + "','" + lastName + "');"; stmt.executeUpdate(sql); //-------------------------------------------------------------------------- out.println("<H3>"); out.println("Resultados"); out.println("</H3>"); ResultSet rs = stmt.executeQuery("SELECT * FROM Alumno"); out.println("<UL>"); while (rs.next()) { out.println("<LI>" + rs.getString("Nombre") + "|" + rs.getString("Apellidos") ); } out.println("</UL>"); rs.close(); stmt.close(); } catch (SQLException e) { out.println("Ha habido un error de SQL..."); out.println(e.getMessage()); } catch (IOException e) { System.err.println("Ha habido una IOException..."); e.printStackTrace(); } out.println("</body>"); out.println("</html>"); out.close(); }
  • 5. public void destroy() { try { con.close(); } catch (SQLException e) { out.println(e.getMessage()); } } } Resultado de la ejecución… Al pulsar en el botón “Enviar consulta” se realiza el insert en la bbdd. Delegar peticiones a otros recursos RequestDispatcher rd = request.getRequestDispatcher("/DBServlet"); rd.include(request, response); En el esquema de trabajo típico de los servlets, un servlet recibe una petición http, ejecuta código ubicado en los métodos de servicio para generar la respuesta html y la envía al cliente. En muchas ocasiones, los servlets no generan la respuesta sino que actúan como gestores de la petición mediante la ejecución de código de control con instrucciones if condicionales. En función del bloque condicional que se ejecute se delega la generación de respuesta a otros recursos tales como páginas html, páginas jsp u otros servlets.
  • 6. La interface javax.servlet.RequestDispatcher contiene dos métodos que permiten delegar la generación de respuestas a otros recursos. • El método forward, que permite delegar el procesamiento de la petición a una página html, jsp u otro servlet. • El método include, que permite incluir la respuesta generada por uno de estos recursos en el servlet sobre el que se aplica. Explicación detallada de ambos métodos: • void forward(ServletRequest request, ServletResponse response): delega el procesamiento de la petición al recurso especificado en el argumento del objeto RequestDispatcher sobre el que se aplica. Toda respuesta vertida al flujo de salida mediante el objeto out asociada a líneas anteriores y posteriores a la del método no se considera. El resto de código, sí. • void include(ServletRequest request, ServletResponse response): delega “temporalmente” el procesamiento de la petición al recurso especificado en el argumento del objeto RequestDispatcher sobre el que se aplica, incluyendo en el servlet en el que se encuentra definido, además de la respuesta generada hasta la línea del include, una página html, jsp o la respuesta html generada por otro servlet. Muy usado para incorporar encabezados (headers) y pies de página (footers) comunes a todos los recursos de una aplicación web. Para poder aplicar estos métodos es necesario obtener un objeto de la interface RequestDispatcher. • RequestDispatcher getRequestDispatcher(String rutaRecursoAlQueSeDelega): se emplea, sobre todo, cuando se desea delegar en ficheros html o jsps. También sirve para servlets. javax.servlet Interface RequestDispatcher public interface RequestDispatcher Defines an object that receives requests from the client and sends them to any resource (such as a servlet, HTML file, or JSP file) on the server. The servlet container creates the RequestDispatcher object, which is used as a wrapper around a server resource located at a particular path or given by a particular name. This interface is intended to wrap servlets, but a servlet container can create RequestDispatcher objects to wrap any type of resource.
  • 7. Method Summary void forward(ServletRequest request, ServletResponse response) Forwards a request from a servlet to another resource (servlet, JSP file, or HTML file) on the server. void include(ServletRequest request, ServletResponse response) Includes the content of a resource (servlet, JSP page, HTML file) in the response.