Notas de estudio 5: JSP y JSTL (activadas)

JSP 与 JSTL

Introducción a jsp

jsp: el nombre completo Java Server Page es una tecnología de programación de páginas web dinámica proporcionada por Sun.

En comparación con html, html solo puede proporcionar datos de página estáticos, mientras que JSP permite que el código Java se incruste en la página para proporcionar a los usuarios datos dinámicos.

En comparación con Servlet, Servlet es difícil de componer datos y JSP puede usar código Java para generar datos dinámicos, pero también es fácil componer datos.

Ya sea jsp o servlet, aunque se puede utilizar para desarrollar recursos web dinámicos. Sin embargo, debido a las características respectivas de estas dos tecnologías, en la práctica del software a largo plazo, la gente usa gradualmente Servlet como un componente de control en aplicaciones web y usa la tecnología jsp como plantilla de visualización de datos.

De hecho, jsp es un servlet.Cuando visitamos jsp por primera vez, el motor jsp traducirá este jsp en un servlet.Este archivo se almacena en el directorio de trabajo de tomcat.

Se recomienda configurar el formato de codificación en idea antes de usarlo para evitar el código confuso:
Inserte la descripción de la imagen aquí
JSP es exactamente lo mismo que HTML, excepto que JSP puede escribir código Java incrustado.

Anotación

JSP admite dos tipos de sintaxis de comentarios: uno es para mostrar el comentario, que se puede ver en el lado del cliente (es decir, se puede ver en la herramienta de desarrollo del navegador), y el otro es el comentario implícito. no puedo verlo.

  1. Mostrar sintaxis de comentarios: heredado del estilo HTML
  2. Sintaxis de comentario implícito: heredado del estilo JAVA; comentario propio de JSP
// 单行注释

/*
	多行注释
*/

以上两种只能在java程序段中编写

<!--  html风格的注释 -->

<%--
	jsp的注释
--%>

Gramática básica de Scriplet

La parte más importante en jsp es Scriplet ( subprograma de script ), es decir, todos los programas JAVA incrustados en código HTML .

Hay tres tipos de códigos Scriplet en JSP: todos deben estar marcados con Scriplet

第一种:<%     %> :java 脚本段,可以定义局部变量,编写语句。
生成的代码在servlet中的service方法体中

第二种:<%!    %> :声明。可以定义全局(成员)变量、方法、类  //一般用来定义全局变量
生成的代码在类中

第三种:<%=    %> :输出表达式,数据,一个变量或具体内容
生成的代码在servlet中的service方法体中,相当于out.print();语句

etiqueta de comando jsp

Usando la operación de inclusión, puede incluir el código repetido para uso continuo, porque algunas páginas solo necesitan que se cambie una parte de la página, y podemos usar la operación de inclusión para unir las páginas sin cambiar las páginas. Hay dos formas de lograr las funciones anteriores.

Método 1: En cada página jsp (html) incluya la barra de herramientas, la información del encabezado, la información de la cola, el contenido específico, es decir, no use include

Método 2: Divida la barra de herramientas, la información del encabezado y la información final en archivos separados e impórtelos directamente cuando los use

Obviamente, el segundo método es mejor. El primer método tendrá una gran cantidad de código duplicado redundante y no es conveniente modificarlo. Si jsp quiere implementar la operación incluida, hay dos métodos: inclusión estática , inclusión dinámica y estática uso de inclusión La directiva de inclusión es suficiente, pero para la inclusión dinámica, debe utilizar la etiqueta de acción de inclusión.

1. static incluye : static include es el archivo principal y el archivo contenido por el motor de servlet cuando se traduce directamente a estos archivos, el código fuente integrado juntos, todo en el método jspService , solo generó un archivo fuente de Servlet , por lo que no puede haber variables con el mismo nombre en estos archivos .

Enlace pequeño: en el proyecto web, la clase compilada y los archivos java del jsp en la idea se generarán bajo la ruta de tomcat asociada en la idea. Esta ruta se puede obtener viendo la información de inicio de tomcat a través de la consola, como por ejemplo:
Inserte la descripción de la imagen aquí
seguir diciendo:

Ventajas: eficiencia operativa ligeramente superior
Desventajas: acoplamiento alto, no lo suficientemente flexible

El formato es el siguiente:

<%--静态包含--%>
<%@include file="header.jsp"%>

<h2>主题内容</h2>

<%@include file="footer.jsp"%>

2. Inclusión dinámica :

El formato es el siguiente:

<%-- 动态包含--%>
<jsp:include page="header.jsp"></jsp:include>

<h2>主题内容</h2>

<jsp:include page="footer.jsp"></jsp:include>

Nota: Cuando la inclusión dinámica no necesita pasar parámetros, no debe haber contenido entre las etiquetas dobles de inclusión, incluidos los saltos de línea y los espacios .

Si necesita pasar parámetros, puede usar el método de incluir dinámicamente los parámetros de paso:

<%-- 动态包含传递参数: value值支持表达式,而name值不支持表达式--%>
<jsp:include page="footer.jsp">
    <jsp:param name="namem" value="admain"/>
    <jsp:param name="msg" value="<%= str%>"/>
</jsp:include>

Obtenga el parámetro pasado:
use request.getParameter (String name)
para obtener el parámetro pasado especificando el nombre del parámetro

Análisis de la tecnología de contención dinámica : esta tecnología de contención utiliza el método de invocación equivalente al método para cargar estas páginas contenidas, que generarán múltiples archivos de código fuente, por lo que varias páginas no interfieren entre sí, por lo que los nombres de las variables se pueden repetir. De la siguiente manera :
Inserte la descripción de la imagen aquí

Cuatro objetos de dominio de JSP

Hay cuatro tipos de alcances de almacenamiento de atributos proporcionados en jsp. El llamado alcance de almacenamiento de atributos se refiere a un objeto de dominio establecido, cuántas páginas se pueden guardar y seguir utilizándose, y las palabras humanas son el alcance del intercambio de datos.

  1. Page scope
    pageContext: solo se guardan los atributos de la página actual y no se pueden compartir después del salto (jsp: forward)
  2. El rango de solicitud
    solo se guarda en una solicitud. Sigue siendo válido después de que el servidor salta. El salto de cliente no es válido.
    Si es un salto de cliente, equivale a dos solicitudes. Entonces la primera solicitud no existe. Si quieres Si ambos tipos de saltos pueden obtener los datos, es necesario ampliar el alcance.
  3. El alcance de
    la sesión es válido en una sesión, y se puede obtener independientemente de cualquier salto.
    Porque cuando se cierra el navegador, la sesión termina, por lo que si desea establecer el atributo una vez, puede obtenerlo independientemente de si es un nuevo navegador o una nueva sesión. Para los datos, entonces se debe utilizar la aplicación.
  4. El alcance de la aplicación
    se almacena en todo el servidor.
    Todos los usuarios (cada sesión) pueden obtener datos, pero si el servidor se reinicia, los datos almacenados en el servidor desaparecen.

Pautas para usar objetos de dominio: intente usar el rango más pequeño dentro de un rango razonable

Supongo que te gusta

Origin blog.csdn.net/qq_40492885/article/details/115279070
Recomendado
Clasificación