Documentos de Académico
Documentos de Profesional
Documentos de Cultura
*Es una clase de java que permite extender las capacidades del servidor
*Utiliza el esquema de programacin solicitud y respuesta (request - response)
*Es una tecnologa del lado del servidor.
*El cdigo reside en el servidor y se ejecuta en los recursos del servidor
*Permite la creacin de pginas web con contenido dinmico.
*Reemplaz a la tecnologa CGI (Common Gateway Interface)
*Garantiza la portabilidad entre plataformas
*Los paquetes javax.servlet y javax.servlet.http proveen intefaces y clases para
escribir aplicaciones basadas en servlets
*Todo servlet debe implementar la interface servlet
*La clase HttpServlet provee los mtodos doGet y doPost
*El ciclo de vida de un servlet es controlado por el container
*El objeto request contiene los datos pasados del cliente hacia el servidor
*El objeto response contiene los datos pasados del servidor hacia el cliente
Cliente
(Browser)
Capa
De
Presentacin
(index.jsp)
Capa
De
Presentacin o negocio
SERVLET
(servlet_cliente.java)
Capa
De
Persistencia
(JPA
EclipseLink)
Recurso
Conjunto
de
Conexin
Base
de
datos
*Ingresar a netbeans
*Crear un nuevo proyecto: file/new/Project/web application
*El ide por defecto crear un cdigo el cual debe ser reemplazado por lo que
sigue a continuacin:
package pkg_servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.persistence.Query;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
{
if(is_boton.equals("Insertar"))
{
String sql ="insert into cliente (codigo,nombre) values
('"+ls_codigo+"'"+","+"'"+ls_nombre+"')";
em1.getTransaction().begin();
Query qe=em1.createNativeQuery(sql);
try
{
qe.executeUpdate();
em1.getTransaction().commit();
ls_mensaje="Se insert satisfactoriamente";
}
catch (Exception ex)
{
em1.getTransaction().rollback();
ls_mensaje="No se pudo insertar";
}
is_pantalla=desplegar_pantalla("","");
is_pantalla+=ls_mensaje;
}
if(is_boton.equals("Eliminar"))
{
String sql ="delete from cliente where codigo='"+ls_codigo+"'";
em1.getTransaction().begin();
Query qe=em1.createNativeQuery(sql);
if (li_filas>=1)
{
em1.getTransaction().commit();
ls_mensaje+="Se elimin satisfactoriamente";
}
else
{
em1.getTransaction().rollback();
ls_mensaje="No se pudo eliminar";
}
is_pantalla=desplegar_pantalla("","");
is_pantalla+=ls_mensaje;
}
if(is_boton.equals("Modificar"))
{
String sql ="update cliente set nombre='"+ls_nombre+"' where
codigo='"+ls_codigo+"'";
em1.getTransaction().begin();
Query qe=em1.createNativeQuery(sql);
{
em1.getTransaction().rollback();
ls_mensaje="No se pudo actualizar";
}
is_pantalla=desplegar_pantalla("","");
is_pantalla+=ls_mensaje;
}
if(is_boton.equals("Buscar"))
{
String sql ="select nombre from cliente where
codigo='"+ls_codigo+"'";
Query qe=em1.createNativeQuery(sql);
List l1=qe.getResultList();
if (l1.size()>=1)
{ ls_nombre=(String)l1.get(0);
ls_mensaje="En cliente fue encontrado";
}
else
{
ls_mensaje="No se encontro el cliente";
}
is_pantalla=desplegar_pantalla(ls_codigo,ls_nombre);
is_pantalla+=ls_mensaje;
}
out.println(is_pantalla);
} finally {
out.close();
}
}
String ls_pantalla="";
ls_pantalla+="<html>";
ls_pantalla+="<head>";
ls_pantalla+="</head>";
ls_pantalla+="<body>";
ls_pantalla+="<h2>SERVLETS - Ing. Pablo Almeida Haro </h2>";
return ls_pantalla;
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
processRequest(request, response);
}
}