Escolar Documentos
Profissional Documentos
Cultura Documentos
CONTENIDOS
M/V/C
Modelo Vista Controlador:
CLIENTE / Método o “forma de trabajar” en Ingeniería del Software utilizando la
SERVIDOR tecnología J2EE (Java 2 Enterprise Edition).
CARACTERISTICAS
Controlador Programa encargado de
gestionar los datos y
comunicarse con el servidor de SERVLET
ESTRUCTURA aplicaciones y con las bases de
SERVLET datos.
ESTRUCTURA
APPLET
INDICE DE
CONTENIDOS
M/V/C
BASE DE DATOS
CLIENTE /
SERVIDOR
APPLET
APPLET SERVLET
CARACTERISTICAS JSP
SERVLET
petición
CARACTERISTICAS petición petición petición
ESTRUCTURA
SERVLET
ESTRUCTURA
APPLET
INDICE DE
CONTENIDOS
M/V/C APPLETS
CLIENTE / Pequeña aplicación en Java accesible en un Servidor
SERVIDOR
Web
APPLET
Se instala automáticamente en la máquina del cliente
y se ejecuta in situ como parte del documento Web.
CARACTERISTICAS El Applet se crea como una clase más de java.
Por ello el Applet vive incrustado en la página que lo
SERVLET llama: <applet code=“clase.class” width=300
heigth=300>
CARACTERISTICAS Entonces no tiene método main ya que su entorno de
ejecución es el navegador (VISTA)
ESTRUCTURA
SERVLET
ESTRUCTURA
APPLET
INDICE DE
CONTENIDOS
M/V/C
CARACTERÍSTICAS
CLIENTE /
SERVIDOR
IMPORTANTE
APPLET
SE DEBE COMPILAR LA
CARACTERISTICAS CLASE DEL APPLET CON
C:/>javac applet.java
SERVLET DESDE UNA CONSOLA
Y DESPUES MOVER EL
CARACTERISTICAS .CLASS QUE GENERA
A LA CARPETA DONDE
ESTRUCTURA ESTÁ EL ARCHIVO JSP
SERVLET O HTML.
ESTRUCTURA
APPLET
INDICE DE
CONTENIDOS
M/V/C SERVLETS
CLIENTE /
SERVIDOR • ES
CONECTA
EL CEREBRO
CON LA DEBASE
NUESTRA
DE DATOS
APLICACIÓN.
PARA EJECUTAR CONSULTAS SQL Y
APPLET CAPTAR LOS DATOS QUE QUERAMOS
• GESTIONA LOS DATOS DE ENTRADA
DE NUESTRA BASE DE DATOS.
CARACTERISTICAS EN LA URL. (Request)
• TAMBIÉN ES POSIBLE QUE
• DEVUELVE LOS RESULTADOS A LA
SERVLET CONTENGA ENVEVIDA UNA PÁGINA
VISTA (Applets, Jsp’s) MEDIANTE
JSP O HTML QUE CONTENGA A SU
CARACTERISTICAS RESPONSE
VEZ INCRUSTADA UN APPLET.
• TAMBIÉN PUEDE COMUNICARSE CON
ESTRUCTURA
SERVLET OTROS SERVLETS.
ESTRUCTURA
APPLET
INDICE DE
CONTENIDOS
M/V/C
CARACTERÍSTICAS
CLIENTE /
SERVIDOR
1. FUNCIONAMIENTO INDEPENDIENTE AL
SERVIDOR Y AL SISTEMA OPERATIVO
APPLET
2. COMUNICACIÓN DIRECTA ENTRE SERVLETS
CARACTERISTICAS
3. INFORMACIÓN DIRECTA DEL CLIENTE (IP,
SERVLET
PUERTO, MÉTODO UTILIZADO (GET, POST)
4. PERMITE UTILIZAR SESIONES O COOKIES
CARACTERISTICAS
PARA RECORDAR LOS DATOS DEL CLIENTE
ESTRUCTURA 5. EL APPLET NO PUEDE ACCEDER A
SERVLET CUALQUIER MÁQUINA REMOTA, POR LO QUE
UTILIZA AL SERVLET PARA HACERLO.
ESTRUCTURA
APPLET
INDICE DE
CONTENIDOS
ESTRUCTURA DE UN SERVLET
M/V/C
PERO LOS MÉTODOS DOGET Y DOPOST SE UNEN EN UNO
import java.io.*;
//Se importan los paquetes con las clases para Servlets y HttpServlets
(processRequest) DE LA SIGUIENTE FORMA:
import javax.servlet.*;
CLIENTE / import javax.servlet.http.*;
SERVIDOR protected void processRequest(HttpServletRequest request, HttpServletResponse response)
public class ServletTemplate extends HttpServlet{
throws ServletException, IOException {
//Eltrymétodo
{ doGet responde a peticiones mediante el método GET
APPLET response.setContentType("text/html");
public void doGet(HttpServletRequest request, HttpServletResponse response)
PrintWriter out = response.getWriter(); throws ServletException, IOException {
out.close();
} catch
// (SQLException
El objeto ex) {se usa para leer los “HTTP headers” que llegan
“request”
CARACTERISTICAS // Logger.getLogger(servletsimple.class.getName()).log(Level.SEVERE,
(p.e. Cookies) y los datos de formularios HTML enviados por null,el
ex);usuario
}
} // El objeto “response” se usa para especificar “HTTP status codes” y
// “HTTP headers” de la respuesta (p.e. El tipo de contenido, cookies, etc.)
SERVLET
protected void doGet(HttpServletRequest request, HttpServletResponse response)
PrintWriter out = response.getWriter();
throws ServletException, IOException {
// El objeto “out” se usa para enviar contenido al navegador
processRequest(request, response);
CARACTERISTICAS }}
protected
//El voiddoPost
método doPost(HttpServletRequest request,
responde a peticiones HttpServletResponse
mediante response)
el método POST
publicthrows
voidServletException, IOException { request, HttpServletResponse response)
doPost(HttpServletRequest
ESTRUCTURA processRequest(request, response); throws ServletException, IOException {
SERVLET } doGet(request, response);
}
}
ESTRUCTURA
APPLET
INDICE DE
CONTENIDOS
ESTRUCTURA DE UN APPLET
M/V/C
import java.net.*;
private void botonenviarActionPerformed(java.awt.event.ActionEvent evt) {
import java.io.*;
publicString cadenafinal
class appletsimple = "";java.applet.Applet {
extends
String s_textoaenviar = mensajeenviar.getSelectedItem();
CLIENTE / public static final long
cadenafinal
public void init() {
= serialVersionUID = 24362462L;
peticionGet(s_textoaenviar);
SERVIDOR String auxiliar = cadenafinal.replace("20009",
initComponents(); "\n");
} mensajerecibir.setText(auxiliar);
}
private void initComponents()
// enviamos por get la { petición
label1 = new java.awt.Label();
String peticionGet(String mensaje) {
APPLET mensajeenviar
String
label2
= new java.awt.Choice();
cadenaretorno
= new java.awt.Label(); = "";
try {
mensajerecibir = new java.awt.TextArea();
botonenviar = new java.awt.Button();
String parametros = "mensaje" + "=" + URLEncoder.encode(mensaje, "UTF-8");
setLayout(new java.awt.GridLayout(5, 1, 2, 5));
URL direccion = new URL("http://localhost:10602/CrearApplet/servletsimple?" +
label1.setAlignment(java.awt.Label.CENTER); parametros);
CARACTERISTICAS URLConnection conexion
label1.setForeground(new = direccion.openConnection();
java.awt.Color(51, 51, 255));
conexion.setUseCaches(false);
label1.setText("Introduzca el mensaje a enviar al servidor");
add(label1);
InputStreamReader stream = new InputStreamReader(conexion.getInputStream());
mensajeenviar.add("Item001 --> Ensalada de Bakalao y frutos secos");
BufferedReader entrada
mensajeenviar.add("Item002 = new Dos
--> Esparragos BufferedReader(stream);
Salsas");
SERVLET mensajeenviar.add("Item003 --> Foie con perfume de Frutas del Bosque");
String linea;
mensajeenviar.add("Item004 --> Trigueros con Salsa Idiazabal");
mensajeenviar.add("Item005 --> Rape al horno al !=
while ((linea = entrada.readLine()) ajillo y helado
null) { balsámico");
mensajeenviar.add("Item006 --> Solomillo con salsa de Castañas y pedro Ximenez");
cadenaretorno +=-->linea;
mensajeenviar.add("Item007 Tarta Gasteiz");
}
CARACTERISTICAS } catch
mensajeenviar.add("Item008
(Exception e) {
add(mensajeenviar);
--> Goxua casero");
label2.setAlignment(java.awt.Label.CENTER);
//return "falloooooooooooooos";
label2.setForeground(new java.awt.Color(255, 0, 0));
return "Error al recibido
label2.setText("Mensaje generar delurl " + e.getMessage();
servidor");
}
add(label2);
ESTRUCTURA add(mensajerecibir);
SERVLET botonenviar.setLabel("Pulsar
return cadenaretorno; para conectar al servidor");
botonenviar.addActionListener(new java.awt.event.ActionListener() {
} public void actionPerformed(java.awt.event.ActionEvent evt) {
// Variables declaration - do not modify
botonenviarActionPerformed(evt);
private} java.awt.Button botonenviar;
});
ESTRUCTURA private java.awt.Label label1;
add(botonenviar);
}private java.awt.Label label2;
private java.awt.Choice mensajeenviar;
APPLET private java.awt.TextArea mensajerecibir;
// End of variables declaration
}
EJECUCIÓN DE UN APPLET SIN
CONCONECTAR
CONEXIÓNAA
UNA
LA BASE
BASEDE
DEDATOS
DATOS