8. Ideas a tener claras
Tomcat es
Contenedor
de Servlets
[CATALINA]
Soporte para servlets (apps web)
Soporte para JSP (JSP -> Servlets) [JASPER]
Tomcat no es
Servidor aplicaciones como JBoss
Multiplataforma con JVM
Tomcat
Servicio que escucha puertos [COYOTE]
Portable
9. Ideas a tener claras
¿Para que se usa Tomcat?
Apache HTTP
Web Server
Servidor Web
Tomcat
+
Tomcat
13. Estructura
¿Qué tiene cada carpeta?
• bin ejecutables
• conf configuraciones de TOMCAT, de usuarios, de seguridad, de puertos…
• lib librerías .jar que utiliza TOMCAT para funcionar
• shared librerías para compartir con entre las web apps
• logs logs de ejecución con toda la información sobre CATALINA, apps, host, manager
• temp donde se almacenan los elementos temporales de las apps y del contenedor
• webapps carpeta contenedora de las apps web
• work carpeta cache para mejorar el rendimiento de las Web apps
23. configuración
¿dónde se configura?
Carpeta conf
server.xml
fichero de configuración principal de TOMCAT
tomcat-users.xml
fichero de configuración de perfiles y roles de los usuarios
web.xml
fichero con valores por defecto para todas las web apps
catalina.properties
fichero con las estructuras y rutas por defecto de TOMCAT
catalina.policy
fichero con las políticas de seguridad de TOMCAT
24. configuración
¿dónde se configura?
Carpeta bin
version.
obtener versión de TOMCAT
tool-wrapper.
fichero para utilizar TOMCAT desde la consola de comandos
startup.
fichero que arranca TOMCAT
shutdown.
fichero que para TOMCAT
catalina.
fichero que abarca todo lo anterior y un poco más
27. Ideas a tener claras
ANT
Automatización de tareas mecánicas y repetitivas
Utiliza archivos
XML (build.xml)
Multiplataforma con JVM
ANT
Similar al Makefile
Portable
28. Ideas a tener claras
<?xml version="1.0"?>
<project name="Hello" default="compile">
<target name="clean" description="remove intermediate files">
<delete dir="classes"/>
</target>
<target name="clobber" depends="clean" description="remove all artifact files">
<delete file="hello.jar"/>
</target>
<target name="compile" description="compile the Java source code to class files">
<mkdir dir="classes"/>
<javac srcdir="." destdir="classes"/>
</target>
<target name="jar" depends="compile" description="create a Jar file for the application">
<jar destfile="hello.jar">
<fileset dir="classes" includes="**/*.class"/>
<manifest>
<attribute name="Main-Class" value="HelloProgram"/>
</manifest>
</jar>
</target>
</project>
ANT
29. Ideas a tener claras
Limitaciones
ANT
Mala comprensión de
archivos XML y su estructura
Uso de valores por defecto
(legacy) para tareas cotidianas
<javac> <java> <exec>
Descontrol de referencias
inexistentes ${lib.src}
No tiene flujo de trabajo
solo sirve para procesos simples
Los bucles no re-evaluan
los datos nuevos
Antidote (GUI)
descontinuado desde 2005
32. Estructura
¿Qué tiene cada carpeta?
• bin ejecutables
• etc archivos de configuración de las diferentes Tasks
• lib librerías .jar que utiliza ANT para funcionar
• manual manual en HTML del uso de ANT