Descargar

Introducción a Java (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

13 Ejemplo de cliente en Java (III) El codigo que sigue lee desde el stream de entrada estandar de EchoTest(donde el usuario teclea). Escribe inmediatamente la entada seguida por un carácter de nueva línea en el stream de salida conectado al socket. String userInput; while ((userInput = stdIn.readLine()) != null) { os.writeBytes(userInput); os.writeByte('n'); System.out.println("echo: " + is.readLine());} La última línea del bucle while lee una línea de información desde el stream de entrada conectado al socket. El método readLine() se bloquea hasta que el servidor haya devuelto la información a EchoTest. Cuando readline() retorna, EchoTest imprime la información en la salida estandard.

edu.red

14 Ejemplo de cliente en Java (IV) Cuando el usuario teclea un carácter de fin de entrada, el bucle while termina y el programa continúa ejecutando las siguientes líneas de código: os.close(); is.close(); echoSocket.close(); Estas tres líneas de código cierran las streams de entrada y salida conectados al socket, y cierra la conexión del socket con el servidor. El orden es importante — debe cerrar los streams conectados a un socket antes de cerrar éste.

edu.red

15 Ejemplo de cliente en Java (V) Cuando los clientes hablen con servidores más complicados como un servidor http, el cliente también será más complicado. Si embargo, las cosas básicas son las que has visto en este programa: 1. Abrir un socket. 2. Abrir un stream de entrada y otro de salida hacia el socket. 3. Leer y escribir a través del socket de acuerdo al protocolo del servidor. 4.  Cerrar los Streams. 5.  Cerrar el socket. Sólo el paso 3 será diferente de un cliente a otro, dependiendo del servidor.Los otros pasos permanecen inalterables.

edu.red

16 Servlets Programa en JAVA que se ejecuta en el marco de un servicio de red, como por ejemplo un servidor web, y que recibe y responde a las peticiones de un cliente. Los clientes pueden invocarlo utilizando el protocolo HTTP Equipo cliente Servidor Web Explorador Servlet Peticion HTTP Respuesta HTTP

edu.red

17 Servlets (II) Caracteristicas Puede comunicarse con otro sevlet para ayudarle en su trabajo, o bien facilitar el acceso a bases de datos Son seguros y portables debido a que se ejecutan bajo la máquina virtual de Java, al mecanismo de excepciones y al uso del administrador de seguridad de java. Java proporciona el soporte necesario para escribir servlets a través del paquete javax.servlet Son independientes de la plataforma Son más rápidos que los programas CGI y que los scrips

edu.red

18 Servlets. Ejemplo Un ejemplo sencillo consisté en una página HTML que contiene un campo de entrada con los correspondientes botones de Submit y Reset A pulsar sobre el botón Submit se producirá la ejecución del Servlet en el servidor, procesará la información recibida, y mostrará como resultado una página HTML con el texto introducido con anterioridad

edu.red

19 Servlets. Ejemplo (II) El codigo html sería muy sencillo sólo destacar que en el action del form, indica la acción a desencadenar en el servidor al pulsar el botón Submit

< html> < head> < title>Ejemplo "Mi Primer Servlet"< /title> < /head> < body> < form action=http://servidor:8080/servlet/MiPrimerServlet method=POST> < BR> < BR>Introduzca un texto en el cuadro y pulse "Submit"< BR> < BR> < input type=text name=TEXTO> < BR> < BR>< input type=submit>< input type=reset>< /form> < /body> < /html>

edu.red

20 Servlets. Ejemplo (III) Código Servlet. Destacar principalmente la utilización de los paquetes javax.servlet.* y javax.servlet.http.*, y la cláusula extends que define el programa como una extension de HttpServlet. El fichero que contiene el Servlet lo llamaremos MiPrimerServlet.java. // MiPrimerServlet.java import javax.servlet.*; import javax.servlet.http.*; import java.io.*;

public class MiPrimerServlet extends HttpServlet { public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { PrintStream out = new PrintStream(res.getOutputStream()); res.setContentType("text/html"); String TEXTO = req.getParameter("TEXTO"); out.println("< p>Usted ha escrito : "+TEXTO+"< /p>"); } }

edu.red

21 El ciclo de vida 1) Cuando el servidor carga el Servlet (solo lo carga ante la primera petición, después ya no hace falta), invoca el método init. Todas las peticiones que lleguen antes de que este método finalice su ejecución, habrán de esperar para ser atendidas. 2) Una vez finalizada la ejecución del método init, todas las peticiones son atendidas por el método service. Normalmente el servidor puede manejar varias peticiones simultáneamente y asigna un hilo propio a cada petición. 3) Cuando el servidor quiere descargar el Servlet invoca el método destroy.

edu.red

22 El API de los Servlets El API utilizado para la programación de Servlets incluye dos paquetes El paquete javax.servlet, define la interfaz Servlet y su implementación GenericServlet. Es esta la interfaz que define los métodos del Ciclo de Vida. También destacan las interfaces ServletRequest y ServletResponse, que definen la mecánica de las peticiones y las respuestas. El paquete javax.servlet.http, que es una especialización del paquete anterior para su utilización con el protocolo http. Este paquete define la clase HttpServlet que es una extensión de GenericServlet. Asimismo incluye las interfaces HttpServletRequest y HttpServletResponse, que son extensiones de ServletRequest y ServletResponse respectivamente.

edu.red

23 Servlets & JDBC La clave del éxito de las mejores páginas Web, reside en la presentación de la información, de forma interactiva, práctica y atractiva. La interactividad en la presentación de la información, se basa en la consulta de bases de datos por parte de un software, que hace de intermediario entre el cliente y el sistema que almacena la información. A las aplicaciones cliente-servidor que utilizan este tipo de arquitectura, se las denomina aplicaciones de tres capas.

edu.red

24 Arquitectura Cliente-Servidorde tres capas En una aplicación cliente-servidor de tres capas, el software intermediario hace de puente entre la parte cliente y el servidor de base de datos que posee la información

Por un lado tendríamos una maquina en la que un browser ejecuta un Applet ó muestra un formulario HTML. Por el otro tendríamos una máquina servidora, en la que un software servidor de Web, recibe las peticiones de los clientes, y desencadena la ejecución del Servlet. Este Servlet trabajaría con una base de datos alojada en otro servidor dedicado en exclusiva a esta función.

edu.red

25 JDBC JDBC son las siglas de Java Database Connection, y se trata de una API JAVA que proporciona una interfaz similar a ODBC para trabajar con bases de datos SQL. JDBC se basa en el X/Open SQL CLI, al igual que el ODBC de Microsoft JDBC no es un lenguaje de interrogación, sino que simplemente es una interfaz basada en JAVA para trabajar con SQL. Las aplicaciones pueden utilizar JDBC, por ejemplo, para someter sentencias SQL a un sistema gestor de bases de datos. JDBC se encarga de gestionar aspectos tales como conexiones a bases de datos, recuperación de resultados de las interrogaciones, transacciones, conversiones de tipos SQL a tipos JAVA y viceversa

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente