SlideShare ist ein Scribd-Unternehmen logo
1 von 28
INTRODUCCIÓN A LAS
APLICACIONES WEB Y
  TECNOLOGÍA JAVA
Índice
 Java
 Aplicaciones web
 Servlets – JSP
 Servidores de aplicaciones – IDE`s
 Ejemplo
Java
 Historia
     Lenguaje orientado a objetos creado por Sun
      Microsystems
       • Encapsulación – ocultacion de datos y metodos
       • Herencia
       • Polimorfismo – circulo.area() , cuadrado.area()
     Éxito alcanzado gracias a:
       • Internet: aplicaciones web
       • “Independencia” del S.O. y plataforma
       • Marketing
Plataforma Java

   Java Language


   Java Bytecode

  Java API

 Java Virtual Machine

      Plataform
Características
   El código Java se estructura en clases
       Las clases se estructuran a su vez en paquetes
   Clase Object de la que derivan las demás
   Los tipos básicos no son clases
       void, char, boolean, byte, int, array
   Herencia simple:
       las clases derivadas pueden añadir variables y (re)definir
        métodos
   Herencia múltiple: interfaces
       no definen ninguno de sus métodos y únicamente declaran
        constantes
    class Circulo extends Figura implements Superficie
CONTROL DE ACCESO
-   En variables y métodos miembro
-   Tres tipos:
    -   public
    -   protected
    -   private
        Modificador acceso    Public   Protected   Private

        Misma clase                               
        Subclase                        [*]       
        Clase externa en el
        mismo paquete                             
        Clase externa en
        otro paquete                              
Concepto de static
-   Afecta a variables y métodos
-   Hacen referencia a la clase (no al objeto)
-   Se inicializan justo antes de utilizar por
    primera vez la clase
-   Llamada:
    -   Clase.variable (objeto.variable -> no aconsejado).
    -   Clase.metodo()
-   Ej: Math.cos()
Aplicaciones Web
Pila de protocolos

       HTML


        HTTP


        TCP


         IP


      MAC - LLC


       FÍSICO
Modelo Cliente Servidor
 Cuando   un usuario desea acceder a una
  determinada página web, utiliza un
  navegador
 Similarmente en el otro extremo se
  precisa un servidor


                HTTP
Evolución
 Inicialmente,    únicamente información
 estática.
     HTML estático
     Aplicaciones “pobres”
 Posteriormente,  ejecución de código en
 el lado del cliente:
     HTML dinámico: JavaScript
     Principalmente mejoras de interfaz
Evolución (II)
 Programación      en el lado del servidor:
     CGIs
     Páginas ASP
     Páginas JSP, servlets
     PHP
     J2EE, .NET
     Zope, Ruby on Rails
     …
Evolución (III)
 Web   Services
    Interoperabilidad entre servidores y clientes
    Programación de procedimientos remotos
    WSDL
    SOAP, XML-RPC
    WS-Security
SERVLET – JSP
TECNOLOGÍA SERVLET
           INTRODUCCION

 Son la respuesta de la tecnología Java a
 la programación CGI.

 Programas Java que se ejecutan en el
 SERVIDOR y construyen dinámicamente
 una página HTML
Servlets – Caracteristicas
 Tienen acceso a todas las Apis de Java: JDBC,
  JavaMail, etc..
 Permiten utilizar cookies y seguimiento de
  sesiones (HttpSession), muy útiles para el
  desarrollo de aplicaciones Web.
 Define métodos para atender a cada una de las
  peticiones de HTTP que se puedan dar: doGet,
  doPost, doPut...
 Dos Parámetros importantes:
     • HttpServletRequest: modeliza la petición del usuario y
       contiene información de la petición HTTP realizada
     • HttpServletResponse: objeto que implementa la conexión
       de salida con el usuario
Servlets – Comparativa con CGI
   Eficiencia: CGI arranca un proceso por cada
    llamada. En Servlets, por cada llamada se
    controla por un thread de Java
   Potencia: Permite hacer fácilmente cosas que
    son complicadas de hacer con CGI normal
   Portabilidad: Escrito en Java
   Funcionalidad: acceso a la Api de Java
   Barato: añadir soporte para servlets en un
    servidor web es gratuito o muy barato
Servlets - Funcionamiento

                           servlet




cliente    servidor
                      pagina.html
Servlets - Ejemplo
 http://miservidor:8080/HelloWorld?nombre=Iñaki
 Servlet que escribe código HTML
public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest request,
   HttpServletResponse response) throws ServletException,
   IOException {
       response.setContentType("text/html");
       String nom = request.getParameter(“nombre”);
       PrintWriter out = response.getWriter();
       out.println( "<HTML>n" +
       "<HEAD><TITLE>Hello World</TITLE></HEAD>n" +
       "<BODY>n" +
       "<H1>Hello World, + nom + </H1>n" +
       "</BODY>+
       </HTML>" );
   }
 }
Tecnología JSP – Introduccion
 Es un fichero de texto con etiquetas HTML
  y código java embebido
 Se compilan automáticamente según se
  necesitan: se convierte en un servlet
 Desde un JSP: uso de JavaBeans, uso de
  JDBC. Cualquier clase de Java
JSP - Ejemplo
                                                     servlet
<%@ page import=“ java.util.*” %>
<html>
   <head>
   <title>Ejemplo de JSP</title>
   </head>
   <body>
   <% Date date = new Date();                      compilación
   String hoy = DateFormat.getDateInstance().format(d);%>
   <h1> Hola, <%request.getParameter(“nombre”)%></h2>
   <br>
   <h2>Hoy es : <%= hoy %> </h2>
   </body>
</html>


               fichero jsp
JSP vs Servlet
         • Servlets: Java con HTML embebido
         • JSPs: HTML con Java embebido
   Semejanzas:
       JSP son una extensión de Servlets. No aporta
        funcionalidades nuevas
       Un JSP compilado es un Servlet
       Misma función: construir contenido dinámico
   Diferencias:
       JSP separa más claramente el diseño de la lógica
       Más sencillo modificar código HTML que miles de
        sentencias println
JSP – SERVLET:
  FUNCIONAMIENTO GENERAL

                     CONTROL

                      servlet




                                MODELO
                     VISTA




cliente   servidor
                       jsp
IDE´S - SERVIDORES
IDE´s
   Alternativa a la línea de comandos
   Integración de herramientas:
       Compilación
       Depuración (necesitan el SDK)
       Ant, CVS…
   Modulares: ampliables mediante plugins
   Ayuda a la programación
IDE´s
 Eclipse:
       Open Source, impulsado por IBM
       meta-IDE: sirve para muchas cosas
       SWT: sustituye a AWT y Swing

   NetBeans:
       Open Source, desarrollado por Sun
       Generación automática de plantillas
       Java 100% estándar
Otros IDE
   BlueJ (http://www.bluej.org/) - Software libre
   jCreator (http://www.jcreator.com/) - Software
    propietario, versión gratuita disponible.
   Sun Java Studio
    (http://wwws.sun.com/software/sundev/jde/) -
    Software propietario, extensión de netBeans.
   JBuilder (http://www.borland.com/jbuilder/) -
    Software propietario
   IntelliJ IDEA (http://www.jetbrains.com/idea/) -
    Software propietario
Motor de Servlet
 Aplicaciónque contiene la aplicación java
 Necesario para ejecutar los servlet y jsp
 Productos
     Apache Tomcat
     BEA WebLogic
     IBM WebSphere
     Sun/Netscape IPlanet
     Macromedia JRun
     …

Weitere ähnliche Inhalte

Was ist angesagt?

Servlets exposicion
Servlets exposicionServlets exposicion
Servlets exposicion
Flashnet S.A
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web java
César Ocampo
 

Was ist angesagt? (20)

5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-20065. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
 
Manual de Java
Manual de JavaManual de Java
Manual de Java
 
Breve introducción a Apache Ant
Breve introducción a Apache AntBreve introducción a Apache Ant
Breve introducción a Apache Ant
 
Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011
 
Curso Java Avanzado 3 Js Ps
Curso Java Avanzado   3 Js PsCurso Java Avanzado   3 Js Ps
Curso Java Avanzado 3 Js Ps
 
Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
 
Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrollo
 
2. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-20062. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-2006
 
Net y WPF
Net y WPFNet y WPF
Net y WPF
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
 
Curso Java Avanzado 5 Ejb
Curso Java Avanzado   5 EjbCurso Java Avanzado   5 Ejb
Curso Java Avanzado 5 Ejb
 
Jdbc
JdbcJdbc
Jdbc
 
Introducción a java EE 7
Introducción a java EE 7Introducción a java EE 7
Introducción a java EE 7
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 
Persistencia de datos en Java
Persistencia de datos en JavaPersistencia de datos en Java
Persistencia de datos en Java
 
[ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition [ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition
 
Curso Java Avanzado 2 Servlets
Curso Java Avanzado   2 ServletsCurso Java Avanzado   2 Servlets
Curso Java Avanzado 2 Servlets
 
Servlets exposicion
Servlets exposicionServlets exposicion
Servlets exposicion
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web java
 
Rails intro
Rails introRails intro
Rails intro
 

Ähnlich wie Charla

[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java
Eudris Cabrera
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
Robert Rayco Quiroz
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xml
gilhorak
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jsp
dtbadboy0
 

Ähnlich wie Charla (20)

introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
introduccion-a-las-aplicaciones-web-y-tecnologia-java.pptintroduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
 
[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java[ES] Introducción a las Aplicaciones Web con Java
[ES] Introducción a las Aplicaciones Web con Java
 
Tecnologias web
Tecnologias webTecnologias web
Tecnologias web
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a Tomcat
 
SERVLET BASICS
SERVLET BASICSSERVLET BASICS
SERVLET BASICS
 
10.desarrollowebconjava
10.desarrollowebconjava10.desarrollowebconjava
10.desarrollowebconjava
 
Desarrollo web
Desarrollo webDesarrollo web
Desarrollo web
 
Java Web - Introduccion
Java Web - IntroduccionJava Web - Introduccion
Java Web - Introduccion
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xml
 
Curso ajax
Curso ajaxCurso ajax
Curso ajax
 
Programación en Internet
Programación en InternetProgramación en Internet
Programación en Internet
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EE
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Introdución a aplicaciones web en java
Introdución a aplicaciones web en java Introdución a aplicaciones web en java
Introdución a aplicaciones web en java
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jsp
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
 

Mehr von yanetzis (7)

Software libre en la administracion pública
Software libre en la administracion públicaSoftware libre en la administracion pública
Software libre en la administracion pública
 
Exponer conocimiento
Exponer conocimientoExponer conocimiento
Exponer conocimiento
 
Exponer nuestro conocimiento
Exponer nuestro conocimientoExponer nuestro conocimiento
Exponer nuestro conocimiento
 
Desarrollo endogeno
Desarrollo endogenoDesarrollo endogeno
Desarrollo endogeno
 
Tic en la educacion
Tic en la educacionTic en la educacion
Tic en la educacion
 
Elementos de diseño mecánico
Elementos de diseño mecánicoElementos de diseño mecánico
Elementos de diseño mecánico
 
Aplicaciones web con php y my sql
Aplicaciones web con php y my sqlAplicaciones web con php y my sql
Aplicaciones web con php y my sql
 

Charla

  • 1. INTRODUCCIÓN A LAS APLICACIONES WEB Y TECNOLOGÍA JAVA
  • 2. Índice  Java  Aplicaciones web  Servlets – JSP  Servidores de aplicaciones – IDE`s  Ejemplo
  • 3. Java  Historia  Lenguaje orientado a objetos creado por Sun Microsystems • Encapsulación – ocultacion de datos y metodos • Herencia • Polimorfismo – circulo.area() , cuadrado.area()  Éxito alcanzado gracias a: • Internet: aplicaciones web • “Independencia” del S.O. y plataforma • Marketing
  • 4. Plataforma Java Java Language Java Bytecode Java API Java Virtual Machine Plataform
  • 5. Características  El código Java se estructura en clases  Las clases se estructuran a su vez en paquetes  Clase Object de la que derivan las demás  Los tipos básicos no son clases  void, char, boolean, byte, int, array  Herencia simple:  las clases derivadas pueden añadir variables y (re)definir métodos  Herencia múltiple: interfaces  no definen ninguno de sus métodos y únicamente declaran constantes class Circulo extends Figura implements Superficie
  • 6. CONTROL DE ACCESO - En variables y métodos miembro - Tres tipos: - public - protected - private Modificador acceso Public Protected Private Misma clase    Subclase  [*]  Clase externa en el mismo paquete    Clase externa en otro paquete   
  • 7. Concepto de static - Afecta a variables y métodos - Hacen referencia a la clase (no al objeto) - Se inicializan justo antes de utilizar por primera vez la clase - Llamada: - Clase.variable (objeto.variable -> no aconsejado). - Clase.metodo() - Ej: Math.cos()
  • 9. Pila de protocolos HTML HTTP TCP IP MAC - LLC FÍSICO
  • 10. Modelo Cliente Servidor  Cuando un usuario desea acceder a una determinada página web, utiliza un navegador  Similarmente en el otro extremo se precisa un servidor HTTP
  • 11. Evolución  Inicialmente, únicamente información estática.  HTML estático  Aplicaciones “pobres”  Posteriormente, ejecución de código en el lado del cliente:  HTML dinámico: JavaScript  Principalmente mejoras de interfaz
  • 12. Evolución (II)  Programación en el lado del servidor:  CGIs  Páginas ASP  Páginas JSP, servlets  PHP  J2EE, .NET  Zope, Ruby on Rails  …
  • 13. Evolución (III)  Web Services  Interoperabilidad entre servidores y clientes  Programación de procedimientos remotos  WSDL  SOAP, XML-RPC  WS-Security
  • 15. TECNOLOGÍA SERVLET INTRODUCCION  Son la respuesta de la tecnología Java a la programación CGI.  Programas Java que se ejecutan en el SERVIDOR y construyen dinámicamente una página HTML
  • 16. Servlets – Caracteristicas  Tienen acceso a todas las Apis de Java: JDBC, JavaMail, etc..  Permiten utilizar cookies y seguimiento de sesiones (HttpSession), muy útiles para el desarrollo de aplicaciones Web.  Define métodos para atender a cada una de las peticiones de HTTP que se puedan dar: doGet, doPost, doPut...  Dos Parámetros importantes: • HttpServletRequest: modeliza la petición del usuario y contiene información de la petición HTTP realizada • HttpServletResponse: objeto que implementa la conexión de salida con el usuario
  • 17. Servlets – Comparativa con CGI  Eficiencia: CGI arranca un proceso por cada llamada. En Servlets, por cada llamada se controla por un thread de Java  Potencia: Permite hacer fácilmente cosas que son complicadas de hacer con CGI normal  Portabilidad: Escrito en Java  Funcionalidad: acceso a la Api de Java  Barato: añadir soporte para servlets en un servidor web es gratuito o muy barato
  • 18. Servlets - Funcionamiento servlet cliente servidor pagina.html
  • 19. Servlets - Ejemplo  http://miservidor:8080/HelloWorld?nombre=Iñaki  Servlet que escribe código HTML public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); String nom = request.getParameter(“nombre”); PrintWriter out = response.getWriter(); out.println( "<HTML>n" + "<HEAD><TITLE>Hello World</TITLE></HEAD>n" + "<BODY>n" + "<H1>Hello World, + nom + </H1>n" + "</BODY>+ </HTML>" ); } }
  • 20. Tecnología JSP – Introduccion  Es un fichero de texto con etiquetas HTML y código java embebido  Se compilan automáticamente según se necesitan: se convierte en un servlet  Desde un JSP: uso de JavaBeans, uso de JDBC. Cualquier clase de Java
  • 21. JSP - Ejemplo servlet <%@ page import=“ java.util.*” %> <html> <head> <title>Ejemplo de JSP</title> </head> <body> <% Date date = new Date(); compilación String hoy = DateFormat.getDateInstance().format(d);%> <h1> Hola, <%request.getParameter(“nombre”)%></h2> <br> <h2>Hoy es : <%= hoy %> </h2> </body> </html> fichero jsp
  • 22. JSP vs Servlet • Servlets: Java con HTML embebido • JSPs: HTML con Java embebido  Semejanzas:  JSP son una extensión de Servlets. No aporta funcionalidades nuevas  Un JSP compilado es un Servlet  Misma función: construir contenido dinámico  Diferencias:  JSP separa más claramente el diseño de la lógica  Más sencillo modificar código HTML que miles de sentencias println
  • 23. JSP – SERVLET: FUNCIONAMIENTO GENERAL CONTROL servlet MODELO VISTA cliente servidor jsp
  • 25. IDE´s  Alternativa a la línea de comandos  Integración de herramientas:  Compilación  Depuración (necesitan el SDK)  Ant, CVS…  Modulares: ampliables mediante plugins  Ayuda a la programación
  • 26. IDE´s  Eclipse:  Open Source, impulsado por IBM  meta-IDE: sirve para muchas cosas  SWT: sustituye a AWT y Swing  NetBeans:  Open Source, desarrollado por Sun  Generación automática de plantillas  Java 100% estándar
  • 27. Otros IDE  BlueJ (http://www.bluej.org/) - Software libre  jCreator (http://www.jcreator.com/) - Software propietario, versión gratuita disponible.  Sun Java Studio (http://wwws.sun.com/software/sundev/jde/) - Software propietario, extensión de netBeans.  JBuilder (http://www.borland.com/jbuilder/) - Software propietario  IntelliJ IDEA (http://www.jetbrains.com/idea/) - Software propietario
  • 28. Motor de Servlet  Aplicaciónque contiene la aplicación java  Necesario para ejecutar los servlet y jsp  Productos  Apache Tomcat  BEA WebLogic  IBM WebSphere  Sun/Netscape IPlanet  Macromedia JRun  …