Java Web


¿Qué es una página dinámica?

Podemos calificar como página dinámica a aquella página que cambia su apariencia y/o su contenido constantemente, esto sucediendo en cada recarga de la página o por valores específicos de variables de entorno.

El HTML Dinámico es aquel que nos sirve para poder crear este tipo de sitios, mediante el uso de lenguajes que afectan o cambian el código html o el css al realizar determinada acción; uno de los lenguajes usado para esto es JavaScript, el cual se ejecuta una vez todos los elementos de la página web han sido cargados.

Modelo Cliente-Servidor:

El cliente-servidor es un sistema distribuido entre múltiples procesadores donde hay clientes que solicitan servicios y servidores que los proporcionan.
Esta tecnología es un modelo que implica productos y servicios enmarcados en la tecnología más reciente. Esta misma permite la distribución de forma ágil y eficaz a las diversas áreas de una organización.



¿Qué es Java Servlet?:

El servlet es una clase en el lenguaje de programación Java, esta misma es utilizada para ampliar las capacidades de un servidor. Aunque los servlets pueden responder a cualquier tipo de solicitud, estos se utilizan normalmente para extender las aplicaciones alojadas por servidores web, de tal manera que pueden ser vistos como applets de Java que se ejecutan en servidores en vez de navegadores Web.


Ventajas y desventajas de Servlets:


Características de los servlets:

Algunas características de los servlets:

  • Estos son independientes del servidor utilizado y de su sistema operativo, lo que quiere decir que a pesar de estar escritos en Java, el servidor puede estar escrito en cualquier lenguaje de programación.
  • Los servlets pueden llamar a otros servlets, e incluso a métodos concretos(en la misma máquina o en una máquina remota).
  • Los servlets pueden obtener fácilmente información acerca del cliente, tal como su dirección IP, el puerto que se utiliza en la llamada, el método utilizado (GET, POST).
  • Permiten además la utilización de cookies y sesiones, unas en el lado del cliente y otras del lado del servidor.
  • Pueden actuar como enlace entre el cliente y una o varias bases de datos en arquitecturas cliente-servidor.
  • Pueden realizar tareas de proxy para un applet.
  • Permiten la generación dinámica de código HTML, lo que se puede utilizar para la creación de contadores, banner, entre otros.


Ciclo de vida de java Servlet:

Cada servlet tiene el mismo ciclo de vida:

  • Un servidor carga e inicializa el servlet.
  • El servlet maneja cero o más peticiones del cliente
  • El servidor elimina el servlet.
Inicializar un Servlet
Cuando un servidor carga un servlet, ejecuta el método init del servlet. La inicialización se completa antes de manejar peticiones y antes de que sea destruido.

Interactura con Cliente
Después de que ha sido inicializado, el servlet puede manejar peticiones de clientes. Estas respuestas son manejadas por la misma instancia del servlet por lo que hay que tener cuidado con acceso a variables compartidas por posibles problemas de sicronización entre requerimientos concurrentes.

Destruir un Servlet
Los servlets se ejecutan hasta que el servidor los destruye, por cierre el servidor o bien a petición del administrador del sistema. Cuando un servidor elimina un servlet, ejecuta el método destroy del propio servlet.


Estructura básica de un Servlet:

Aquí tenemos un servlet básico que maneja peticiones GET. Las peticiones GET, para aquellos que no estemos familiarizados con HTTP, son peticiones hechas por el navegador cuando el usuario teclea una URL en la línea de direcciones, sigue un enlace desde una página Web, o rellena un formulario que no especifica un METHOD. Los Servlets también pueden manejar peticiones POST muy fácilmente, que son generadas cuando alguien crea un formulario HTML que especifica METHOD="POST".

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class SomeServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

// Use "request" to read incoming HTTP headers (e.g. cookies)
// and HTML form data (e.g. data the user entered and submitted)

// Use "response" to specify the HTTP response line and headers
// (e.g. specifying the content type, setting cookies).

PrintWriter out = response.getWriter();
// Use "out" to send content to browser
}
}



Para ser un servlet, una clase debería extender HttpServlet y sobreescribir doGet o doPost (o ambos), dependiendo de si los datos están siendo enviados mediante GET o POST. Estos métodos toman dos argumentos: un HttpServletRequest y un HttpServletResponse.


Clase GenericServLet


Define un servlet génerico, independiente del protocolo. Para escribir un servlet HTTP para usar en la web, extienda HttpServlet en HttpServlet lugar.

GernericServLet implementa las interfaces de Servlet y ServletConfig. GenericServlet puede extenderse directamente por un servlet, aunque es más común extender una subclase específica de protocolo como HttpServlet.

GenericServlet hace que escribir servlets sea más fácil. Proporciona versiones simples de los métodos de ciclo de vida init y destroy y de los métodos en la interfaz ServletConfig.

Métodos principales de Java Servlet:

  • void service(ServletRequest req, ServletResponse res)
  • void init(ServletConfig config)
  • void destroy()
service(obligatorio): Este método es la parte medular de todo Servlet ya que dentro de él se incluyen las tareas principales ejecución.

init(opcional): Es un método ejecutado antes del método service, su labor principal es adquirir/inicializar algún recurso que será empleado por service, estos recursos típicamente son conexiones hacia Base de Datos.

destroy(opcional): Ejecutado una vez que ha terminado el método service, su labor es liberar los recursos utilizados/adquiridos en el proceso de ejecución los cuales generalmente son aquellos reservados por init. 

No hay comentarios.:

Publicar un comentario