¿Es fácil aprender jsp? ¿Es el lenguaje o las herramientas de desarrollo?
JSP (JavaServer Pages) es un estándar tecnológico de páginas web dinámicas iniciado por Sun Microsystems y establecido con la participación de muchas empresas. La tecnología JSP es algo similar a la tecnología ASP. Inserta segmentos de programas Java (Scriptlet) y etiquetas JSP (etiquetas) en archivos HTML de páginas web tradicionales (*.htm, *.html) para formar archivos JSP (*.jsp).
Las aplicaciones web desarrolladas con JSP son multiplataforma y pueden ejecutarse tanto en Linux como en otros sistemas operativos.
La tecnología JSP utiliza el lenguaje de programación Java para escribir etiquetas y scriptlets similares a XML para encapsular la lógica de procesamiento para generar páginas web dinámicas. Las páginas web también pueden acceder a la lógica de la aplicación de los recursos que existen en el servidor a través de etiquetas y scriptlets. JSP separa la lógica de la página web del diseño y visualización de la página web, admite el diseño basado en componentes reutilizables y hace que el desarrollo de aplicaciones basadas en web sea rápido y sencillo.
Cuando el servidor web encuentra una solicitud para acceder a una página web JSP, primero ejecuta el segmento del programa y luego devuelve el resultado de la ejecución al cliente junto con el código HTML en el archivo JSP. Los segmentos del programa Java insertados pueden operar bases de datos, redirigir páginas web, etc. para lograr las funciones necesarias para crear páginas web dinámicas.
JSP, al igual que Java Servlet, se ejecuta en el lado del servidor. Normalmente lo que se devuelve al cliente es un texto HTML, por lo que el cliente puede navegar por él siempre que tenga un navegador.
La última versión de la especificación JSP 1.0 se lanzó en septiembre de 1999 y la especificación 1.1 se lanzó en diciembre. La más nueva actualmente es la especificación JSP1.2, y también se ha publicado el borrador para comentarios sobre la especificación JSP2.0.
Las páginas JSP se componen de código HTML y código Java incrustado en ellas. El servidor procesa estos códigos Java después de que el cliente solicita la página y luego devuelve la página HTML generada al navegador del cliente. Java Servlet es la base técnica de JSP y el desarrollo de aplicaciones web a gran escala requiere la cooperación de Java Servlet y JSP. JSP tiene todas las características de la tecnología Java que es simple y fácil de usar, completamente orientado a objetos, independiente de la plataforma, seguro y confiable, y principalmente orientado a Internet.
La fortaleza de la tecnología JSP
[Editar este párrafo]
(1) Escribe una vez y ejecuta en todas partes. Java es mejor que PHP en este momento y no se requieren cambios de código excepto en el sistema.
(2) El soporte multiplataforma del sistema. Básicamente, puede desarrollar en cualquier entorno en todas las plataformas, implementar el sistema en cualquier entorno y expandirlo en cualquier entorno. Las limitaciones en comparación con ASP/PHP son obvias.
(3) Potente escalabilidad. Desde solo un pequeño archivo Jar para ejecutar Servlet/JSP, hasta múltiples servidores para agrupación y equilibrio de carga, hasta múltiples aplicaciones para procesamiento de transacciones y mensajes, desde un servidor hasta innumerables servidores, Java ha demostrado una enorme vitalidad.
(4) Soporte de herramientas de desarrollo potente y diversificada. Esto es muy similar a ASP. Java ya tiene muchas herramientas de desarrollo excelentes, muchas de las cuales están disponibles de forma gratuita y muchas de ellas pueden ejecutarse sin problemas en múltiples plataformas.
Debilidades de la tecnología JSP
[Editar este párrafo]
(1) Al igual que ASP, algunas de las ventajas de Java son precisamente sus problemas fatales. Es precisamente debido a la funcionalidad multiplataforma y la extrema escalabilidad que la complejidad del producto aumenta considerablemente.
(2) La velocidad de ejecución de Java se logra mediante el uso de memoria residente de clase, por lo que la memoria que utiliza en algunos casos es de hecho la "relación rendimiento-precio más baja" en comparación con el número de usuarios. Por otro lado, también requiere espacio en el disco duro para almacenar una serie de archivos .java y .class, así como los archivos de versión correspondientes.
Nueve objetos integrados de JSP:
[Editar este párrafo]
solicitud, respuesta, salida, sesión, aplicación, configuración, contexto de página, página, excepción.
1. Objeto de solicitud:
Este objeto encapsula la información enviada por el usuario. La información encapsulada se puede obtener llamando al método correspondiente del objeto. La información enviada por el usuario se puede obtener utilizando este objeto.
2. Objeto de respuesta:
Realizar una respuesta dinámica a la solicitud del cliente y enviar datos al cliente.
3. objeto de sesión
1. ¿Qué es la sesión? El objeto de sesión es un objeto integrado JSP. Se crea automáticamente cuando se carga la primera página JSP para completar la gestión de la sesión.
Comienza cuando un cliente abre un navegador y se conecta al servidor, y finaliza cuando el cliente cierra el navegador y abandona el servidor. Cuando un cliente accede a un servidor, puede conectarse repetidamente entre varias páginas del servidor y actualizar una página repetidamente. El servidor debe saber que se trata del mismo cliente de alguna manera, lo que requiere un objeto de sesión.
2. ID del objeto de sesión: cuando un cliente accede a una página JSP en el servidor por primera vez, el motor JSP genera un objeto de sesión y asigna un número de ID de tipo Cadena. El motor JSP también envía este número de ID al cliente y lo almacena. en una cookie, de modo que se establezca una correspondencia uno a uno entre el objeto de sesión y el cliente. Cuando el cliente visita otras páginas conectadas al servidor, no se asigna ningún nuevo objeto de sesión al cliente. No es hasta que el cliente cierra el navegador que el objeto de sesión del cliente se cancela en el lado del servidor y la correspondencia de la sesión con el cliente desaparece. . Cuando el cliente vuelve a abrir el navegador y se conecta al servidor, el servidor crea un nuevo objeto de sesión para el cliente.
Cuatro. objeto de aplicación
1. Qué es la aplicación:
Este objeto de aplicación se genera después de que se inicia el servidor. Cuando el cliente navega entre varias páginas del sitio web visitado, el objeto de la aplicación es el mismo hasta que se apaga el servidor. Pero a diferencia de la sesión, el objeto de aplicación de todos los clientes es el mismo, es decir, todos los clientes comparten este objeto de aplicación integrado.
2. Métodos comunes de objetos de aplicación:
(1) setAttribute public void (clave de cadena, objeto obj): agregue el objeto obj especificado por el parámetro Objeto al objeto de la aplicación y especifique una clave de índice para el objeto agregado. .
(2) objeto público getAttribute (clave de cadena): obtiene el objeto que contiene la clave en el objeto de la aplicación.
5. objeto de salida
El objeto de salida es un flujo de salida que se utiliza para enviar datos al cliente. El objeto out se utiliza para la salida de diversos datos.
Seis páginas java.lang.Object
corresponden a esta palabra clave. La propia página web JSP
El objeto de la página es una instancia de la clase Servlet después de la conversión de la página actual. En el código de la clase de servlet convertida, puede ver esta relación:
Página de objeto = esto;
En las páginas JSP, los objetos de página rara vez se utilizan.
Seven?config
Instancia de javax.servlet, que representa la información de configuración del JSP.
Los métodos más utilizados incluyen getInitPararneter(String paramNarne) y getInitPararneternarnes(). De hecho, normalmente no es necesario configurar las páginas JSP, por lo que no hay información de configuración. Por tanto, este objeto es más válido en Servlets.
¿Ocho? excepción
Instancias de java.lang.Throwable, que representan excepciones y errores en otras páginas. Este objeto solo se puede utilizar cuando la página es una página de manejo de errores, es decir, cuando el atributo isErrorPage de la página de directiva de compilación es verdadero. Los métodos más utilizados incluyen getMessageO y printStackTraceO, etc.
Nueve? pageContext
Instancia de javax.servlet.jsp.PageContext. Este objeto representa el contexto de la página JSP. Puede utilizar este objeto para acceder a los datos compartidos en la página. Los métodos más utilizados incluyen getServletContextO y getServletConfigO.
//Utilice pageContext para establecer atributos, que están dentro del alcance de la página de forma predeterminada
pageContext ("página", "hola");
// Utilice la solicitud para establecer atributos, que están en el alcance de la solicitud de forma predeterminada
request.setAttribute ("request", "hello");
//Utilice pageContext para establecer atributos en el alcance de la solicitud
pageContext.setAttribute("request2", "hello", pageContext.REQUEST_SCOPE);
// Utilice la sesión para establecer atributos en el alcance de la sesión
session .setAttribute("session", "hello"l;
//Utilice pageContext para establecer atributos en el alcance de la sesión
pageContext.setAttribute("session2", " hello" , pageContext .SESSION_SCOPE);
//Utilice la aplicación para establecer atributos en el alcance de la aplicación
application. setAttribute ("app", "hello");
/ /Utilice pageContext para establecer atributos en el alcance de la aplicación
pageContext.setAttribute("app2", "hello", pageContext.APPL CATION_SCOPE);
Desarrollo dinámico de sitios web JSP tecnología
p>[Editar este párrafo]
Las primeras tecnologías de desarrollo de sitios web dinámicos utilizaban la interfaz CGI-BIN. Los desarrolladores escribieron programas separados y aplicaciones basadas en web relacionadas con la interfaz, esta última. Llamar al primero a través de un servidor web. Esta técnica de desarrollo tiene serios problemas de escalabilidad: cada nuevo programa CGI requiere un nuevo proceso en el servidor, y estos procesos se agotarán si varios usuarios acceden al programa al mismo tiempo hasta que todos los recursos disponibles del servidor web. falla
Para superar esta deficiencia, Microsoft propuso la tecnología Active Server Pages (ASP), que utiliza "complementos" y API para simplificar el desarrollo de aplicaciones web. En comparación con CGI, las ventajas de ASP son que puede incluir etiquetas HTML, acceder directamente a bases de datos y utilizar controles ActiveX infinitamente ampliables, por lo que es más flexible en la programación.
Sin embargo, esta tecnología se limita básicamente a la plataforma del sistema operativo de Microsoft y el principal entorno de trabajo es la estructura de aplicaciones IIS de Microsoft, por lo que la tecnología ASP no puede implementar fácilmente el desarrollo de programas de servidores web multiplataforma.
Preprocesador de hipertexto (Preprocesador de hipertexto), es decir, la tecnología de desarrollo de sitios web dinámicos PHP es similar a ASP. También es un lenguaje de secuencias de comandos del lado del servidor integrado en documentos HTML. La mayor parte de su sintaxis es similar a lenguajes como C, Java y Perl, y ha formado su propio estilo único. Los programadores web que utilizan este lenguaje pueden desarrollar rápidamente páginas web dinámicas. PHP puede ejecutarse en la mayoría de las plataformas Unix, GUN/Linux y Microsoft Windows. Las principales ventajas de PHP son: fácil instalación y proceso de aprendizaje simple; conexión conveniente a la base de datos y gran compatibilidad; se puede realizar una programación orientada a objetos, etc. Sin embargo, PHP también tiene algunas debilidades. La razón principal es que PHP es un lenguaje interpretado, no admite estructuras de subprocesos múltiples y tiene un soporte limitado para plataformas y bases de datos conectadas. En particular, existen deficiencias inherentes en los estándares admitidos. Difícil para algunas aplicaciones de comercio electrónico, PHP no es adecuado.
También existen algunas tecnologías, como la tecnología Java Servlets, que pueden escribir fácilmente código interactivo del lado del servidor en lenguaje Java. Un Java Servlets es un programa basado en tecnología Java que se ejecuta en el lado del servidor (a diferencia de los Applets, que se ejecutan en el lado del navegador). Los desarrolladores escriben dichos servlets Java para recibir solicitudes HTTP desde un navegador web, generan dinámicamente una respuesta (lo que puede requerir consultar una base de datos para completar dicha solicitud) y luego envían la respuesta que contiene un documento HTML o XML al navegador. Esta técnica es muy difícil de dominar fácilmente para los diseñadores de páginas comunes. Con este enfoque, toda la página web debe realizarse en Servlets Java. Si un desarrollador o administrador web desea ajustar la visualización de la página, debe editar y recompilar los servlets Java.
Sun Microsystems Inc. ha integrado y equilibrado el soporte existente para el entorno de programación Java (por ejemplo, Java Servlets y JavaBeans). Las tecnologías y herramientas compatibles han dado como resultado un nuevo método de desarrollo de aplicaciones basadas en Web: JavaServer Pages. tecnología (JSP). Esta tecnología de desarrollo de sitios web dinámicos tiene principalmente las siguientes características:
Puede ejecutarse en cualquier servidor web o de aplicaciones
Separa la lógica de la aplicación y la visualización de la página
Permite una visualización rápida; desarrollo y pruebas;
Simplifica el proceso de desarrollo de aplicaciones interactivas basadas en Web.
Métodos técnicos de JSP
Para desarrollar rápida y fácilmente sitios web dinámicos, JSP se ha mejorado en los siguientes aspectos, convirtiéndolo en la primera opción para crear rápidamente sitios web dinámicos multiplataforma. plan.
1. Generación y visualización de contenido por separado
Utilizando la tecnología JSP, los desarrolladores de páginas web pueden usar etiquetas HTML o XML para diseñar y formatear la página final, y usar etiquetas JSP o pequeños scripts para generar contenido dinámico en la página (contenido que cambia según las solicitudes, como solicitar información de la cuenta o el precio de una botella de vino específica, etc.). La lógica para generar contenido está encapsulada en logotipos y componentes JavaBeans y empaquetada en scripts, todos los cuales se ejecutan en el lado del servidor. Debido a que la lógica central está encapsulada en marcado y JavaBeans, los administradores web y los diseñadores de páginas pueden editar y utilizar páginas JSP sin afectar la generación de contenido.
En el lado del servidor, el motor JSP interpreta etiquetas y scripts JSP, genera el contenido solicitado (por ejemplo, accediendo a componentes JavaBeans, utilizando tecnología JDBC para acceder a bases de datos o incluir archivos) y convierte los resultados en La página HTML (o XML) se devuelve al navegador. Esto ayuda a los autores a proteger su código y al mismo tiempo garantiza una usabilidad total con cualquier navegador web basado en HTML.
2. Componentes reutilizables
La mayoría de las páginas JSP se basan en componentes multiplataforma reutilizables (componentes JavaBeans o Enterprise JavaBeans) para realizar tareas complejas requeridas por la aplicación. Los desarrolladores pueden compartir e intercambiar componentes que realizan operaciones comunes o ponerlos a disposición de un grupo más amplio de usuarios y clientes. Un enfoque basado en componentes acelera el proceso de desarrollo general y permite a las organizaciones aprovechar sus habilidades existentes y sus esfuerzos de desarrollo para optimizar los resultados.
3. Utiliza logotipos
No todos los desarrolladores de páginas web son programadores familiarizados con los lenguajes de scripting. La tecnología JSP encapsula muchas de las características necesarias para la generación de contenido dinámico en etiquetas XML relacionadas con JSP y fáciles de usar. Las etiquetas JSP estándar pueden acceder y crear instancias de componentes JavaBeans, establecer o recuperar propiedades de componentes, descargar subprogramas y realizar funciones que son más difíciles y requieren más tiempo de codificar utilizando otros métodos.
4. Adáptese a la plataforma
Casi todas las plataformas admiten Java y JSP + JavaBeans se pueden utilizar en casi todas las plataformas sin obstáculos. Cuando se portan de una plataforma a otra, JSP y JavaBeans ni siquiera necesitan ser recompilados, porque el código de bytes de Java es estándar e independiente de la plataforma.
5. Conexión a la base de datos
La tecnología para conectarse a la base de datos en Java es JDBC. El programa Java se conecta a la base de datos a través del controlador JDBC para realizar operaciones como consultar y extraer. datos. Sun también ha desarrollado un puente JDBC-ODBC. Utilizando esta tecnología, los programas Java pueden acceder a bases de datos con controladores ODBC. Actualmente, la mayoría de los sistemas de bases de datos vienen con controladores ODBC, por lo que los programas Java pueden acceder a bases de datos como Oracle, Sybase y MS SQL Server. bases de datos como MS Access.
Además, la tecnología JSP se puede ampliar aún más mediante el desarrollo de bibliotecas de logotipos. Los desarrolladores externos y otros pueden crear sus propias bibliotecas de identidades para una funcionalidad común. Esto permite a los desarrolladores de páginas web trabajar con herramientas y componentes familiares, como el marcado, que realizan funciones específicas.
La tecnología JSP se puede integrar fácilmente en una variedad de arquitecturas de aplicaciones para aprovechar las herramientas y técnicas existentes, y se puede ampliar para admitir aplicaciones distribuidas a nivel empresarial. Como parte de la familia de tecnologías Java y parte integral de Java 2 (Arquitectura Enterprise Edition), la tecnología JSP puede soportar aplicaciones basadas en Web altamente complejas.
Debido a que el lenguaje de secuencias de comandos integrado de las páginas JSP se basa en Java y todas las páginas JSP se compilan en servlets Java, las páginas JSP tienen todos los beneficios de la tecnología Java, incluida una sólida gestión del almacenamiento y seguridad. Como parte de la plataforma Java, JSP tiene la característica "escribir una vez, ejecutar en cualquier lugar" del lenguaje de programación Java.
Modelo de aplicación JSP
Al utilizar la tecnología JSP, la información dinámica se representa mediante páginas JSP y las páginas JSP se ejecutan mediante un motor JSP instalado en un servidor web o un servidor de aplicaciones que utiliza JSP. . El motor JSP acepta solicitudes de clientes para páginas JSP y genera páginas JSP como respuesta al cliente.
Las páginas JSP generalmente se compilan en Java Servlets, que es una extensión estándar de Java. Los desarrolladores de páginas tienen acceso al entorno completo de aplicaciones Java para aprovechar la escalabilidad y portabilidad de la tecnología Java. Cuando se llama a la página JSP por primera vez, si aún no existe, se compilará en una clase de servlets Java y se almacenará en la memoria del servidor. Esto da como resultado una respuesta muy rápida del servidor en llamadas posteriores a la página (esto evita el problema de que CGI-BIN genere un nuevo proceso para cada solicitud HTTP).
Las páginas JSP se pueden incluir en una variedad de arquitecturas o modelos de aplicaciones diferentes, y se pueden utilizar en una combinación de diferentes protocolos, componentes y formatos. La tecnología de publicación de información dinámica basada en JSP es un estándar abierto y extensible para establecer páginas web dinámicas.
Independientemente de la herramienta de creación utilizada, los desarrolladores pueden utilizar páginas JSP para crear aplicaciones web portátiles que se ejecutan en diferentes servidores de aplicaciones web.
Introducción a JSP 2.0
[Editar este párrafo]
La nueva versión de la especificación JSP incluye nuevas funciones para mejorar la eficiencia del trabajo del programador, que incluyen principalmente:
Un lenguaje de expresión (EL) permite a los desarrolladores crear plantillas estilo Velocity (entre otras cosas).
Una forma más rápida y sencilla de crear nuevas etiquetas.
Hola, ${param.visitor} <%-- igual que: Hola, <%=request.getParameter("visitor")%> --%>
[editar ] Patrón de control de vista de módulo
Para separar la capa de presentación del procesamiento de solicitudes y el almacenamiento de datos, Sun Microsystems recomienda utilizar un patrón de control de vista de modelo en archivos JSP. Se utilizan SERVLET canónicos o archivos JSP separados para manejar las solicitudes. Cuando se procesa la solicitud, el control se entrega a una página JSP que solo crea resultados. Varias plataformas se basan en el patrón modelo-vista-control que sirve a la capa de red (como Struts y Spring framework).
Muestra JSP2.0
[Editar este párrafo]
Ya sea que el compilador JSP genere el código fuente JAVA de SERVLET o libere directamente el código binario, comprenda Es útil observar cómo el compilador JSP convierte el archivo en un SERVLET JAVA.
Por ejemplo, observe el siguiente JSP de entrada y su SERVLET JAVA final generado:
JSP de entrada
<%@ página errorPage="myerror.jsp" %>
<%@ página import="com.foo.bar" %>
<% int serverInstanceVariable =! 1 ;%>
...
<% int localStackBasedVariable = 1; %>
[tabla]
[tbody] [ tr][td]<%= "datos en línea expandidos " + 1 %>[/tr][/tr]
...
Servlet resultante
paquete jsp_servlet;
importar java.util.*;
importar java.io.*;
importar javax.servlet.*;
importar javax.servlet..foo.bar; //importado como resultado de <%@ page import="com.foo.bar" %>
importar...
clase _myserlvet implementa javax.servlet.Servlet, javax.servlet.jsp.HttpJspPage {
//insertado como
//resultado de <%! 1 ;%>
int serverInstanceVariable = 1;
...
public void _jspService( solicitud javax.servlet.http.HttpServletRequest,
respuesta javax.servlet.http.HttpServletResponse )
lanza javax.servlet.ServletException,
java.io.IOException
{
javax.servlet.ServletConfig config = ...;//obtener la configuración del servlet
Página de objeto = this;
PageContext pageContext = ...;//obtener el contexto de página para esta solicitud
javax.servlet.jsp.JspWriter out = pageContext.getOut();
HttpSession session = request.getSession( true );
prueba {
out.print( "\r\n" );
out.print( "
\r\n" );...
//de <% int localStackB
asedVariable = 1; %>
int localStackBasedVariable = 1;
...
out.print( "[/tbody][/table][tabla ]\r\n" );
out.print( " [tbody][tr][td]" );
//nota, toStringOrBlank() convierte la expresión en una cadena o si
// la expresión es nula, usa la cadena vacía.
//from <%= "datos en línea expandidos" + 1 %>
out.print( toStringOrBlank( "datos en línea expandidos " + 1 ) );
out.print( " [/tr][/tr]\r\n" );
...
} catch (Excepción _excepción) {
//limpiar y redirigir a la página de error en <%@ página errorPage="myerror.jsp" %>
}
}
}
[/tbody][/table]