28 abril, 2017

4. Crear una aplicación Web Java en Eclipse con Servlets y JSPs (Parte 4 - Servlets)

¡Bienvenidos a todos! Esta publicación formará parte de una serie de 13 publicaciones que estaré desarrollando para aprender a desarrollar una aplicación web pura en Java bajo la plataforma JEE usando Servlets y JSPs. Este será un curso en forma de guía para aquellas personas que recién estén empezando en el mundo de la programación web y que todavía no hacen uso de ningún framework.

Haciendo uso de JSPs y Servlets construiremos nuestras aplicaciones webs los cuales se ejecutarán en Apahe Tomcat (Contenedor de Servlets), el cual lo usaremos como servidor de aplicaciones para ejecutar nuestro proyecto. Asimismo, usaremos Eclipse como herramienta IDE (Entorno de Desarrollo Integrado) para la edición y compilación de nuestro código.


Clase 02b 

En esta sesión aprenderemos como cargarle datos al request y luego mostrar esos datos en una página de salida, para ello partiremos del ejercicio de login del post anterior


Recordando hasta ahora lo visto en las publicaciones anteriores...


JSP: Es un componente JEE que se encuentra en el lado del servidor (Servlet) y dentro podemos tener lógica java.


Scriptlet Permite incrustar código java en un JSP dentro del código en un html embebido.


<% 
      // Recupera los datos que llegan del request
      String vnombre = request.getParameter("nombre"); 
%>

Expression: Permite mostrar el resultado de evaluar una expresión java y luego convertirla en String en la salida de una página

<%= vnombre %>


Servlet: Es una clase java que recibe los requerimientos del cliente para realizar un servicio, luego de realizar el servicio, se envía una respuesta al cliente (esta prepara para soportar el paradigma request - response)


public class LogueoServlet extends HttpServlet {
public void init() throws ServletException {
           // Se ejecuta solo la primera vez que invocamos al servlet
                ...
        }

        protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
           // Se ejecutará si el request que llega al servlet ha nacido con método POST
                ...
        }

        protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
                         throws ServletException, IOException {
            // Se ejecutará si el request que llega al servlet ha nacido con método GET
            .. 
      }
}


HttpServlet: Es la clase que los servlets deben de heredar ya que ofrece la estructura de trabajo para manipular el protocolo HTTP, junto con los método Get y Post,

Los clientes web (browser) se comunican con los servlet mediante el protocolo HTTP (Request-Reponse)

Un JSP puede ser invocado desde una URL, 


http://nombreservidor/aplicacionweb/nombrejsp.jsp

a traves del método forward del objeto RequestDispatcher 

String miRuta = “/jsps/consultas.jsp”;

RequestDispatcher rd = getServletContext().getRequestDispatcher(miRuta);
rd.forward(request,response);

o también mediante las etiquetas <form> y <href>


<form action=”/aplicacionWeb/nombrejsp.jsp”>

<a href=”/aplicacionWeb/nombrejsp.jsp”> texto </a>
<form action=”aliasServlet”>
<a href=”aliasServlet> texto </a>


Sin más empecemos a importar el archivo war de la sesión anterior, clic aquí para descargar el archivo.

1. Importar el archivo war,  clic en File>Web>War File, cambiamos el nombre del proyecto y seleccionamos el servidor de aplicaciones.



2. Ejecutamos el proyecto para comprobar que no haya errores Run As>Run on Server





3. Modificamos el servlet LogueoServlet.java de tal manera que el inicio de sesión este validado no por un usuario y contraseña, sino por un cierto número de posibilidades de un arreglo. Además debemos de cargar el nombre y la fecha de nacimiento al request y mostrar el resultado en la página bienvenida.jsp

Los métodos setAttribute() y getAttribute() del objeto HttpServletRequest permiten pasar objetos entre servlets, el servlet que envía(LogueoServlet.java) usará setAttribute() para cargar un objeto al request y el otro servlet (bienvenida.jsp) usará getAttribute() para obtener el objeto cargado.

Código

4. Modificamos el jsp logueo.jsp

Código

5. Modificamos el jsp bienvenida.jsp

Código

5. Ejecutamos nuevamente el proyecto, clic derecho Run As>Run on Server




Descargar ejercicios
 Descargar archivo

No hay comentarios, ¡cuéntame algo!

Me gustaría saber tu opinión. ¡Saludos!