4.1 Tutorial de servlets

Tamaño: px
Comenzar la demostración a partir de la página:

Download "4.1 Tutorial de servlets"

Transcripción

1 4.1 Tutorial de servlets

2 Introducción (1) Un servlet es una clase Java que puede recibir peticiones (normalmente HTTP) y generar una salida (normalmente HTML, WML o XML) Los servlets que conforman una aplicación web se ejecutan en un servidor de aplicaciones web (contenedor) Cada servlet se puede asociar a una o más URLs Paquetes javax.servlet y javax.servlet.http

3 Introducción (y 2) Hasta la aparición de JSP, el uso principal de los servlets era generar la vista de una aplicación web Recibir petición HTTP asociada a una URL Leer parámetros Invocar operación sobre el modelo Generar salida HTML Motivos para aprender servlets Para usar JSP y Struts es preciso conocer parte del API de los servlets, dado que aunque JSP y Struts están en un nivel superior, no ocultan el API de los servlets Son útiles para implementar el controlador de una aplicación web Apache Struts proporciona un servlet genérico que constituye la parte principal del controlador

4 Visión global del framework de servlets (1) <<interface>> javax.servlet.servlet + init(config : ServletConfig) : void + destroy() : void + service(request : ServletRequest, response : ServletResponse) : void javax.servlet.genericservlet + init(config : ServletConfig) : void + destroy() : void + service(request : ServletRequest, response : ServletResponse) : void javax.servlet.http.httpservlet + service(request : ServletRequest, response : ServletResponse) : void # service(request : HttpServletRequest, response : HttpServletResponse) : void # doget(request : HttpServletRequest, response : HttpServletResponse) : void # dopost(request : HttpServletRequest, response : HttpServletResponse) : void

5 Visión global del framework de servlets (2) <<interface>> javax.servlet.servletrequest + getparameter(name : String ) : String + getparametervalues(name : String) : String[] <<interface>> javax.servlet.servletresponse + setcontenttype(type : String ) : void + getwriter () : java.io.printwriter <<interface>> javax.servlet.http.httpservletrequest <<interface>> javax.servlet.http.httpservletresponse

6 Visión global del framework de servlets (3) El diagrama UML anterior sólo ofrece una visión muy reducida del API de servlets, pero suficiente en este momento Cuando el servidor de aplicaciones web decide cargar un servlet en memoria (ej.: al arrancar, la primera vez que se accede a él) llama a la operación init de javax.servlet.servlet Cuando el servidor de aplicaciones web decide eliminar un servlet de memoria (ej.: lleva cierto tiempo sin usarse), llama a la operación destroy de javax.servlet.servlet

7 Visión global del framework de servlets (4) La operación pública service de javax.servlet.http.httpservlet llama a la operación protegida service Esta operación es una operación plantilla (Template Method), que llama a doget, dopost, doput, dodelete, etc., según la petición HTTP sea un GET, POST, PUT, DELETE, etc. Normalmente, el programador extiende de javax.servlet.http.httpservlet y redefine doget y/o dopost

8 Visión global del framework de servlets (5) En una máquina virtual Java, sólo existe una instancia de cada servlet que se programe, y en consecuencia puede recibir peticiones concurrentes doget, dopost, etc. deben ser thread-safe Normalmente no será necesario hacer nada especial, dado que la implementación de estas operaciones generalmente sólo hace uso de variables locales (pila) o de variables globales (static) de sólo lectura (típicamente caches) Si modifican alguna estructura global (un atributo propio o alguna variable global), necesitan sincronizar su acceso Sin embargo, en general, eso es mala idea, dado que una aplicación con estas características no será fácil que funcione en un entorno en cluster En estos casos, es mejor usar una base de datos para las estructuras globales que sean de lectura/escritura

9 Visión global del framework de servlets (y 6) javax.servlet.http.httpservletrequest getparameter Permite obtener el valor de un parámetro univaluado getparametervalues Permite obtener el valor de un parámetro multivaluado También se puede usar con parámetros univaluados IMPORTANTE: cuando el usuario no selecciona ningún valor (ej.: en una lista desplegable múltiple o una lista de checkboxes en HTML), el navegador no envía el parámetro, y en consecuencia, esta operación devuelve null javax.servlet.http.httpservletresponse setcontenttype debe llamarse antes de escribir en el PrintWriter que devuelve getwriter

10 Página principal del tutorial

11 Index.jsp <html>... <ul> <li><a href="hello1/hellouser?username=fernando+bellas"> HelloUser by GET (username = Fernando Bellas)</a></li> <li><a href="hello1/hellouserbypost.html">hellouser by POST</a></li> <li><a href="portal1/mainpage">portal-1 main page</a></li> </ul>... </html>

12 Portal1/HelloUserByPost.html <html>... <form method="post" action="hellouser"> <table width="100%" border="0" align="center" cellspacing="12"> <tr> <th align="right" width="50%">user name</th> <td align="left"> <input type="text" name="username" size="16 maxlength="16"> </td> </tr> <tr> <td width="50% ></td> <td align="left" width="50%"> <input type="submit" value="say me hello"> </td> </tr> </table> </form>... </html>

13 Demo HelloUser (1) Servlet and JSP Tutorial Main Page Clic en HelloUser by GET (username = Fernando Bellas)

14 Demo HelloUser (y 2) Servlet and JSP Tutorial Main Page Clic en HelloUser by POST

15 es.udc.fbellas.j2ee.servjsptutorial.hellouser1.hellouserservlet (1) package es.udc.fbellas.j2ee.servjsptutorial.hellouser1; import java.io.printwriter; import java.io.ioexception; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; public class HelloUserServlet extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { /* Get value of parameter "username". */ String username = request.getparameter("username"); /* Generate response. */ response.setcontenttype("text/html; charset=iso ");

16 es.udc.fbellas.j2ee.servjsptutorial.hellouser1.hellouserservlet (y 2) PrintWriter out = response.getwriter(); out.println("<html><head><title>"); out.println("hellouser response"); out.println("</title></head>"); out.println("<body text=\"#000000\" bgcolor=\"#ffffff\">"); out.println("<h1>hello " + username + "! </h1>"); out.println("</body></html>"); out.close(); public void dopost(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { doget(request, response);

17 Empaquetamiento de una aplicación web (1) Una aplicación web se empaqueta en un fichero.war jar cvf aplicacionweb.war directorio Opciones similares al comando Unix tar El nombre de una aplicación web no tiene porque coincidir con el de su fichero.war El nombre se decide al instalar el fichero.war Ant incluye la tarea interna war Estructura de un fichero.war Directorio WEB-INF/classes Ficheros.class que conforman la aplicación web, agrupados en directorios según su estructura en paquetes Sin ficheros fuente! Directorio WEB-INF/lib Ficheros.jar de librerías que usa la aplicación Sin ficheros fuente!

18 Empaquetamiento de una aplicación web (2) Estructura de un fichero.war (cont) WEB-INF/web.xml Configuración estándar de la aplicación web Si la aplicación necesita otros ficheros de configuración (ej.: ficheros de configuración de Struts, ficheros de configuración propios, scripts de creación de tablas, etc.), se recomienda incluirlos debajo de WEB-INF (seguramente en subdirectorios) Directorio raíz y subdirectorios Vista de la aplicación (ej.: ficheros HTML, páginas JSP, imágenes, etc.) Visible a los navegadores Lo que hay debajo de WEB-INF sólo es visible a los servlets y páginas JSP de la aplicación Un fichero.war se puede instalar (deployment) en cualquier servidor de aplicaciones web conforme a J2EE

19 Empaquetamiento de una aplicación web (y 3) Un contenedor de aplicaciones web usa un cargador de clases distinto para cada war instalado => independencia entre aplicaciones web Distintas aplicaciones web pueden usar versiones distintas de una misma clase Dos aplicaciones web nunca podrán compartir una variable global Existe una instancia de un Singleton por cada aplicación que lo use Ej.: Considerar el atributo estático (variable global) parameters de ConfigurationParametersManager Si dos aplicaciones web usan esta clase, el contenedor cargará una clase por cada aplicación, y en consecuencia parameters tendrá un valor distinto en cada aplicación Es lo que deseamos, dado que en general, la configuración será distinta

20 jar tvf ServJSPTutorial.war (1) Portal2/MainPage.jsp Portal2/ShowLogin.jsp Portal2/ProcessLogin.jsp Portal2/ProcessLogout.jsp Hello2/HelloUserByPost.html Hello2/HelloUser.jsp Hello1/HelloUserByPost.html Index.jsp WEB-INF/classes/es/udc/fbellas/j2ee/servjsptutorial/portal1/ ShowLoginServlet.class WEB-INF/classes/es/udc/fbellas/j2ee/servjsptutorial/portal1/ MainPageServlet.class WEB-INF/classes/es/udc/fbellas/j2ee/servjsptutorial/portal1/ LoginManager.class WEB-INF/classes/es/udc/fbellas/j2ee/servjsptutorial/portal1/ ProcessLoginServlet.class WEB-INF/classes/es/udc/fbellas/j2ee/servjsptutorial/portal1/ ProcessLogoutServlet.class

21 jar tvf ServJSPTutorial.war (y 2) WEB-INF/classes/es/udc/fbellas/j2ee/servjsptutorial/portal2/ LoginManager.class WEB-INF/classes/es/udc/fbellas/j2ee/servjsptutorial/portal2/ IncorrectPasswordException.class WEB-INF/classes/es/udc/fbellas/j2ee/servjsptutorial/portal2/ LoginForm.class WEB-INF/classes/es/udc/fbellas/j2ee/servjsptutorial/hellouser1/ HelloUserServlet.class WEB-INF/web.xml

22 WEB-INF/web.xml (1) <?xml version="1.0" encoding="iso "?> <web-app xmlns=" xmlns:xsi=" xsi:schemalocation=" version="2.4"> <distributable/> <!-- ===================== Servlets ============================= --> <servlet> <servlet-name>hellouser</servlet-name> <servlet-class>es.udc.fbellas.j2ee.servjsptutorial.hellouser1. HelloUserServlet</servlet-class> </servlet>... Resto de servlets del tutorial...

23 WEB-INF/web.xml (y 2) <!-- ==================== Servlet mapping ======================= --> <servlet-mapping> <servlet-name>hellouser</servlet-name> <url-pattern>/hello1/hellouser</url-pattern> </servlet-mapping>... Mappings para el resto de servlets del tutorial... <!-- ========================= Session =========================== --> <session-config> <session-timeout>30</session-timeout> </session-config> <!-- ======================= Welcome page ======================== --> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>

24 Comentarios (1) Desde la versión 2.4 de la especificación de servlets, los tags que se pueden usar dentro del fichero web.xml están especificados en un esquema (anteriormente lo estaban en un DTD) Espacios de nombres Concepto similar al de paquete en Java Permiten evitar conflictos de nombres cuando en un documento XML se usan tags de distintas aplicaciones XML Cada espacio de nombres está asociado a una URI, que debe ser única Se aconseja usar URLs No tienen porque tener una existencia real (y de hecho, no suelen tenerla)

25 Comentarios (2) En el fichero web.xml se usa <web-app xmlns=" xmlns:xsi=" xsi:schemalocation=" version="2.4"> xmlns=" permite especificar que el elemento web-app y los que éste contiene pertenecen al espacio de nombres definido por la URI Similar a package xmlns:xsi=" permite especificar que el elemento web-app y los que éste contiene pueden usar los atributos y elementos del espacio de nombres asociado con la URI prefijándolos con xsi: Similar a import Es la URI la que define el espacio de nombres y no el prefijo Distintas documentos XML pueden usar distintos prefijos para referirse a un mismo espacio de nombres

26 Comentarios (3) En el fichero web.xml se usa (cont) El atributo xsi:schemalocation permite especificar las ubicaciones de los esquemas asociados a un conjunto de espacios de nombres Contiene una lista de pares de valores separados por blancos (xsi:schemalocation="en1 ue1... enn uen") El primer miembro especifica un espacio de nombres (en) El segundo miembro especifica la ubicación del esquema (ue) que define los elementos y atributos de ese esquema El procesador del documento XML no está obligado a hacer uso de las ubicaciones especificadas (e.g. puede tener copias locales de los esquemas) Cualquier procesador tiene una copia del esquema correspondiente al espacio de nombres y por eso no se especifica en xsi:schemalocation Cualquier contenedor de aplicaciones web J2EE posiblemente tendrá una copia del esquema correspondiente al espacio de nombres

27 Comentarios (y 4) El anterior fichero web.xml sólo muestra algunos tags típicos Existe un gran número de tags (la mayoría opcionales) que permiten expresar muchas opciones de configuración Iremos viendo ejemplos de los tags más típicos a medida que nos hagan faltan distributable La aplicación puede funcionar en cluster Nuestras aplicaciones siempre deberían estar diseñadas e implementadas para que puedan funcionar en cluster Los servidores de aplicaciones comerciales suelen generar el fichero web.xml automáticamente El usuario utiliza un cómodo wizard para especificar la información de configuración

28 Tipos de URLs en HTML (1) Las URLs que muestran las imágenes del navegador empiezan por Son URLs absolutas localhost:8080: máquina y puerto en el que corre el servidor de aplicaciones (en este caso Tomcat) /ServJSPTutorial: nombre de la aplicación web En un servidor de aplicaciones pueden instalarse varias aplicaciones web Las URLs que se usan en los ficheros HTML o en las respuestas generadas del ejemplo son de tipo path relativo, y en consecuencia no incluyen Buena idea, permite instalar la aplicación en otro servidor bajo un nombre distinto

29 Tipos URLs en HTML (y 2) Si se desea escribir una URL de tipo path absoluto en un fichero HTML o una respuesta generada, ésta ha de empezar por /nombreaplicación <a href= /ServJSPTutorial/Hello1/HelloUser? username=fernando+bellas > HelloUser by GET username = Fernando Bellas</a> Es posible generar automáticamente la parte del nombre de la aplicación Permite instalar la aplicación con otro nombre, sin que haya que modificar ningún servlet request.getcontextpath() devuelve /nombreaplicación Volveremos a hablar sobre tipos de URLs en el siguiente ejemplo (Portal-1)

30 Demo Portal-1 (1) Servlet and JSP Tutorial Main Page Clic en Portal-1 main page

31 Demo Portal-1 (2)

32 Demo Portal-1 (y 3) Clic en Servlet and JSP tutorial main page Clic en Logout Servlet and JSP Tutorial Main Page Clic en Portal-1 main page Servlet and JSP Tutorial Main Page Clic en Portal-1 main page Portal-1 login form

33 es.udc.fbellas.j2ee.servjsptutorial.portal1 HttpServlet (from http) MainPageServlet ShowLoginServlet ProcessLoginServlet ProcessLogoutServlet <<use>> <<use>> <<use>> LoginManager - LoginManager() << static >> + login(request : HttpServletRequest, loginname : String) : void <<static>> + logout(request : HttpServletRequest) : void <<static>> + getloginname(request : HttpServletRequest) : String

34 Concepto de sesión (1) El API de servlets permite crear una sesión en el servidor por cada navegador que accede a una aplicación web Cada navegador dispone de su propio objeto javax.servlet.http.httpsession en el servidor Es posible enganchar objetos a una sesión y recuperarlos void setattribute(string, Object) Object getattribute(string) Por motivos de escalabilidad y de que en HTTP no hay nada especial que indique que un navegador ha dejado de usar la aplicación web, cada sesión dispone de un timeout (en minutos) Si transcurre el timeout sin que el navegador acceda a la aplicación, el servidor destruye la sesión Configurable en web.xml

35 Concepto de sesión (2) En el ejemplo Cada vez que un usuario hace un login, crearemos una sesión, le engancharemos su nombre de login, y lo redirigiremos a la página principal del portal Cada vez que el usuario accede a la página principal del portal, si ya ha hecho el login, se le saludará por su nombre (se recupera de la sesión) Cada vez que el usuario accede a la página principal del portal, si todavía no ha hecho el login, o su sesión ha caducado, se le redirigirá a la página de login Cuando un usuario hace un logout, le destruiremos la sesión y lo redirigiremos a la página principal del tutorial

36 Concepto de sesión (y 3) Qué ocurre cuando el servidor de aplicaciones web se ejecuta en un cluster (distributable)? El servidor garantiza que todas las peticiones que sean parte de una sesión serán procesadas por una máquina virtual Los objetos de la sesión tienen que ser serializables El servidor de aplicaciones puede decidir moverlos a otra máquina por motivos de escalabilidad y/o tolerancia a fallos En realidad, el concepto de sesión tiene más matices HTTP es un protocolo sin estado Cómo sabe el servidor de aplicaciones a qué sesión está asociada cada petición HTTP que recibe? Mecanismos: típicamente cookies o URL rewriting Los estudiaremos en el siguiente apartado

37 es.udc.fbellas.j2ee.servjsptutorial.portal1.mainpageservlet (1) public class MainPageServlet extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { String loginname = LoginManager.getLoginName(request); if (loginname!= null) { // User has already logged in. generatemainpage(response, loginname); else { // User has not logged in yet. response.sendredirect("showlogin"); public void dopost(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { doget(request, response);

38 es.udc.fbellas.j2ee.servjsptutorial.portal1.mainpageservlet (y 2) private void generatemainpage(httpservletresponse response, String loginname) throws IOException { response.setcontenttype("text/html; charset=iso "); PrintWriter out = response.getwriter(); out.println("<html><head><title>"); out.println("portal-1 main page"); out.println("</title></head>"); out.println("<body text=\"#000000\" bgcolor=\"#ffffff\" " + "link=\"#000ee0\" vlink=\"#551a8b\" alink=\"#000ee0\">"); out.println("<h1>hello " + loginname + "! </h1>"); out.println("<br><br><br>"); out.println("<a href=\"../index.jsp\">servlet and JSP tutorial " + "main page</a><br>"); out.println("<a href=\"processlogout\">logout</a><br>"); out.println("</body></html>"); out.close();

39 es.udc.fbellas.j2ee.servjsptutorial.portal1.showloginservlet (1) public class ShowLoginServlet extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { /* Get values to show. */ Map errors = (Map) request.getattribute("errors"); String loginname = ""; String loginnameerrormessage = ""; if (errors!= null) { String errorheader = "<font color=\"red\"><b>"; String errorfooter = "</b></font>"; if (errors.containskey("loginname")) { loginname = request.getparameter("loginname"); loginnameerrormessage = errorheader + errors.get("loginname") + errorfooter;

40 es.udc.fbellas.j2ee.servjsptutorial.portal1.showloginservlet (2) /* Generate response. */ response.setcontenttype("text/html; charset=iso "); PrintWriter out = response.getwriter(); /* Header and begin of body. */ out.println("<html><head><title>"); out.println("portal-1 login form"); out.println("</title></head>"); out.println("<body text=\"#000000\" bgcolor=\"#ffffff\">"); /* Begin of form. */ out.println("<form method=\"post\" action=\"processlogin\">"); /* Begin of table. */ out.println("<table width=\"100%\" border=\"0\" align=\"center\" " + "cellspacing=\"12\">");

41 es.udc.fbellas.j2ee.servjsptutorial.portal1.showloginservlet (3) /* Login name. */ out.println("<tr>"); out.println("<th align=\"right\" width=\"50%\"> Login name </th>"); out.println("<td align=\"left\">" + "<input type=\"text\" name=\"loginname\" " + " value=\"" + loginname + "\" size=\"16\" maxlength=\"16\">" + loginnameerrormessage + "</td>"); out.println("</tr>"); /* Print Login button. */ out.println("<tr>"); out.println("<td width=\"50%\"></td>"); out.println("<td align=\"left\" width=\"50%\"> " + "<input type=\"submit\" value=\"login\"></td>"); out.println("</tr>");

42 es.udc.fbellas.j2ee.servjsptutorial.portal1.showloginservlet (y 4) /* End of table. */ out.println("</table>"); /* End of body and html. */ out.println("</body></html>"); /* Close "out". */ out.close(); public void dopost(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { doget(request, response);

43 es.udc.fbellas.j2ee.servjsptutorial.portal1.processloginservlet (1) public class ProcessLoginServlet extends HttpServlet { public void dopost(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { String loginname = request.getparameter("loginname"); if ( (loginname == null) (loginname.trim().length() == 0) ) { Map errors = new HashMap(); errors.put("loginname", "Mandatory field"); request.setattribute("errors", errors); forwardtoshowlogin(request, response); else { LoginManager.login(request, loginname.trim()); response.sendredirect("mainpage");

44 es.udc.fbellas.j2ee.servjsptutorial.portal1.processloginservlet (y 2) public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { dopost(request, response); private void forwardtoshowlogin(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { RequestDispatcher requestdispatcher = request.getrequestdispatcher("/portal1/showlogin"); requestdispatcher.forward(request, response);

45 es.udc.fbellas.j2ee.servjsptutorial.portal1.processlogoutservlet public class ProcessLogoutServlet extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { LoginManager.logout(request); response.sendredirect("../index.jsp"); public void dopost(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { doget(request, response);

46 es.udc.fbellas.j2ee.servjsptutorial.portal1.loginmanager (1) public final class LoginManager { private final static String LOGIN_NAME_SESSION_ATTRIBUTE = "loginname"; private LoginManager() { public final static void login(httpservletrequest request, String loginname) { HttpSession session = request.getsession(true); session.setattribute(login_name_session_attribute, loginname); public final static void logout(httpservletrequest request) { HttpSession session = request.getsession(false); if (session!= null) { session.invalidate();

47 es.udc.fbellas.j2ee.servjsptutorial.portal1.loginmanager (y 2) public final static String getloginname(httpservletrequest request) { HttpSession session = request.getsession(false); if (session == null) { return null; else { return (String) session.getattribute( LOGIN_NAME_SESSION_ATTRIBUTE);

48 Comentarios (1) El ejemplo, aparte de ilustrar el uso de sesiones, hace énfasis en el uso de sendredirect y forward sendredirect Le decimos al navegador que nos haga una nueva petición a otra URL forward Nos movemos a otra URL Ocurre dentro del servidor Se conserva todo lo que había en la request Útil para tratar errores en formularios Los servlets de procesamiento enganchan el atributo errors (un Map) en la request Los servlets que muestran formularios comprueban si la request incluye el atributo errors

49 Comentarios (2) Más sobre tipos de URLs Los tipos de URLs que hemos visto al principio de este apartado se refieren a las URLs en ficheros HTML, páginas JSP o respuestas generadas Qué tipos de URLs acepta sendredirect? Los tres tipos que conocemos hasta ahora Lógico, pues un sendredirect se usa para informar al navegador que nos haga una petición a otra URL Qué tipos de URLs acepta forward? De tipo path relativo (sin salir de la aplicación) De tipo path relativo a contexto Empiezan por / y no incluyen el nombre de la aplicación Ej.: /Portal1/MainPage Existe otra manera de hacer forwards distinta a la mostrada en el ejemplo, que sólo acepta URLs de tipo path relativo a contexto Servlet.getServletContext().getRequestDispatcher (String)

50 Comentarios (y 3) Cuándo usar forward y cuándo sendredirect? En principio, un forward siempre es más rápido (ocurre en el servidor) Un forward es preciso cuando queremos enganchar atributos a la request Ej.: Tratamiento de errores en formularios Para el resto de situaciones, es mejor usar un sendredirect, dado que forward no cambia la URL que muestra la caja de diálogo del navegador (el navegador no se entera de que se hace un forward), lo que será confuso si el usuario decide recargar la página (se invocará a la URL antigua que todavía muestra la caja de diálogo del navegador)

4.1 Tutorial de Servlets y JSPs

4.1 Tutorial de Servlets y JSPs 4.1 Tutorial de Servlets y JSPs Índice Introducción Framework de Servlets JSPs Ejemplo pojo-servjsptutorial Empaquetado de una aplicación Web Ficheros WAR y web.xml Frameworks POJO para interfaz Web Objetivo

Más detalles

Sistemas de Información 12/13 Servlets y JSPs (Java Server Pages)

Sistemas de Información 12/13 Servlets y JSPs (Java Server Pages) 12/13 Servlets y JSPs (Java Server Pages) Departamento Informática e Ingeniería de Sistemas Universidad de Zaragoza ([email protected]) " Guión Introducción Servlets Introducción Clases e interfaces del

Más detalles

Introducción (1) En una aplicación web, especialmente en Internet, los cambios a la interfaz gráfica son muy frecuentes

Introducción (1) En una aplicación web, especialmente en Internet, los cambios a la interfaz gráfica son muy frecuentes 4.2 Tutorial de JSP Introducción (1) Situación en el apartado anterior: el texto generado para el aspecto (vista) de la interfaz gráfica (HTML, WML, etc.) está mezclado con código Java No es posible usar

Más detalles

Servlets. Unidad: 4 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

Servlets. Unidad: 4 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Servlets Unidad: 4 Laboratorio de Programación Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Indice Introducción CGI Servlets: concepto, caracteristicas Servlets Vs. CGI Ciclo

Más detalles

Clase Java que implementa un modelo de programación peticiónrespuesta. Puede usarse para procesar cualquier tipo de petición

Clase Java que implementa un modelo de programación peticiónrespuesta. Puede usarse para procesar cualquier tipo de petición Java EE Servlets Aplicaciones Web/Sistemas Web Juan Pavón Mestras Dep. Ingeniería del Software e Inteligencia Artificial Facultad de Informática Universidad Complutense Madrid Material bajo licencia Creative

Más detalles

Introducción a los servlets

Introducción a los servlets Introducción a los servlets (Febrero de 2005) Introducción En breve: un servlet es un programa ejecutado en el servidor (a diferencia de los applets que se ejecutan en el cliente). Es un mecanismo para

Más detalles

Implementando nuestro primer servlet

Implementando nuestro primer servlet Servlets (II) * Departamento de Ingeniería Telemática http://www.it.uc3m.es/mario http://www.it.uc3m.es/berto (*) Agradecimientos a Lourdes Tajes en cuyo material docente se basa parcialmente esta presentación

Más detalles

NIVEL 16: ESTRUCTURAS N-ARIAS RECURSIVAS Aplicaciones Web, Html y Servlets. ISIS1206 Estructuras de Datos http://cupi2.uniandes.edu.

NIVEL 16: ESTRUCTURAS N-ARIAS RECURSIVAS Aplicaciones Web, Html y Servlets. ISIS1206 Estructuras de Datos http://cupi2.uniandes.edu. 1 NIVEL 16: ESTRUCTURAS N-ARIAS RECURSIVAS Aplicaciones Web, Html y Servlets 2 Agenda Protocolo HTTP Formas HTML Servlets 3 Protocolo HTTP Hypertext Transfer Protocol (HTTP) - 1990 Versión 1.1 Mecanismo

Más detalles

ISJu: Técnicas de Programación Cartilla Teórica-Práctica 2014. Instalación del "Eclipse IDE for Java EE Developers" y el servidor "Apache Tomcat"

ISJu: Técnicas de Programación Cartilla Teórica-Práctica 2014. Instalación del Eclipse IDE for Java EE Developers y el servidor Apache Tomcat Unidad 6: Servlets Instalación del "Eclipse IDE for Java EE Developers" y el servidor "Apache Tomcat" "Eclipse IDE for Java EE Developers" Para desarrollar aplicaciones que se ejecuten en un servidor web

Más detalles

J2EE Java 2 Enterprise Edition

J2EE Java 2 Enterprise Edition J2EE Java 2 Enterprise Edition Es el framework oficial de Java para la construcción de aplicaciones empresariales Es una tecnología basada en componentes Ofrece un modelo para el desarrollo de aplicaciones

Más detalles

Requisitos. Universidad ORT Arquitectura de Software

Requisitos. Universidad ORT Arquitectura de Software Requisitos Java Development Kit (JDK) 1.5 o superior NetBeans IDE 6.5 o superior JBoss Application Server 4.2.x o 5.x.x Variable de entorno JAVA_HOME apuntando al directorio de instalación de la JDK 1

Más detalles

Tutorial Web Dinámica con Servlets y JSP Sesion 3

Tutorial Web Dinámica con Servlets y JSP Sesion 3 Tutorial Web Dinámica con Servlets y JSP Sesion 3 1. Eclipse Plataforma Web Tool Eclipse WTP proporciona herramientas para desarrollar aplicaciones web estándar Java y aplicaciones Java EE. Artefactos

Más detalles

3 PROGRAMACIÓN WEB CON SERVLETS

3 PROGRAMACIÓN WEB CON SERVLETS Tabla de contenidos Práctica 3 PROGRAMACIÓN WEB CON SERVLETS 1. Introducción a los Servlets...1 1.1. Características de los Servlets... 1 1.2. API de los Servlets... 2 2. Servlets HTTP...3 2.1. Características

Más detalles

Java Servlets. Luis Fernando Llana Díaz. 17 de abril de 2006. Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Java Servlets. Luis Fernando Llana Díaz. 17 de abril de 2006. Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid de abril de 00 input, output En pascal input, output program holamundo (input, output); var nombre : String; begin

Más detalles

PROGRAMACIÓN JEE CON SERVLETS

PROGRAMACIÓN JEE CON SERVLETS INTRODUCCIÓN A LOS SERVLETS PROGRAMACIÓN JEE CON SERVLETS Los Servlets son clases Java que se ejecutan en un servidor de aplicación, para contestar a las peticiones de los clientes. Los Servlets no se

Más detalles

Programación con JDBC (Java DataBase Connectivity ), Servlets y JSP (Java Server Pages)

Programación con JDBC (Java DataBase Connectivity ), Servlets y JSP (Java Server Pages) Programación con JDBC (Java DataBase Connectivity ), Servlets y JSP (Java Server Pages) Autor: José Vicente Núñez Zuleta ([email protected], [email protected]) Puntos a tratar Qué es JDBC? Arquitectura de un

Más detalles

Un servlet es una clase java que implementa la Servlet interface. Un servlet corre dentro de un contexto denominado Servlet engine.

Un servlet es una clase java que implementa la Servlet interface. Un servlet corre dentro de un contexto denominado Servlet engine. Capítulo 6 Servlets En esta sección se va a tratar el primer componente que corre del lado del servidor, y es uno de los puntos fundamentales para la comunicación entre el cliente (browser) y el servidor.

Más detalles

Unidad IV: Servlets. Comprender la estructura básica de los Servlets Crear servlets sencillos Presentar el ciclo de vida de un Servlet.

Unidad IV: Servlets. Comprender la estructura básica de los Servlets Crear servlets sencillos Presentar el ciclo de vida de un Servlet. Unidad IV: Servlets Introducción Este unidad presenta los conceptos de Servlets Objetivos Comprender la estructura básica de los Servlets Crear servlets sencillos Presentar el ciclo de vida de un Servlet.

Más detalles

javax.servlet.genericservlet javax.servlet.http.httpservlet MiServlet

javax.servlet.genericservlet javax.servlet.http.httpservlet MiServlet Lectura 14. Servlets Un Servlet es un programa que se ejecuta en un servidor Web. Los clientes pueden invocarlo utilizando el protocolo HTTP. Comparativamente, así como los applet son ejecutados y cargados

Más detalles

USANDO SERVLETS EN UN SERVIDOR WEB RESIN

USANDO SERVLETS EN UN SERVIDOR WEB RESIN USANDO SERVLETS EN UN SERVIDOR WEB RESIN Servidor Web Resin Resin es un servidor web que permite no solo despachar un página web, sino aplicaciones web construidos bajo la arquitectura J2EE, así como el

Más detalles

Java 2 Enterprise Edition

Java 2 Enterprise Edition 12. J2EE Java 2 Enterprise Edition 316 12. J2EE Java 2 Enterprise Edition define el estándar para el desarrollo de aplicaciones distribuidas en arquitecturas cliente/servidor. Construido sobre la plataforma

Más detalles

Web Tier en JAVA. Nicolás Troncoso Carrère. Valparaíso, 2006. ILI 258 Departamento de Informática Universidad Técnica Federico Santa María

Web Tier en JAVA. Nicolás Troncoso Carrère. Valparaíso, 2006. ILI 258 Departamento de Informática Universidad Técnica Federico Santa María Nicolás Troncoso Carrère ILI 258 Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, 2006 1 2 3 Porqué paginas dinamicas? Confirmacion de suscripciones. Contenido generado

Más detalles

Figura 7-1 Enlace para instalar el servidor web Apache Jakarta Tomcat 4.1.12.

Figura 7-1 Enlace para instalar el servidor web Apache Jakarta Tomcat 4.1.12. Unidad 7 Servlets 7.1 Marco teórico Lo que permite que ordenadores remotos con procesadores y sistemas operativos diferentes se entiendan y en definitiva que Internet funcione como lo hace en la actualidad,

Más detalles

Sistemas de Información 12/13 Ejercicios Tecnologías Web

Sistemas de Información 12/13 Ejercicios Tecnologías Web 12/13 Ejercicios Tecnologías Web Departamento Informática e Ingeniería de Sistemas Universidad de Zaragoza ([email protected]) " Guión Introducción sesiones y cookies con Servlets Ejercicio 1: Preguntas

Más detalles

Servidores Web (II) Contenidos

Servidores Web (II) Contenidos Contenidos Servidores (II) Servidores/aplicaciones con/sin Estado Sesiones con Servlets Contextos compartidos con Servlets Acceso concurrente desde Servlets Servidores Cache Servidores Virtuales 1 2 Aplicaciones

Más detalles

Ejemplos de Servlet y JSP Web Application Development

Ejemplos de Servlet y JSP Web Application Development Ejemplos de Servlet y JSP Web Application Development HERNÁNDEZ CRUZ DULCE 13/09/2011 INTRODUCCIÓN Servlets Los Servlets son módulos que extienden los servidores orientados a petición-respuesta, como los

Más detalles

3.3 Caso de estudio: diseño e implementación de un servicio/cliente REST

3.3 Caso de estudio: diseño e implementación de un servicio/cliente REST 3.3 Caso de estudio: diseño e implementación de un servicio/cliente REST Índice Descripción del caso de estudio Diseño por capas Protocolo REST Implementación REST de la capa Acceso al Servicio Implementación

Más detalles

Aplicaciones web con Tomcat y MySQL en Linux

Aplicaciones web con Tomcat y MySQL en Linux Aplicaciones web con Tomcat y MySQL en Linux En este artículo se muestra como usar las tecnologías JDBC y Java Servlet para la creación de aplicaciones web que interactúen con una base de datos MySQL cuando

Más detalles

Práctica 2: Extensión de un servidor con servlets

Práctica 2: Extensión de un servidor con servlets Introducción Práctica 2: Extensión de un servidor con servlets ( 2 horas ) En esta práctica veremos otra forma de realizar aplicaciones semejantes a los CGIs, los servlets. El enfoque del diseño con servlets

Más detalles

Sistemas de Información

Sistemas de Información Sistemas de Información Tecnologías Web. Interactividad y envío de información Cliente Servidor Servlets Agradecimientos: Jesus Villamor Lugo, Simon Pickin de IT/UCIIIM. [email protected] Concepto Qué es

Más detalles

JAVA: Servlets. Diseño de aplicaciones web. [email protected]

JAVA: Servlets. Diseño de aplicaciones web. mperez@fi.upm.es JAVA: Servlets Diseño de aplicaciones web [email protected] Servlets Programas que se ejecutan en los servidores. Añaden funcionalidad a un servidor web, del mismo modo que los applets añaden funcionalidad

Más detalles

Introducción a las aplicaciones WEB

Introducción a las aplicaciones WEB Departamento de Sistemas Informáticos y Computación Universidad Complutense de Madrid 3 de mayo de 2010 Qué es Internet? I LAN: Local Area Network, red de ámbito local. Qué es Internet? II Qué es Internet?

Más detalles

3.3 Caso de estudio: diseño e

3.3 Caso de estudio: diseño e 3.3 Caso de estudio: diseño e implementación de un servicio/cliente REST Índice Descripción del caso de estudio Diseño por capas Protocolo REST Implementación REST de la capa Acceso al Servicio Implementación

Más detalles

Contiene código HTML normal junto elementos especiales de JSP. Internamente, el servidor de aplicaciones las compilará a un servlet

Contiene código HTML normal junto elementos especiales de JSP. Internamente, el servidor de aplicaciones las compilará a un servlet JSP Java Server Pages cesaracebal.com [email protected] Qué es JSP? Una tecnología para crear páginas Web dinámicas Contiene código HTML normal junto elementos especiales de JSP Están construidas sobre

Más detalles

2015 CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA

2015 CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA Ings. Mario Bressano & Miguel Iwanow ENVÍO 11/2015 Qué es un Servlet? Interacción en Internet Cuando vamos a un restaurante, el mozo toma el pedido y se lo pasa

Más detalles

INTRODUCCIÓN N A LAS APLICACIONES WEB Y TECNOLOGÍA A JAVA

INTRODUCCIÓN N A LAS APLICACIONES WEB Y TECNOLOGÍA A JAVA INTRODUCCIÓN N A LAS APLICACIONES WEB Y TECNOLOGÍA A JAVA Jaime Fernández ndez Mayo 2006 Índice Java Aplicaciones web Servlets JSP Servidores de aplicaciones IDE`s Ejemplo Historia Java Lenguaje orientado

Más detalles

CAPÍTULO 14. DESARROLLO

CAPÍTULO 14. DESARROLLO CAPÍTULO 14. DESARROLLO DE SISTEMAS ESPECÍFICOS 1. Introducción En los últimos años han aparecido multitud de nuevas plataformas para desarrollar aplicaciones y ponerlas en explotación. En este capítulos

Más detalles

DESARROLLO WEB EN ENTORNO SERVIDOR

DESARROLLO WEB EN ENTORNO SERVIDOR DESARROLLO WEB EN ENTORNO SERVIDOR CAPÍTULO 8: Generación dinámica de páginas Web interactivas Marcos López Sanz Juan Manuel Vara Mesa Jenifer Verde Marín Diana Marcela Sánchez Fúquene Jesús Javier Jiménez

Más detalles

JSP Básico. Índice. 2 Traducción de los JSP a servlets...2. 6 Acciones...8. 1 Introducción a JSP... 2

JSP Básico. Índice. 2 Traducción de los JSP a servlets...2. 6 Acciones...8. 1 Introducción a JSP... 2 Índice 1 Introducción a JSP... 2 2 Traducción de los JSP a servlets...2 3 Elementos de JSP...3 4 Inserción de código en páginas JSP... 4 4.1 Expresiones...4 4.2 Scriptlets...4 4.3 Declaraciones... 4 4.4

Más detalles

JSP JDBC SALVADORES OLAIZOLA,

JSP JDBC SALVADORES OLAIZOLA, JAVA & J2EE: Curso Básico Diseño de Aplicaciones Web 2004-2005 http://laurel.datsi.fi.upm.es/~ssoo/daw/ Java Servlets JSP JDBC EJB SALVADORES OLAIZOLA, Manuel [email protected] Licencia Copyright (c)

Más detalles

Aplicaciones Cliente - Servidor

Aplicaciones Cliente - Servidor Aplicaciones Cliente - Cliente Presentación + Lógica aplicación SQL Acceso remoto a información a través de red. Un servidor - múltiples clientes. Almacenamiento datos es esperan peticiones: protocolos

Más detalles

Quickstart-Webapps-Spring

Quickstart-Webapps-Spring Alumna: Keren Monge Cid Materia: Web Application Development Maestro: Alejandro S. Álvarez Cifuentes Grupo: 3CM2 3er Departamental Quickstart-Webapps-Spring Objetivo Desarrollar una aplicación web utilizando

Más detalles

JAVA WEB SERVICES. Realizado por: Diana Alfaro Complementado por: Carlos Sánchez Página 1

JAVA WEB SERVICES. Realizado por: Diana Alfaro Complementado por: Carlos Sánchez Página 1 JAVA WEB SERVICES Complementado por: Carlos Sánchez Página 1 CONTENIDO Qué es un Servicio Web? Historia Qué es XML, SOAP, WSDL, UDDI? XML - Extensible Markup Language Soap - XML-RPC (Xml Remote Procedure

Más detalles

Clase. geniería de la Computación. Departamento de Ciencias e Ing. Diego C. Martínez - DCIC-UNS

Clase. geniería de la Computación. Departamento de Ciencias e Ing. Diego C. Martínez - DCIC-UNS Tecnología de Programación Clase 22 Diego C. Martínez Departamento de Ciencias e Ing geniería de la Computación Universidad Nacional del Sur Componentes Web J2EE presenta los componentes Web (web components):

Más detalles

Curso de gráficos con Java y OpenFlashChart para aplicaciones web. Manual del alumno

Curso de gráficos con Java y OpenFlashChart para aplicaciones web. Manual del alumno Curso de gráficos con Java y OpenFlashChart para aplicaciones web Manual del alumno Ing. Cedric Simon Tel: 2268 0974 Cel: 8888 2387 Email: c e d r i c @ s o l u c i o n j a v a. c o m Web: www.solucionjava.com

Más detalles

Curso de desarrollo web en entorno de servidor

Curso de desarrollo web en entorno de servidor Curso de desarrollo web en entorno de servidor Pedro R. Benito da Rocha - por Pedro Raúl Benito da Rocha se encuentra bajo una Licencia Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported.

Más detalles

Práctica 4 PROGRAMACIÓN WEB CON SERVLETS Y JSP. 1. Introducción a JSP... 2

Práctica 4 PROGRAMACIÓN WEB CON SERVLETS Y JSP. 1. Introducción a JSP... 2 Tabla de contenidos Práctica 4 PROGRAMACIÓN WEB CON SERVLETS Y JSP 1. Introducción a JSP... 2 1.1. Que es Java Server Page (JSP)?...2 1.2. Diferencias entre JSP y Servlet...2 1.3. Características de JSP...2

Más detalles

Curso Java Web (JSP's/Servlets)

Curso Java Web (JSP's/Servlets) Curso Java Web (JSP's/Servlets) JSP's ("Java Server Pages") Composición Un JSP ("Java Server Page") es uno de los componentes más básicos empleados para aplicaciones de Servidor en Java. Su composición

Más detalles

Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010)

Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010) Tecnologías de programación en la Web Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010) Jesús Arias Fisteus & Andrés Marín López jaf, [email protected] Tecnologías de programación en la Web p.

Más detalles

HTTP, CGI, Applets y Servlets

HTTP, CGI, Applets y Servlets HTTP, CGI, Applets y Servlets Sistemas de Operación II CI-4821 Sep-Dic 2006 Mercedes Martínez 00-33042 Aixbel Martínez 01-34114 Mario Felaco 02-34888 José Luís Castillo 01-33691 Yonathan Ledo 01-34033

Más detalles

EL CAMINO A LA CERTIFICACION CON SERVLETS Y JSP EL CAMINO A LA CERTIFICACION CON SERVLETS Y JSP SCWCD RAFAEL ALCOCER CALDERA.

EL CAMINO A LA CERTIFICACION CON SERVLETS Y JSP EL CAMINO A LA CERTIFICACION CON SERVLETS Y JSP SCWCD RAFAEL ALCOCER CALDERA. EL CAMINO A LA CERTIFICACION CON SERVLETS Y JSP EL CAMINO A LA CERTIFICACION CON SERVLETS Y JSP SCWCD RAFAEL ALCOCER CALDERA Página 1 SOBRE EL AUTOR SOBRE EL AUTOR Página 2 SOBRE EL AUTOR Nací en México,

Más detalles

Seguridad de la aplicación para servlets y JSP (página activas java)

Seguridad de la aplicación para servlets y JSP (página activas java) Seguridad de la aplicación para servlets y JSP (página activas java) Autenticación de Servlets (java) Usuarios y roles. Autenticación declarativa. Portabilidad Tipos de autenticación Básica. Digest. Basada

Más detalles

Introducción n a Apache Tomcat 5.5

Introducción n a Apache Tomcat 5.5 Departamento de Lenguajes escuela técnica superior de ingeniería informática Introducción n a Apache 5.5 Tiempo: 1h Grupo de Ingeniería a del Software Febrero 2007 2. Instalación n de directorios de Introducción

Más detalles

DESARROLLO DE APLICACIONES WEB Introducción a Struts Framework

DESARROLLO DE APLICACIONES WEB Introducción a Struts Framework DESARROLLO DE APLICACIONES WEB Introducción a Struts Framework 1. Objetivo: Introducir los conceptos relacionados con la construcción de aplicaciones Web Java basadas en el Framework Web MVC2 Struts. 2.

Más detalles

10. Servlets con acceso a bases de datos

10. Servlets con acceso a bases de datos CAPÍTULO 10 10. Servlets con acceso a bases de datos 10.1. Acceso a bases de datos mediante servlets y JDBC Una de las tareas más importantes y más frecuentemente realizadas por los servlets es la conexión

Más detalles

Conexión de Mysql con NetBeans

Conexión de Mysql con NetBeans Alumna: Keren Monge Cid Materia: Web Application Development Maestro: Alejandro S. Álvarez Cifuentes Grupo: 3CM2 2do Departamental Conexión de Mysql con NetBeans Objetivo Realizar un programa que realice

Más detalles

Curso de Ajax con Java. Manual del alumno

Curso de Ajax con Java. Manual del alumno Curso de Ajax con Java Manual del alumno Ing. Cedric Simon Tel: 2268 0974 Cel: 8888 2387 Email: c e d r i c @ s o l u c i o n j a v a. c o m Web: www.solucionjava.com SolucionJava.com Copyright Cédric

Más detalles

Java EE JavaServer Pages (JSP)

Java EE JavaServer Pages (JSP) Java EE JavaServer Pages (JSP) Aplicaciones Web/Sistemas Web Juan Pavón Mestras Dep. Ingeniería del Software e Inteligencia Artificial Facultad de Informática Universidad Complutense Madrid Material bajo

Más detalles

Tema 4: Tecnologías Web Java

Tema 4: Tecnologías Web Java Tema 4: Tecnologías Web Java Introducción Aplicación web Aplicación que corre en al menos un servidor y a la que el usuario accede desde un cliente de propósito general (ej.: navegador en un PC, teléfono

Más detalles

Elementos de Scripting... 25 Scriptlets... 25 Expresiones... 26 Declaraciones... 26 Inhabilitar los Elementos de Scripting... 27 Acciones...

Elementos de Scripting... 25 Scriptlets... 25 Expresiones... 26 Declaraciones... 26 Inhabilitar los Elementos de Scripting... 27 Acciones... Servlets Y JSP Contenido Arquitectura de las Aplicaciones Web... 5 Las Capas de la Aplicación... 5 Capas de las Aplicaciones Web... 6 La Capa de Dominio... 6 La Capa de la Interfaz de Usuario... 6 La Capa

Más detalles

Taller de Sistemas de Información 2. Desarrollo Web

Taller de Sistemas de Información 2. Desarrollo Web Taller de Sistemas de Información 2 Desarrollo Web Como funciona la web? Cuando navegamos la web, queremos acceder a un documento en algún lugar (de la web), para el cual disponemos de una URL (su dirección)

Más detalles

Pasarela de pagos de la Administración Pública Vasca V2. Integración con Sistemas BackEnd de Administraciones

Pasarela de pagos de la Administración Pública Vasca V2. Integración con Sistemas BackEnd de Administraciones Pasarela de pagos de la Administración Pública Vasca V2 Integración con Sistemas BackEnd de Administraciones 06 de Febrero de 2007 Indice 1 Introducción...1 2 Módulos de la Pasarela de Pagos...2 3 Proceso

Más detalles

JSP (I) Aplicaciones Distribuidas

JSP (I) Aplicaciones Distribuidas JSP (I) Aplicaciones Distribuidas Contenido Limitación Modelo Servlets Definición. Elementos de Script Expresiones y declaraciones. Directivas. JavaBeans. Otros aspectos de interés Etiquetas de Extensión

Más detalles

CAPITULO IV 4. Utilización de Servlets en AVCIDE

CAPITULO IV 4. Utilización de Servlets en AVCIDE CAPITULO IV 4. Utilización de Servlets en AVCIDE Las aplicaciones cliente servidor son la piedra angular del desarrollo del Web en la actualidad. La facilidad para crear y manejar aplicaciones Web de una

Más detalles

PASO 1: Creamos un nuevo proyecto en NetBeans. Nos vamos a File y pulsamos sobre New Project

PASO 1: Creamos un nuevo proyecto en NetBeans. Nos vamos a File y pulsamos sobre New Project PASO 1: Creamos un nuevo proyecto en NetBeans. Nos vamos a File y pulsamos sobre New Project PASO 2: En categorías seleccionamos Java Web y en projects Web Application. PASO 3: En el siguiente paso debemos

Más detalles

9. Servlets CAPÍTULO 9. 9.1. Clientes y Servidores

9. Servlets CAPÍTULO 9. 9.1. Clientes y Servidores CAPÍTULO 9 9. Servlets 9.1. Clientes y Servidores 9.1.1. Clientes (clients) Por su versatilidad y potencialidad, en la actualidad la mayoría de los usuarios de Internet utilizan en sus comunicaciones con

Más detalles

Mario Muñoz Organero & Norberto Fernández * Departamento de Ingeniería Telemática http://www.it.uc3m.es/mario http://www.it.uc3m.

Mario Muñoz Organero & Norberto Fernández * Departamento de Ingeniería Telemática http://www.it.uc3m.es/mario http://www.it.uc3m. JSP (I) Mario Muñoz Organero & Norberto Fernández * Departamento de Ingeniería Telemática http://www.it.uc3m.es/mario http://www.it.uc3m.es/berto (*) Agradecimientos a Lourdes Tajes en cuyo material docente

Más detalles

SERVLETS MARIO OSVALDO BRESSANO

SERVLETS MARIO OSVALDO BRESSANO SERVLETS MARIO OSVALDO BRESSANO 1 Qué es un Servlet? Interacción en Internet Cuando vamos a un restaurante, el mozo toma el pedido y se lo pasa al personal de la cocina. Al completarse el pedido, el mozo

Más detalles

SERVLETS CÁTEDRA DE PROGRAMACIÓN AVANZADA. Ing. Mario Bressano & Luciano Diamand ENVÍO 04

SERVLETS CÁTEDRA DE PROGRAMACIÓN AVANZADA. Ing. Mario Bressano & Luciano Diamand ENVÍO 04 SERVLETS 2012 CÁTEDRA DE PROGRAMACIÓN AVANZADA Ing. Mario Bressano & Luciano Diamand ENVÍO 04 Qué es un Servlet? Interacción en Internet Cuando vamos a un restaurante, el mozo toma el pedido y se lo pasa

Más detalles

Framework 1. Web en Java. (solo aplicaciones en mantenimiento)

Framework 1. Web en Java. (solo aplicaciones en mantenimiento) Framework 1 Desarrollo de aplicaciones Web en Java (solo aplicaciones en mantenimiento) Enero de 2013 Unidad de Arquitectura y Soporte de Aplicaciones Área de Aplicaciones Especiales y Arquitectura de

Más detalles

Tomcat Instalación. Norman Sáez [email protected] 15 de agosto de 2007

Tomcat Instalación. Norman Sáez nsaez@inf.utfsm.cl 15 de agosto de 2007 Tomcat Instalación Norman Sáez [email protected] 15 de agosto de 2007 Resumen Instalación y configuración de Tomcat en pasos rápidos. La idea es registrar una guía rápida para el probar el funcionamiento

Más detalles

4.2 Tutorial de Tapestry

4.2 Tutorial de Tapestry 4.2 Tutorial de Tapestry Índice Introducción Páginas Ejemplo pojo-tapestrytutorial Estructura del subsistema Capa modelo Plantillas Componentes PageLink, Form, TextField, Label, If Sintaxis de expansiones

Más detalles

Manual ca011 CURSO JAVA, SERVER PAGES JSP Y SERVLETS

Manual ca011 CURSO JAVA, SERVER PAGES JSP Y SERVLETS Sé diferente, intégrate Mca011 Manual ca011 CURSO JAVA, SERVER PAGES JSP Y SERVLETS Autor: Orlando Gutiérrez Fecha: 17/ 07 / 2013 Todos los derechos reservados, prohibida la reproducción, Instituto Gala

Más detalles

Tutorial JSP JavaServer Pages

Tutorial JSP JavaServer Pages JavaServer Pages Tutorial de JavaServer Pages Autor: Miguel Angel García E-Mail: [email protected] Presentación Este tutorial de páginas JSP, está basado en textos extraídos de diferentes artículos

Más detalles

Qué ofrece Autentia?

Qué ofrece Autentia? Qué ofrece Autentia? Somos su empresa de arquitectura y soporte a desarrollo Java/.Net En cualquier empresa mediana o grande donde exista un departamento de desarrollo informático encontramos un difícil

Más detalles

JavaBeans y JavaServer Pages: Guía rápida. Manuel Urueña

JavaBeans y JavaServer Pages: Guía rápida. Manuel Urueña JavaBeans y JavaServer Pages: Guía rápida Manuel Urueña 2 de diciembre de 2002 1. JavaBeans Los JavaBeans se idearon como un mecanismo para diseñar componentes, generalmente de tipo gráfico, que pudiesen

Más detalles

Escribir código HTML en los servlets es tedioso. que hay que utilizar las instrucciones print, println, etc. Es decir, HTML está dentro de java.

Escribir código HTML en los servlets es tedioso. que hay que utilizar las instrucciones print, println, etc. Es decir, HTML está dentro de java. Java Server Pages Dr. Raúl Pérez Introducción Escribir código HTML en los servlets es tedioso y se presta a equivocarse fácilmente debido a que hay que utilizar las instrucciones print, println, etc. Es

Más detalles

Tema 6: Arquitectura Web Multicapa

Tema 6: Arquitectura Web Multicapa Arquitectura software en capas Tema 6: Arquitectura Web Multicapa 1 (Dibujo de arquitectura de Ebay) Capa Presentación: genera pantallas, crea código formato. Capa Lógica negocio: objetos aplicación que

Más detalles

Configuración de Tomcat para usar SSL

Configuración de Tomcat para usar SSL Configuración de Tomcat para usar SSL En este tutorial se describe cómo configurar Tomcat para acceder a las aplicaciones web empleando HTTP sobre SSL. Existen dos configuraciones posibles: la más sencilla

Más detalles

Manual de JSP con MySQL

Manual de JSP con MySQL Contenido Introducción... 2 Requerimientos... 2 Requerimiento #1: IDE Eclipse... 2 Requerimiento #2: Apache Tomcat, Jboss y MySQL... 2 Desarrollo... 3 Paso #1: Ejecutar Eclipse... 3 Paso #2: WorkSpace...

Más detalles

Laboratorio de Aplicaciones Telemáticas Ingeniería Técnica de Telecomunicación Especialidad en Telemática

Laboratorio de Aplicaciones Telemáticas Ingeniería Técnica de Telecomunicación Especialidad en Telemática Laboratorio de Aplicaciones Telemáticas Ingeniería Técnica de Telecomunicación Especialidad en Telemática Escuela Politécnica Superior. Universidad Carlos III de Madrid. Leganés, a 9 de Febrero de 2004.

Más detalles

DESARROLLO DE APLICACIONES WEB Introducción a Java Server Faces

DESARROLLO DE APLICACIONES WEB Introducción a Java Server Faces DESARROLLO DE APLICACIONES WEB Introducción a Java Server Faces 1. Objetivo: Introducir los conceptos relacionados con la construcción de aplicaciones Web Java basadas en Java Server Faces 2.x. 2. Prerrequisitos:

Más detalles

ARQUITECTURAS CLIENTE/ SERVIDOR

ARQUITECTURAS CLIENTE/ SERVIDOR ARQUITECTURAS CLIENTE/ SERVIDOR SERVIDORES ORIENTADOS/ NO ORIENTADOS A CONEXIÓN SERVIDORES ORIENTADOS A CONEXIÓN Telnet HTTP FTP SMTP LDAP Kerberos RMI RPC NFS SERVIDORES NO ORIENTADOS A CONEXIÓN SNMP

Más detalles

III Congreso de Mathematica en España (3CM) webmathematica: Interactuando con Mathematica desde Internet

III Congreso de Mathematica en España (3CM) webmathematica: Interactuando con Mathematica desde Internet III Congreso de Mathematica en España (3CM) webmathematica: Interactuando con Mathematica desde Internet J. Guillermo Sánchez León Cada vez es más demandado que las aplicaciones informáticas se puedan

Más detalles

Ficha Técnica. Categoría. Contenido del Pack. Sinopsis. Programación. - 2 Manual Teórico - 1 Cuaderno de Ejercicios - 1 CDROM

Ficha Técnica. Categoría. Contenido del Pack. Sinopsis. Programación. - 2 Manual Teórico - 1 Cuaderno de Ejercicios - 1 CDROM Ficha Técnica Categoría Programación Contenido del Pack - 2 Manual Teórico - 1 Cuaderno de Ejercicios - 1 CDROM Sinopsis Java fue desarrollado por la compañía Sun Microsystems como una tecnología capaz

Más detalles

4.4 Caso de Estudio: Diseño e Implementación de la Capa Web de MiniPortal

4.4 Caso de Estudio: Diseño e Implementación de la Capa Web de MiniPortal 4.4 Caso de Estudio: Diseño e Implementación de la Capa Web de MiniPortal Introducción y Objetivo Qué es MiniPortal? Un portal con registro de usuarios y sin contenidos Arquitectura reusable para implementar

Más detalles

Especialista Universitario Java Enterprise. Struts. Sesión 4: Introducción a Struts 2. 2010-2011 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise. Struts. Sesión 4: Introducción a Struts 2. 2010-2011 Depto. Ciencia de la Computación e IA Struts Sesión 4: Introducción a Struts 2 Indice Motivación De Struts 1.x a Struts 2 Acciones Actionforms Taglibs Internacionalización Validación Conceptos nuevos en Struts 2 2 Por qué era necesario Struts

Más detalles

Configuración servidor Tomcat

Configuración servidor Tomcat Apuntes de J2EE Configuración servidor Tomcat Uploaded by Ingteleco http://ingteleco.webcindario.com [email protected] La dirección URL puede sufrir modificaciones en el futuro. Si no funciona contacta

Más detalles