====== JavaEE ====== ===== Introducción ===== Una aplicación web en JavaEE tiene una estructura concreta. En la raíz de la aplicación debe existir el directorio **WEB-INF**; dentro de este habrá como mínimo dos directorios más **classes** (donde estarán los compilados de nuestra aplicación) y **lib** (donde importaremos las librerías para nuestra aplicación). En WEB-INF también incluiremos el archivo //web.xml// y otros archivos de configuración, también podremos encontrar la carpeta //src// con el código fuente de la aplicación. * ** Notas ** Una aplicación web puede ser guardada en un archivo .war que después podremos subir a nuestro server y que se instalará automáticamente. ===== Tecnologías ===== * [[sp:j2ee:servlets|Servlets]] * [[sp:j2ee:jsp|JSP]] * [[sp:j2ee:jstl|JSTL]] ===== Páginas de ejemplo ===== ==== JSP ==== <% for (int i=0; i<10; i++) { %> Hola mundo!!
<% } %>
==== Servlet ==== package org.miwebapp; 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 MiServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { java.io.PrintWriter writer = response.getWriter(); writer.setContentType("text/html"); for (int i=0; i<20; i++) writer.println("Hola munundo!!
"); } }
==== web.xml ==== jspHello This is my first jsp-app. First org.miwebapp.MiServlet First /prueba_servlet Este web.xml indica que la aplicación tendrá como nombre //jspHello//, descripción //This is my first jsp-app//. Declara un servlet llamado //First// que corresponde a la clase //org.miwebapp.MiServlet// y luego lo enlaza con el nombre //prueba_servlet//. De esta forma para lanzar la clase MiServlet habría que hacer ////prueba_servlet//. \\ \\ {{sp:jsp:web.xml.txt|Ejemplo de web.xml}} ===== Tomcat ===== ==== Configuración ==== === Añadir usuarios === En el archivo //conf\tomcat-users.xml// añadiríamos: === Cambiar puerto de la aplicación === En el archivo //conf\server.xml// se definen cosas como esta; la siguiente línea es la que indica por qué puerto sirve Tomcat sus peticines HTTP. ==== Enlace con Apache ==== Para poder enlazar correctamente el servidor web Apache y Tomcat, se ha de tener instalado y activado en el primero el módulo **mod_jk**. \\ Necesitaremos crear un archivo de configuración en apache con una pequeña configuración para tomcat, java y para un worker: workers.tomcat_home=/usr/local/apache-tomcat-5.5.16/ workers.java_home=$JAVA_HOME ps=/ worker.list=default worker.default.port=8009 worker.default.host=localhost worker.default.type=ajp13 worker.default.lbfactor=1 En la configuración de Apache deberemos indicar unos parámetros (por ejemplo para decir qué archivo estamos utilizando (JkWorkersFile) o donde se guardarán los logs de la relación Apache-Tomcat: JkWorkersFile "conf/workers" JkLogFile "logs/mod_jk.log" JkLogLevel warn Ahora, para enlazar una aplicación Tomcat con Apache usaremos la directiva JkMount para especificar qué archivos debe ejecutar Tomcat. JkMount /jsp-examples default JkMount /jsp-examples/* default JkMount /jsp-examples/*.jsp default ==== Notas ==== * Cuando se agrega una nueva aplicación a Tomcat, este ha de reiniciarse. ===== Archivos ===== * El libro //Core Servlets and JavaServer ages// ha sido el usado para los apartados de Servlets y JSP.