Diferencia entre revisiones de «Usuario:ManuelRomero/modulo TOMCAT»

De WikiEducator
Saltar a: navegación, buscar
(JSP)
(Página reemplazada por '{{:Usuario:ManuelRomero/micursos/Tomcat/nav}} <br>')
 
(45 revisiones intermedias por el mismo usuario no mostrado)
Línea 1: Línea 1:
===Aplicaciones Web ===
+
{{:Usuario:ManuelRomero/micursos/Tomcat/nav}}
;Definición de aplicación web
+
<br>
:Aplicación informática que se ejecuta en un entorno web
+
:Modelo de ejecución Cliente /Servidor
+
:Necesario un  protocolo de comunicación .
+
;Elementos
+
:'''''Cliente''''': navegador.
+
:'''''Servidor''''': servidor web
+
:'''''Comunicación''''': protocolo HTTP
+
===Servidor de aplicaciones===
+
;Definición de servidor de aplicaciones
+
:Es un software que proporciona aplicaciones a los equipos o dispositivos cliente,
+
:Es muy frecuente el uso de la red de Internet para realizarlo
+
:Utiliza el protocolo '''''http'''''
+
:Presenta dos diferencias con los servidores web (p.e. '''''apache''''')
+
#Hace un extensivo del contenido dinámico
+
#De manera muy frecuente realiza integración con bases de datos.
+
===Ventajas de servidor de aplicaciones===
+
;centralización y simplicidad en desarrollo de aplicaciones
+
:Las aplicaciones se ensamblan desde bloques que el servidor provee
+
;Integridad de datos y de código
+
:Al actulizar los datos que estás centralizados todos los clientes serán conscientes de ello
+
===Tomcat ===
+
;Definición
+
:Tomcat es el servidor web (incluye el servidor Apache)  que puede gestionar las solicitudes y respuestas http
+
:También es servidor de aplicaciones del proyecto Yakarta contenedor de '''''Servlets y JSP'''''
+
:Especialmente útil para porgramar aplicaciones web usando '''''java'''''
+
:Incluye el compilador Jasper, que compila JSP covirtiéndolas en servlets.
+
===Servlet===
+
;Definición
+
:Un servlet es un programa escrito en java
+
:se ejecuta en un servidor
+
:normalmente se utiliza para generar contenido html dinámico.
+
*Ejemplo de servlet en java
+
<source lang=java>
+
Código de ejemplo de un Servlet que procesa una petición GET y devuelve una página web HTML sencilla:
+
package org.pruebas;
+
+
import java.io.IOException;
+
import java.io.PrintWriter;
+
import javax.servlet.ServletException;
+
import javax.servlet.http.HttpServlet;
+
import javax.servlet.http.HttpServletRequest;
+
import javax.servlet.http.HttpServletResponse;
+
+
public class HolaMundoServlet extends HttpServlet {
+
+
    /**
+
    * Servlet de ejemplo que procesa una petición GET
+
    * @param request
+
    * @param response
+
    * @throws ServletException
+
    * @throws IOException
+
    */
+
    @Override
+
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+
        PrintWriter out = response.getWriter();
+
        out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">");
+
        out.println("<html>");
+
        out.println("<head><title>Ejemplo Hola Mundo</title></head>");
+
        out.println("<body>");
+
        out.println("<h1>¡Hola Mundo!</h1>");
+
        out.println("</body></html>");
+
    }
+
}
+
</source>
+
*Al final del tema al estudiar el despliegue web y analizar el fichero web.xml del servidor de aplicaciones web o contendedor de servlet tomcat probaremos este fichero.
+
===JSP===
+
;Definición
+
:JSP es un lenguaje de programación parecido al lenguaje ''php''
+
:Es un código que ejecuta el servidor de aplicaciones web ,  al lado del servidor en el modelo cliente/servidor
+
:Se puede embeber junto con códgio html
+
:El servidor interpretar JSP de la misma manera en la que interpreta PHP, generando una página html que entrega al claiente
+
*Ejemplo sencillo de un jsp
+
<source lang=html4strict>
+
<html>
+
<body>
+
<% out.println("Hola mundo"); %>
+
</body>
+
</html>
+
</source>
+
 
+
===Tomcat contenedor de servlets===
+
*'''''Tomcat''''' es un contenedor de servlets con un entorno JSP.
+
*es un servidor de aplicaciones web pensado para desarrollos con java (no exclusivo para este entorno)
+
;Contenedor de servlets
+
:es un shell de ejecución que maneja e invoca servlets por cuenta del usuario.
+
 
+
===Clasificación de contenedores de servlets===
+
;Contenedores de servlets '''''stand-alone''''' (independientes):
+
:Estos son una parte integral del servidor web.
+
:Este es el caso en el que se usa un servidor web basado en Java,
+
:Por defecto Tomcat trabaja en este modo, sin embargo, la mayoría de los servidores no están basados en Java.
+
 
+
;Contenedores de servlets '''''dentro-de-proceso''''':
+
:En esta configuración del servidor, el contenedor servlets es una combinación
+
::Un plugin para el servidor web
+
:: y una implementación de contenedor Java.
+
:El plugin del servidor web abre una JVM (Máquina Virtual Java)
+
:dentro del espacio de direcciones del servidor web
+
:permite que el contenedor Java se ejecute en él.
+
 
+
:En el caso de que una petición debiera ejecutar un servlet, el plugin toma el control sobre la petición y lo pasa al contenedor Java (usando JNI).
+
:Un contenedor de este tipo es adecuado para servidores multithread de un sólo proceso
+
:Además este tipo  proporciona un buen rendimiento pero está limitado en escalabilidad.
+
 
+
;Contenedores de servlets '''''fuera-de-proceso''''':
+
:En este caso la combinación va a ser:
+
::plugin para el servidor web
+
::y una implementación de contenedor Java
+
:'''''Este  se ejecuta en una JVM fuera del servidor web.'''''
+
:El plugin del servidor web y el JVM del contenedor Java se comunican
+
:para ello usan algún mecanismo IPC (normalmente sockets TCP/IP).
+
:Si una cierta petición tuviese que ejecutar un servlets, el plugin toma el control sobre la petición y lo pasa al contenedor Java (usando IPCs).
+
:El tiempo de respuesta en este tipo de contenedores no es tan bueno como el anterior
+
:A su favor, obtiene mejores rendimientos en otras cosas (escalabilidad, estabilidad, etc.)
+
===Instalación de Tomcat===
+
*Necesitamos tener instalado JDK
+
*buscamos el paquete java que más nos interese
+
aptitude search "?provides(java-runtime)"
+
*instalamos java-runtime
+
apt-get install default-jre
+
*actualizamos el PATH del sistema en nuestro profile
+
*Indicando donde se ubican los binarios que acabamos de instalar
+
JAVA_HOME=/usr/lib/jvm/java6openjdk/
+
jre/
+
PATH=$PATH:$JAVA_HOME/bin
+
export PATH JAVA_HOME
+
*actualizamos las variables de entorno
+
source /etc/profile
+
*Vamos a la web de tomcat y vemos la última version
+
http://apache.rediris.es/tomcat/tomcat-7
+
Tomamos la última version ''''' v7.0.32''''' y la descargamos
+
# wget http://apache.rediris.es/tomcat/tomcat7/v7.0.32/bin/apachetomcat7.0.32
+
# wget http://apache.rediris.es/tomcat/tomcat6/v6.0.32/bin/apachetomcat6.0.32 (una version anterior)
+
 
+
*Descomprimimos y desenpaquetamos el fichero
+
tar xvzf apachetomcat7.0.32.tar.g
+
*Movemos a una carpeta de destino
+
mv -drfv apachetomcat6.0.32/usr/local/
+
*Creamos un enlace para referenciar más comodamente el directorio
+
# ln -s /usr/local/apachetomcat6.0.32/ /usr/local/tomcat
+
*un script llamado '''''catalina''''' gestiona el servicio de '''''Tomcat'''''
+
se le pueden pasar los parámetros start / stop
+
*verificamos el funcionamiento escribiendo en la url
+
http://127.0.0.1:8080
+

Última revisión de 09:52 24 nov 2012