Está en la página 1de 13

JAVA SERVLET

*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

*Ingresar nombre de proyecto y ubicacin

*Seleccionar servidor y versin jee

*No seleccionar ningn framework

*Crear un nuevo paquete: click derecho sobre source packages/new/java


package

*Crear el servlet: click derecho sobre el nuevo paquete new/servlet


*Ingresar el nombre del servlet

*Dejar por defecto los datos que siguen a continuacin:

*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;

@WebServlet(name = "servlet_cliente", urlPatterns = {"/servlet_cliente"})


public class servlet_cliente extends HttpServlet
{ EntityManagerFactory
factory=Persistence.createEntityManagerFactory("prj_servletPU");
EntityManager em1=factory.createEntityManager();
String ls_mensaje="";

protected void processRequest(HttpServletRequest request,


HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String is_pantalla="";
ls_mensaje="";
try {
String is_boton="";
String ls_codigo="";
String ls_nombre="";
is_boton=request.getParameter("boton");
ls_codigo=request.getParameter("codigo");
ls_nombre=request.getParameter("nombre");
if (is_boton==null || is_boton =="")
{
is_pantalla=desplegar_pantalla("","");
}
if (is_boton!=null && is_boton !="")

{
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);

int li_filas= qe.executeUpdate();

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);

int li_filas= qe.executeUpdate();


if (li_filas>=1)
{
em1.getTransaction().commit();
ls_mensaje+="Se actualiz satisfactoriamente";
}
else

{
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();
}
}

public String desplegar_pantalla(String as_codigo, String as_nombre)


{

String ls_pantalla="";
ls_pantalla+="<html>";
ls_pantalla+="<head>";
ls_pantalla+="</head>";
ls_pantalla+="<body>";
ls_pantalla+="<h2>SERVLETS - Ing. Pablo Almeida Haro </h2>";

ls_pantalla+="<form action='servlet_cliente' method='post'>";


ls_pantalla+="Codigo:<input type='text' name='codigo'"+"
value='"+as_codigo +"'></input>";
ls_pantalla+="<br>";
ls_pantalla+="Nombre:<input type='text' name='nombre'"+"
value='"+as_nombre+"'></input>";
ls_pantalla+="<br>";
ls_pantalla+="<input type='submit' value='Insertar'
name='boton'></input>";
ls_pantalla+="<input type='submit' value='Eliminar' name='boton'
></input>";
ls_pantalla+="<input type='submit' value='Modificar'
name='boton'></input>";

ls_pantalla+="<input type='submit' value='Buscar'


name='boton'></input>";
ls_pantalla+="</form>";
ls_pantalla+="</body>";
ls_pantalla+="</html>";

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);
}
}

*Crear la unidad de persistencia: file /new file/persistence/persistence unit

*Colocar el nombre de la unidad de persistencia y el origen de datos

*Correr la aplicacin: click derecho sobre servlet_cliente.java y run

También podría gustarte