La mayoría de nosotros ya sabemos que las aplicaciones normales se pueden construir fácilmente utilizando conceptos básicos de Java. Pero, cuando se trata de desarrollar aplicaciones web, los fundamentos avanzados de Java, como JSP, Servlets, JDBC, etc., puede agregar a las capacidades y características de la aplicación y, por lo tanto, son esenciales para los desarrolladores. A través de este Tutorial de Blog sobre Java Avanzado, le daré una visión completa de los conceptos fundamentales de Java Avanzado.
-
- Introducción a Java Avanzado
- JDBC
- ¿Qué es JDBC?
- Arquitectura JDBC
- Pasos para crear aplicaciones JDBC
- Tipos de controladores JDBC & Conexiones
- Servlets Java
- Introducción a Servlets Java
- Ciclo de vida de Servlets
- Pasos para crear Servlets
- Seguimiento de sesiones en Servlets
- JSP
- Introducción a JSP
- Ciclo de vida de elementos de scripting JSP
También puede ir a través de esta grabación de Tutorial Avanzado de Java donde puede entender los temas en un de manera detallada con ejemplos.
Tutorial Avanzado de Java / J2EE, Servlets Java, JSP, JDBC / Formación de Certificación Java / Edureka
Tutorial avanzado de Java: Introducción a Java avanzado
Java avanzado es todo lo que va más allá de Java Central, lo que es más importante, las API definidas en Java Enterprise Edition, que incluyen programación de Servlets, Servicios Web, la API de persistencia, etc. Es una plataforma de desarrollo de aplicaciones empresariales Web & que básicamente sigue la arquitectura de servidor cliente &.
Tutorial avanzado de Java: Necesidad de Advance Java
A continuación he enumerado algunas de las principales ventajas de Advance Java:
- Advance Java i. e. JEE (Java Enterprise Edition) le ofrece la biblioteca para comprender la arquitectura Cliente-Servidor para el Desarrollo de Aplicaciones Web que Java Central no admite.
- J2EE es un entorno centrado en Java independiente de la plataforma para desarrollar y crear & aplicaciones basadas en Web en línea. También consiste en un conjunto de servicios, API y protocolos, que proporcionan la funcionalidad necesaria para desarrollar aplicaciones basadas en web de varios niveles.
- Podrá trabajar con servidores Web y de aplicaciones como Apache Tomcat, Glassfish, etc. y comprender la comunicación a través del protocolo HTTP. Pero, en Core Java, no es posible.
- Hay muchos frameworks Java avanzados como Spring, JSF, Struts, etc. que le permiten desarrollar aplicaciones web seguras basadas en transacciones para dominios como Comercio electrónico, Banca, Asuntos Legales, Financieros, Atención médica, Inventario, etc.
- Para trabajar y comprender las tecnologías más avanzadas como Hadoop y los servicios en la nube, debe estar preparado con conceptos Java básicos y avanzados.
Espero que haya entendido por qué Java avanzado es esencial. Para su mejor comprensión, he dividido este artículo en tres secciones. Cada una de estas secciones trata sobre uno de los conceptos más importantes de Java avanzado:
- JDBC (Conectividad de base de datos Java)
- Servlets Java
- JSP (Páginas de Servlets Java)
Por lo tanto, ahora comencemos nuestra discusión y entendamos el concepto de Conectividad de base de datos Java, una herramienta útil para interactuar con la base de datos.
Tutorial avanzado de Java: Introducción a JDBC
JDBC es una API Java estándar para una conectividad independiente de bases de datos entre el lenguaje de programación Java y una amplia gama de bases de datos. Esta interfaz de programa de aplicación le permite codificar las instrucciones de solicitud de acceso, en Lenguaje de consulta estructurado (SQL). Luego se pasan al programa que administra la base de datos. Se trata principalmente de abrir una conexión, crear una base de datos SQL, ejecutar consultas SQL y luego llegar a la salida.
Podemos usar la API JDBC para acceder a datos tabulares almacenados en cualquier base de datos relacional. Con la ayuda de la API JDBC, podemos guardar, actualizar, eliminar y recuperar datos de las bases de datos. Es similar a la Conectividad de Base de datos Abierta (ODBC) proporcionada por Microsoft.
Para una mejor comprensión del funcionamiento de JDBC, profundicemos en el tema y entendamos la arquitectura que se encuentra detrás de la conectividad de bases de datos Java.
Tutorial avanzado de Java: Arquitectura JDBC
La API JDBC admite modelos de procesamiento de dos y tres niveles para el acceso a la base de datos, pero en general, la arquitectura JDBC consta de dos capas−
- API DE JDBC: Esto proporciona la conexión del administrador de aplicaciones a JDBC.
- API de controlador JDBC: Admite la conexión de Administrador a Controlador JDBC.
La API JDBC utiliza un administrador de controladores y controladores específicos de base de datos para proporcionar conectividad transparente a bases de datos heterogéneas. El administrador de controladores JDBC garantiza que se utilice el controlador correcto para acceder a cada fuente de datos. El administrador de controladores es capaz de admitir múltiples controladores simultáneos conectados a múltiples bases de datos heterogéneas.
Tutorial avanzado de Java: Componentes comunes de JDBC
La API de JDBC proporciona las siguientes interfaces y clases−
- DriverManager se utiliza para administrar una lista de controladores de base de datos. El primer controlador que reconozca un determinado subproyecto bajo JDBC se utilizará para establecer una conexión de base de datos.
- El controlador es una interfaz que maneja las comunicaciones con el servidor de base de datos. También abstrae los detalles asociados con el trabajo con objetos de controlador.
- La conexión es una interfaz que consiste en todos los métodos necesarios para conectarse a una base de datos. El objeto de conexión representa el contexto de comunicación, es decir, toda la comunicación con la base de datos se realiza únicamente a través del objeto de conexión.
Ahora pasemos al siguiente tema y veamos los pasos necesarios para crear una aplicación JDBC.
Tutorial avanzado de Java: Pasos para crear la aplicación JDBC
Para crear la aplicación JDBC, necesitamos seguir algunos pasos. Veamos qué son.
- Importar los paquetes: Debe incluir los paquetes que contienen las clases JDBC necesarias para la programación de bases de datos. La mayoría de las veces, usando java de importación.SQL.* será suficiente.
- Registrar el controlador JDBC: Aquí tiene que inicializar un controlador para que pueda abrir un canal de comunicación con la base de datos.
- Abrir una conexión: Aquí, puede usar el método getConnection () para crear un objeto de conexión, que representa una conexión física con la base de datos.
- Ejecutar una consulta: Requiere el uso de una instrucción object of type para compilar y enviar una instrucción SQL a la base de datos.
- Extraer datos del conjunto de resultados: Requiere que use el método getXXX() apropiado para recuperar los datos del conjunto de resultados.
- Limpiar el entorno: Requiere cerrar explícitamente todos los recursos de la base de datos en lugar de confiar en la recolección de basura de la JVM.
Ahora que ha visto varios pasos involucrados para crear una aplicación JDBC, veamos un código de ejemplo para crear una base de datos y establecer una conexión.
package Edureka;import java.sql.*;import java.sql.DriverManager;public class Example {// JDBC driver name and database URLstatic final String JDBC_DRIVER = "com.mysql.jdbc.Driver";static final String DB_URL = "jdbc:mysql://localhost/emp";// Database credentialsstatic final String USER = "root";static final String PASS = "";public static void main(String args) {Connection conn = null;Statement stmt = null;try{//STEP 2: Register JDBC driverClass.forName("com.mysql.cj.jdbc.Driver");//STEP 3: Open a connectionSystem.out.println("Connecting to database...");conn = DriverManager.getConnection(DB_URL,"root","");//STEP 4: Execute a querySystem.out.println("Creating statement...");stmt = conn.createStatement();String sql;sql = "SELECT id, first, last, age FROM Employees";ResultSet rs = stmt.executeQuery(sql);//STEP 5: Extract data from result setwhile(rs.next()){//Retrieve by column nameint id = rs.getInt("id");int age = rs.getInt("age");String first = rs.getString("first");String last = rs.getString("last");//Display valuesSystem.out.print("ID: " + id);System.out.print(", Age: " + age);System.out.print(", First: " + first);System.out.println(", Last: " + last);}//STEP 6: Clean-up environmentrs.close();stmt.close();conn.close();}catch(SQLException se){//Handle errors for JDBCse.printStackTrace();}catch(Exception e){//Handle errors for Class.forNamee.printStackTrace();}finally{//finally block used to close resourcestry{if(stmt!=null)stmt.close()}catch(SQLException se2){}// nothing can be donetry{if(conn!=null)conn.close();}catch(SQLException se){se.printStackTrace();}//end finally try}//end trySystem.out.println("Goodbye!");}//end main} // end Example
El código anterior crea una tabla en su base de datos de host local. Para insertar los valores en la base de datos creada, puede consultar el siguiente código. Escribiré el código solo para el paso 4. El resto del código sigue siendo el mismo que el anterior.
//STEP 4: Execute a querySystem.out.println("Creating table in given database...");stmt = conn.createStatement();String sql = "CREATE TABLE EMPLOYEES " +"(id INTEGER not NULL, " +" first VARCHAR(255), " +" last VARCHAR(255), " +" age INTEGER, " +" PRIMARY KEY ( id ))";stmt.executeUpdate(sql);System.out.println("Created table in given database...");System.out.println("Inserting records into the table...");stmt =conn.createStatement();String sql ="INSERT INTO Employees VALUES (100, 'Kriss', 'Kurian', 18)";stmt.executeUpdate(sql);sql = "INSERT INTO Employees VALUES (101, 'Enrique', 'John', 25)";stmt.executeUpdate(sql);sql= "INSERT INTO Employees (102, 'Taylor', 'Swift', 30)";stmt.executeUpdate(sql);sql= "INSERT INTO Employees VALUES(103, 'Linkin', 'Park', 28)";stmt.executeUpdate(sql);System.out.println("Inserted records into the table...");
Así es como puede establecer una conexión con la base de datos e insertar valores en las tablas. Ahora vayamos más allá y entendamos varios Tipos de Controladores JDBC
Tutorial avanzado de Java: Tipos de controladores JDBC
Los controladores JDBC implementan las interfaces definidas en la API de JDBC para interactuar con su servidor de base de datos. Esencialmente, un controlador JDBC hace posible hacer tres cosas:
1. Establecer una conexión con una fuente de datos.
2. Envíe consultas y declaraciones de actualización a la fuente de datos.
3. Procesa los resultados.
Por ejemplo, el uso de controladores JDBC le permite abrir una conexión de base de datos para interactuar con ella mediante el envío de comandos SQL o de base de datos.
Hay 4 tipos de controladores, a saber:
Tipo 1: JDBC-ODBC Bridge Diver
En el controlador de tipo 1, un puente JDBC accede a los controladores ODBC instalados en cada máquina cliente. Además, ODBC configura el Nombre de fuente de datos (DSN) que representa la base de datos de destino.
Cuando se lanzó Java por primera vez, este era un controlador útil porque la mayoría de las bases de datos solo admitían acceso ODBC, pero ahora este tipo de controlador se recomienda solo para uso experimental o cuando no hay otra alternativa disponible.
Tipo 2: API nativa de JDBC
En un controlador de tipo 2, las llamadas a la API de JDBC se convierten en llamadas a la API de C/C++ nativas, que son exclusivas de la base de datos. Estos controladores suelen ser proporcionados por los proveedores de bases de datos y se utilizan de la misma manera que el puente JDBC-ODBC. El controlador específico del proveedor debe estar instalado en cada equipo cliente.
El controlador de Interfaz de llamadas de Oracle (OCI) es un ejemplo de controlador de tipo 2.
Tipo 3: JDBC-Net Java puro
En un controlador de tipo 3, se utiliza un enfoque de tres niveles para acceder a las bases de datos. Los clientes JDBC utilizan sockets de red estándar para comunicarse con un servidor de aplicaciones de middleware. La información del socket es luego traducida por el servidor de aplicaciones de middleware al formato de llamada requerido por el DBMS y reenviada al servidor de base de datos.
Este tipo de controlador es extremadamente flexible, ya que no requiere ningún código instalado en el cliente y un solo controlador puede proporcionar acceso a múltiples bases de datos. Puede pensar en el servidor de aplicaciones como un «proxy» JDBC, lo que significa que realiza llamadas a la aplicación cliente. Como resultado, necesita algún conocimiento de la configuración del servidor de aplicaciones para usar eficazmente este tipo de controlador. El servidor de aplicaciones puede usar controladores de tipo 1, 2 o 4 para comunicarse con la base de datos.
Tipo 4: Java 100% puro
En un controlador de tipo 4, un controlador basado en Java puro se comunica directamente con la base de datos del proveedor a través de una conexión de socket. Este es el controlador de mayor rendimiento disponible para la base de datos y generalmente lo proporciona el propio proveedor.
Este tipo de controlador es extremadamente flexible, no tiene que instalar software especial en el cliente o servidor. Además, estos controladores se pueden descargar dinámicamente.
El controlador Conector/J de MySQL es un controlador de tipo 4. Debido a la naturaleza propietaria de sus protocolos de red, los proveedores de bases de datos suelen suministrar controladores de tipo 4.
Suscríbete a nuestro canal de youtube para obtener nuevas actualizaciones..!
Así que aquí viene la pregunta, ¿qué controlador debe usarse?
- Si accede a un tipo de base de datos, como Oracle, Sybase o IBM, el tipo de controlador preferido es 4.
- Si su aplicación Java está accediendo a varios tipos de bases de datos al mismo tiempo, el controlador preferido es el tipo 3.
- Los controladores de tipo 2 son útiles en situaciones en las que un controlador de tipo 3 o tipo 4 aún no está disponible para su base de datos.
- El controlador de tipo 1 no se considera un controlador de nivel de implementación y generalmente se usa solo con fines de desarrollo y pruebas.
Ahora, pasemos al último tema de JDBC y entendamos varios tipos de conexiones.
Tutorial avanzado de Java: Conexiones JDBC
- Importar paquetes JDBC: Agregue instrucciones de importación a su programa Java para importar las clases requeridas en su código Java.
- Registrar controlador JDBC: Este paso hace que la JVM cargue la implementación de controlador deseada en la memoria para que pueda cumplir con sus solicitudes JDBC. Hay 2 enfoques para registrar un conductor.
- El enfoque más común para registrar un controlador es usar el método forName()de Java para cargar dinámicamente el archivo de clase del controlador en la memoria, que lo registra automáticamente. Este método es preferible porque le permite hacer que el registro del controlador sea configurable y portátil. Consulte el siguiente código.
try {Class.forName("oracle.jdbc.driver.OracleDriver");}catch(ClassNotFoundException ex) {System.out.println("Error: unable to load driver class!");System.exit(1);}
- El segundo enfoque que puede usar para registrar un controlador es usar el método static registerDriver ().
try { Driver myDriver = new oracle.jdbc.driver.OracleDriver(); DriverManager.registerDriver( myDriver ); }catch(ClassNotFoundException ex){ System.out.println("Error: unable to load driver class!");System.exit(1);}
- El enfoque más común para registrar un controlador es usar el método forName()de Java para cargar dinámicamente el archivo de clase del controlador en la memoria, que lo registra automáticamente. Este método es preferible porque le permite hacer que el registro del controlador sea configurable y portátil. Consulte el siguiente código.
Debe usar el método registerDriver () si está utilizando una JVM no compatible con JDK, como la proporcionada por Microsoft.
- Formulación de URL de base de datos: Esto es para crear una dirección con el formato adecuado que apunte a la base de datos a la que desea conectarse. Después de cargar el controlador, puede establecer una conexión mediante el Administrador de controladores.Método getConnection (). Manejador.Los métodos getConnection() son –
- getConnection (Url de cadena)
- getConnection(Url de cadena, prop de propiedades)
- getConnection(Url de cadena, usuario de cadena, contraseña de cadena)
Aquí cada formulario requiere una URL de base de datos. Una URL de base de datos es una dirección que apunta a la base de datos.
A table lists down the popular JDBC driver names and database URL.
RDBMS | JDBC Driver Name | URL |
1. MYSQL | com.mysql.jdbc.Driver | jdbc:mysql://hostname/ databaseName |
2. Oracle | oracle.jdbc.driver.OracleDriver | jdbc:oracle:thin:@hostname:port Number:databaseName |
3. Sybase | com.Sybase.jdbc.SybDriver | jdbc:sybase:Tds:hostname: número de puerto / Nombre de base de datos |
- Crear un objeto de conexión
Simplemente puede crear o abrir una conexión utilizando la url de la base de datos, el nombre de usuario y la contraseña, así como el objeto properties. Un objeto Properties contiene un conjunto de pares palabra clave-valor. Se utiliza para pasar las propiedades del controlador al controlador durante una llamada al método getConnection ().
- Cerrar
Al final de su programa JDBC, tenemos que cerrar todas las conexiones de base de datos para finalizar cada sesión de base de datos. Sin embargo, si se olvida, el recolector de basura de Java cerrará la conexión cuando limpie los objetos obsoletos.
conn.close();// Used to close the connection
Todo se trataba de Conectividad de base de datos Java. Si desea saber más sobre JDBC, puede remitir estas preguntas de la entrevista. Ahora sigue adelante y aprende Servlets.
Tutorial avanzado de Java: Introducción a Servlets
Un servlet es una clase de lenguaje de programación Java que se utiliza para ampliar las capacidades de los servidores que alojan aplicaciones a las que se accede mediante un modelo de programación de solicitud y respuesta. Aunque los servlets pueden responder a cualquier tipo de solicitud, se utilizan comúnmente para ampliar las aplicaciones alojadas en servidores web.
Servlet se puede describir de la siguiente manera:
-
- Servlet es una tecnología que se utiliza para crear una aplicación web.
- Es una API que proporciona muchas interfaces y clases, incluida documentación.
- Servlet es una interfaz que debe implementarse para crear cualquier Servlet.
- También es una clase que amplía las capacidades de los servidores y responde a las solicitudes entrantes. Puede responder a cualquier solicitud.
- Servlet es una tecnología que se utiliza para crear una aplicación web.
Tutorial avanzado de Java: Ciclo de vida del Servlet
El ciclo de vida completo de un Servlet es administrado por el contenedor de Servlet que utiliza javax.servlet.Interfaz de Servlet para comprender el objeto Servlet y gestionarlo.
Etapas del ciclo de vida del Servlet: El ciclo de vida del Servlet pasa principalmente por cuatro etapas,
- Cargando un Servlet.
- Inicializar el Servlet.
- Gestión de solicitudes
- Destruir el Servlet.
Veamos en detalle cada una de estas etapas:
- Carga de un Servlet: La primera etapa del ciclo de vida del Servlet consiste en cargar e inicializar el Servlet por el contenedor del Servlet. El contenedor Web o el contenedor Servlet puede cargar el Servlet en cualquiera de las dos etapas siguientes :
- Inicializar el contexto, al configurar el Servlet con un valor entero cero o positivo.
- Si el Servlet no está precediendo a la etapa, puede retrasar el proceso de carga hasta que el contenedor Web determine que este Servlet es necesario para atender una solicitud.
- Inicializar un Servlet: Después de que el Servlet se instancie con éxito, el contenedor de Servlet inicializa el objeto Servlet instanciado. El contenedor inicializa el objeto Servlet invocando el método init(ServletConfig) que acepta la referencia de objeto ServletConfig como parámetro.
- Solicitud de manejo: Después de la inicialización, la instancia de Servlet está lista para servir las solicitudes del cliente. El contenedor de Servlet realiza las siguientes operaciones cuando la instancia de Servlet se encuentra para dar servicio a una solicitud:
- Crea el ServletRequest y el ServletResponse. En este caso, si se trata de una solicitud HTTP, el contenedor Web crea objetos HttpServletRequest y HttpServletResponse que son subtipos de los objetos ServletRequest y ServletResponse respectivamente.
- Destruir un Servlet: Cuando un contenedor de Servlet decide destruir el Servlet, realiza las siguientes operaciones,
- Permite que todos los subprocesos que se ejecutan actualmente en el método de servicio de la instancia de Servlet completen sus trabajos y se liberen.
- Después de que los subprocesos en ejecución hayan completado sus trabajos, el contenedor Servlet llama al método destroy() en la instancia Servlet.
Después de ejecutar el método destroy (), el contenedor de Servlet libera todas las referencias de esta instancia de Servlet para que sea elegible para la recolección de basura.
Ahora que ha entendido los conceptos básicos de un servlet, vayamos más allá y entendamos cuáles son los pasos necesarios para crear una aplicación de Servlet.
Tutorial avanzado de Java: Pasos para crear Servlet
- Crear una estructura de directorios
- Crear un Servlet
- Compilar el Servlet
- Agregar asignaciones a web.archivo xml
- Inicie el servidor e implemente el proyecto
- Acceda al servlet
Ahora, basado en los pasos anteriores, escribamos un programa y entendamos cómo funciona servlet.
Paso 1: Para ejecutar un programa servlet, debemos tener instalado y configurado el servidor Apache tomcat. Una vez que el servidor está configurado, puede comenzar con su programa.
Paso 2: Para un programa servlet, necesita 3 archivos-index.archivo html, archivo de clase Java y web.archivo xml. El primer paso es crear un Proyecto Web Dinámico y luego continuar
Paso 3: Ahora veamos cómo agregar 2 números usando servlets y mostrar la salida en el navegador.
Primero, escribiré índice.archivo html
<!DOCTYPE html><html><body><form action ="add"> Enter 1st number: <input type="text" name="num1"> Enter 2nd number: <input type="text" name="num2"><input type ="submit"> </form></body></html>
El programa anterior crea un formulario para ingresar los números para la operación de adición.
Paso 4: Ahora, sin el archivo de clase Java, no puede realizar adiciones en 2 números. Escribamos un archivo de clase.
import java.io.IOException;import java.io.PrintWriter;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Add extends HttpServlet{ public void service(HttpServletRequest req, HttpServletResponse res) throws IOException { int i = Integer.parseInt(req.getParameter("num1")); int j = Integer.parseInt(req.getParameter("num2"); int k= i+j; PrintWriter out = res.getWriter(); out.println("Result is"+k); }}
Paso 5: Después de escribir el archivo de clase Java, el último paso es agregar asignaciones a la web.archivo xml. Veamos cómo hacerlo.
Paso 6: web.el archivo xml estará presente en la carpeta WEB-INF de su contenido web. Si no está presente, puede hacer clic en Descriptor de implementación y hacer clic en Generar Stub de Descriptor de implementación.
Paso 7: Después de eso, puede continuar y agregarle las asignaciones.
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns=<"http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"</em> version=<em>"3.0"</em>> <display-name>Basic</display-name> <servlet> <servlet-name>Addition</servlet-name> <servlet-class>edureka.Add</servlet-class> </servlet> <servlet-mapping> <servlet-name>Addition</servlet-name> <url-pattern>/add</url-pattern></servlet-mapping><welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list></web-app>
Paso 8: Después de todo esto, puede ejecutar el programa iniciando el servidor. Obtendrá la salida deseada en el navegador.
Básicamente, así es como se debe configurar servlet. Ahora vayamos más allá y entendamos el concepto de seguimiento de sesiones.
Seguimiento de sesión
Sesión simplemente significa un intervalo de tiempo particular. Y el seguimiento de sesiones es una forma de mantener el estado (los datos) de un usuario. También se conoce como gestión de sesiones en servlet. Sabemos que el protocolo Http es sin estado, por lo que necesitamos mantener el estado usando técnicas de seguimiento de sesiones. Cada vez que el usuario solicita al servidor, el servidor trata la solicitud como la nueva solicitud. Así que necesitamos mantener el estado de un usuario para reconocer a un usuario en particular.
Puede ver en la figura cuando envía una solicitud, se considera una nueva solicitud.
Para reconocer al usuario en particular, necesitamos seguimiento de sesiones. Así que todo se trataba de Servlets.
Ahora, vamos a sumergirnos en la última sección de nuestro blog y entender qué es JSP.
Tutorial avanzado de Java: Páginas de servidor Java
JSP o Páginas de servidor Java es una tecnología que se utiliza para crear aplicaciones web al igual que la tecnología Servlet. Es una extensión de Servlet, ya que proporciona más funcionalidad que servlet, como lenguaje de expresión, JSTL, etc. Una página JSP consta de etiquetas HTML y etiquetas JSP. Las páginas JSP son más fáciles de mantener que Servlet porque podemos separar el diseño y el desarrollo. Proporciona algunas características adicionales, como Lenguaje de expresión, Etiquetas personalizadas, etc.
Ahora veamos varias características de JSP con la ayuda de la siguiente figura.
- Portable: Las etiquetas JSP se procesarán y ejecutarán en el contenedor web del lado del servidor, de modo que sean independientes del navegador y del servidor J2EE.
- Potente: JSP consiste en código de bytes para que todas las características de Java sean aplicables en el caso de JSP, como robustas, dinámicas, seguras e independientes de la plataforma.
- Flexible: Permite definir etiquetas personalizadas para que el desarrollador pueda rellenar etiquetas conferibles para usar cualquier tipo de etiquetas de marcado basadas en marcos en JSP.
- Desarrollo rápido: Si se modifica la página de JSP, no necesitamos recompilar y redistribuir el proyecto. El código de Servlet debe actualizarse y recompilarse si tenemos que cambiar el aspecto de la aplicación.
- Seguimiento del Usuario: JSP nos permite rastrear las selecciones realizadas por el usuario durante la interacción del usuario con el sitio web manteniendo la información en la sesión o las cookies
- Fácil: JSP es fácil de aprender, fácil de entender y fácil de desarrollar. Los JSP son más convenientes de escribir que los Servlets porque le permiten incrustar código Java directamente en sus páginas HTML.
Ahora que ha entendido qué es JSP, veamos cómo JSP y Servlets difieren entre sí y por qué JSP es mejor que Servlets con la ayuda de la tabla siguiente.
Servlets JSP | |
Extensión a Servlet | No es una extensión a servlet |
Fácil de mantener | Poco complicado |
No es necesario recompilar o redistribuir | El código debe recompilarse |
Menos código que un servlet | Más código en comparación con JSP |
Ahora profundicemos en las Páginas del Servidor Java y entendamos el Ciclo de vida de JSP.
Tutorial avanzado de Java: Ciclo de vida de JSP
Las páginas de JSP siguen estas fases:
- Traducción de la página JSP
- Compilación de la página JSP
- Carga de clases (el cargador de clases carga el archivo de clase)
- Instanciación (Se crea el objeto del Servlet generado)
- Inicialización ( el contenedor invoca jspInit())
- Procesamiento de solicitudes ( el contenedor invoca _jspService())
- Destruir ( el contenedor invoca jspDestroy())
Como se muestra en el diagrama anterior, una página de JSP se traduce a Servlet con la ayuda del traductor de JSP. Y luego, JSP translator es una parte del servidor web que es responsable de traducir la página JSP a Servlet. Después de eso, la página de Servlet es compilada por el compilador y se convierte en el archivo de clase. Además, todos los procesos que ocurren en Servlet se realizan en JSP más tarde, como la inicialización, la confirmación de respuesta al navegador y la destrucción.
Tutorial avanzado de Java: Elementos de Scripting JSP:
Los elementos de scripting proporcionan la capacidad de insertar código java dentro del JSP. Hay tres tipos de elementos de scripting:
- etiqueta de scriptlet: Se utiliza una etiqueta de scriptlet para ejecutar código fuente Java en JSP.
La sintaxis es: < % código fuente java%> - etiqueta de expresión: El código colocado dentro de la etiqueta de expresión JSP se escribe en el flujo de salida de la respuesta. Así que no necesitas escribir.print () para escribir datos. Se utiliza principalmente para imprimir los valores de variable o método.
Sintaxis: < % = instrucción %> - etiqueta de declaración: La etiqueta de declaración JSP se utiliza para declarar campos y métodos. El código escrito dentro de la etiqueta de declaración JSP se coloca fuera del método service () de un servlet generado automáticamente. Por lo que no obtiene memoria en cada solicitud.
Sintaxis: <%! declaración de campo o método %>
Si desea saber más sobre JSP, puede consultar estas preguntas de la entrevista.
Esto nos lleva al final de nuestro blog sobre Tutorial Avanzado de Java. Espero que hayas encontrado este blog informativo y con valor añadido a tu conocimiento.
Echa un vistazo a la Formación de Certificación Java de Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 estudiantes satisfechos repartidos por todo el mundo. El curso de formación y certificación Java J2EE y SOA de Edureka está diseñado para estudiantes y profesionales que desean ser desarrolladores de Java. El curso está diseñado para darle una ventaja en la programación Java y capacitarlo para conceptos Java básicos y avanzados junto con varios marcos de trabajo Java como Hibernate & Spring.