¿Cuál es la diferencia entre los dos servidores Web y Tomcat?
Hoy en día, hay cada vez más aplicaciones basadas en Web y el HTML tradicional ya no puede satisfacer las necesidades actuales. Necesitamos una red interactiva, por eso nacieron varios lenguajes de red. Como por ejemplo Asp, Jsp, Php, etc. Por supuesto, estos lenguajes están estrechamente relacionados con los lenguajes tradicionales, como Php basado en C y C++, y Jsp basado en Java. Tomcat presentado en este artículo es una plataforma para Jsp y Servlet.
1: ¿Qué son Jsp y Servlet?
Jsp (JavaServer Page) es un script con código Java incrustado en HTML normal. Este aspecto es el mismo que el de otros lenguajes de script (como Php), pero es diferente de otros lenguajes: otros lenguajes de script interpretan directamente el script por el servidor, mientras que el contenedor Jsp (como Tomcat) lo convierte primero. en un Servlet y luego llama a Javac para convertir la compilación del servlet en archivos de clase. Finalmente, el servidor interpreta el archivo de clase. Entonces, ¿qué es un servlet? Servlet es en realidad una clase especial de Java. Las clases de servlet suelen heredar de la clase HttpServlet. En esta clase se debe implementar al menos la función doGet o doPost, en la que se procesan las solicitudes de los clientes y se devuelven los resultados. Los servlets y Jsp son partes importantes de la arquitectura de Sun. Debido a que está basado en el lenguaje Java, se pueden llamar fácilmente potentes API de Java (como JDBC).
Dos: descripción general de Tomcat
Tomcat es un contenedor Serlvet gratuito y de código abierto. Es el proyecto central del proyecto Apache Foundation Jakarta y está desarrollado conjuntamente por Apache, Sun y otros. empresas y particulares. Gracias a la participación y el soporte de Sun, las últimas especificaciones de Servlet y Jsp siempre pueden reflejarse en Tomcat. Tomcat fue seleccionado como el producto Java más innovador en 2001 por el editor en jefe de la revista javaWorld, lo que demuestra su estatus en la industria.
La última versión de Tomcat es 4.0x. La arquitectura de 4.0x es diferente a la de 3.x, pero ha sido rediseñada. Tomcat4.0x adopta un nuevo contenedor de Servlet: Catalina, que implementa completamente las especificaciones Servlet2.3 y Jsp1.2. Tomcat proporciona versiones para varias plataformas para descargar. Puede descargar su versión del código fuente o la versión binaria desde http://jakarta.apache.org. Debido a la naturaleza multiplataforma de Java, Tomcat basado en Java también es multiplataforma.
A diferencia de las aplicaciones de escritorio tradicionales, la aplicación en Tomcat es un archivo WAR (Web Archive). WAR es un formato de aplicación web propuesto por Sun. Es similar a JAR y también es un paquete comprimido de muchos archivos. Los archivos de este paquete están organizados según una determinada estructura de directorios: normalmente el directorio raíz contiene archivos HTML y Jsp o un directorio que contiene estos dos archivos, y también hay un directorio WEB-INF, que es muy importante. Generalmente hay un archivo web.xml y un directorio de clases en el directorio WEB-INF. web.xml es el archivo de configuración de esta aplicación y el directorio de clases contiene clases de Servlet compiladas y Jsp u otras clases de las que depende el Servlet (como JavaBean). Por lo general, estas clases dependientes también se pueden empaquetar en archivos jar y colocarse en el directorio lib en WEB-INF. Por supuesto, también se pueden colocar en la ruta de clases del sistema, pero eso es inconveniente para la portabilidad y la administración.
En Tomcat, la implementación de aplicaciones es muy sencilla. Solo necesita colocar su WAR en el directorio de aplicaciones web de Tomcat, y Tomcat detectará automáticamente el archivo y lo descomprimirá. Cuando accede al Jsp de esta aplicación en el navegador, suele ser muy lento la primera vez porque Tomcat convierte el Jsp en un archivo Servlet y luego lo compila. Una vez compilado, el acceso será rápido.
Además, Tomcat también proporciona una aplicación: administrador. El acceso a esta aplicación requiere un nombre de usuario y contraseña, los cuales se almacenan en un archivo xml. Con esta aplicación, las aplicaciones se pueden implementar y cancelar de forma remota a través de la web con la ayuda de Ftp. Por supuesto, también puedes utilizar local.
Tomcat no es sólo un contenedor de Servlet, sino que también tiene la función de un servidor web tradicional: procesar páginas HTML. Pero en comparación con Apache, su capacidad para manejar HTML estático no es tan buena como la de Apache. Podemos integrar Tomcat y Apache, dejar que Apache maneje HTML estático y Tomcat maneje Jsp y Servlet. Esta integración sólo requiere modificar los archivos de configuración de Apache y Tomcat.
Además, Tomcat también proporciona soporte de dominio. Los reinos son similares a los grupos en Unix. En Unix, un grupo corresponde a un determinado recurso del sistema y un grupo no puede acceder a recursos que no le pertenecen. Tomcat usa Realm para asignar diferentes aplicaciones (recursos del sistema similares) a diferentes usuarios (similares a grupos). Los usuarios sin permiso no pueden acceder a esta aplicación. Tomcat proporciona tres áreas, 1: área JDBC. Este campo almacena información del usuario en la base de datos y obtiene información del usuario a través de JDBC para su verificación. 2. En el campo JNDI, la información del usuario se almacena en un servidor basado en LDAP y la información del usuario se obtiene a través de JNDI. 3: Campo de memoria, la información del usuario se almacena en un archivo xml, la aplicación de administrador mencionada anteriormente usa este campo al autenticar a los usuarios. Realm nos permite autenticar fácilmente a los clientes que acceden a la aplicación.
En Tomcat4, también puede utilizar la función de escucha de eventos proporcionada por Servlet2.3 para monitorear su aplicación o sesión. Tomcat también ofrece otras funciones, como la integración con SSL para una transmisión segura. Tomcat también proporciona soporte JNDI, que es consistente con el soporte proporcionado por los servidores de aplicaciones J2EE. Dicho esto, queremos presentar la diferencia entre servidores de aplicaciones (como WebLogic) y Tomcat. El servidor de aplicaciones proporciona más funciones J2EE, como EJB, JMS, JAAS, etc. , también soporta Jsp y Servlet. Por otro lado, Tomcat no es tan poderoso y no proporciona EJB ni otros soportes. Pero si se integra con JBoss (un servidor de aplicaciones de código abierto), se pueden realizar todas las funciones de J2EE. Dado que el servidor de aplicaciones tiene funciones Tomcat, ¿sigue siendo necesario Tomcat? De hecho, muchas de nuestras aplicaciones pequeñas y medianas no requieren tecnologías como EJB, Jsp y Servlet. En este momento, usar un servidor de aplicaciones es un desperdicio. Tomcat es breve y conciso, fácil de configurar y puede satisfacer nuestras necesidades. En este caso, naturalmente elegiremos Tomcat.
De hecho, el desarrollo basado en Tomcat es principalmente el desarrollo de Jsp y Servlet. Desarrollar Jsp y Servlets es muy sencillo. Puede utilizar un editor de texto general o IDE y empaquetarlo en un WAR. Otra herramienta que queremos mencionar, Ant, también es un subproyecto de Yakarta y tiene funciones similares a las de Unix. Debe escribir un archivo build.xml y luego ejecutar Ant para completar el trabajo definido en el archivo xml. Esta herramienta es ideal para aplicaciones grandes. Solo necesitamos escribir algunas cosas en xml para compilarlo y empaquetarlo en un WAR. De hecho, Ant está incluido en muchas distribuciones de servidores de aplicaciones. Además, en Jsp1.2, puede utilizar bibliotecas de etiquetas para separar el código Java de los archivos HTML, lo que hace que el mantenimiento de Jsp sea más conveniente.
Tomcat también se puede integrar con otro software para lograr más funciones. Como se mencionó anteriormente, integre con JBoss para desarrollar EJB, integre con Cocoon (otro proyecto de Apache) para desarrollar aplicaciones basadas en XML y OpenJMS JMS.
Hay muchos software que se pueden integrar con Tomcat para desarrollar aplicaciones JMS.
Tres: Outlook
Tomcat es realmente una buena herramienta, no sólo porque es gratuita y potente, sino también porque es abierta.
Hoy en día, la gente presta cada vez más atención al software de código abierto y Linux es un ejemplo exitoso. Las personas ya no se limitan solo a usar software y han prestado atención a la implementación específica del software. Tenemos motivos para creer que Tomcat irá más allá.