[Introducción a JSP] ¿Solo sabe HTML pero no JSP?

prefacio

Hoy, continuaremos resumiendo y aprendiendo conocimientos relacionados con JSP. En el último artículo, aprendimos los conceptos básicos de Servlet. Si todavía está familiarizado con Servlet, le sugiero que vaya al blog anterior y regrese.

Portal: [Introducción a Servlet] Un artículo del que nunca has oído hablar antes

Hemos aprendido HTML, CSS, JS, XML, Servlet antes, entonces, ¿qué es JSP? ¿Por qué aprender este JSP?

Descripción general de JSP

JSP (nombre completo Java Server Pages) es defendido por Sun Microsystems y creado conjuntamente por muchas empresas para permitir que los desarrolladores de software respondan a las solicitudes de los clientes, mientrasGeneración dinámicaUn estándar técnico para páginas web de HTML, XML u otros documentos de formato.

Características JSP

(1) El sufijo del archivo JSP es *.jsp
(2) La tecnología JSP utiliza el lenguaje Java como lenguaje de secuencias de comandos, la página web JSP proporciona una interfaz para toda la unidad de biblioteca Java del lado del servidor para servir aplicaciones HTTP.
(3) JSP es una tecnología de desarrollo web dinámico. Utiliza etiquetas JSP para insertar código Java en páginas web HTML. Las etiquetas generalmente comienzan con <% y terminan con %>.
(4) JSP es un servlet de Java, que se utiliza principalmente para implementar la parte de la interfaz de usuario de las aplicaciones web de Java. Los desarrolladores web escriben JSP combinando código HTML, código XHTML, elementos XML e incrustando operaciones y comandos JSP.
(5) JSP puede obtener datos de entrada del usuario a través de formularios web, acceder a bases de datos y otras fuentes de datos y luego crear dinámicamente páginas web.
(6) Las etiquetas JSP tienen una variedad de funciones, como acceder a bases de datos, registrar información de selección de usuarios, acceder a componentes de JavaBeans, etc., y también pueden transmitir información de control e información compartida en diferentes páginas web.

Requisitos de ejecución de JSP:


Todas las extensiones de página JSP para que Tomcat se ejecute correctamente deben ser .JSP
páginas JSP y deben colocarse en el directorio de la aplicación web.

Generación Dinámica de JSP

De hecho, una de las características más importantes de JSP es que puede generar dinámicamente páginas web. A continuación, comparemos las mismas páginas generadas por HTML y JSP.

A continuación, completaremos una página de este tipo:
inserte la descripción de la imagen aquí
debería verse así después de que se haya hecho normalmente:
inserte la descripción de la imagen aquí
Primero, usamos HTML para completarla. Es muy simple escribirlo línea por línea. El código es el siguiente:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<table>
		<tr>
			<th>year</th>
			<th>salary</th>
		</tr>
		<tr>
			<td>0</td>
			<td>1500</td>
		</tr>
		<tr>
			<td>1</td>
			<td>1650</td>
		</tr>
		<tr>
			<td>2</td>
			<td>1800</td>
		</tr>
		<tr>
			<td>3</td>
			<td>1950</td>
		</tr>
		<tr>
			<td>4</td>
			<td>2100</td>
		</tr>
		<tr>
			<td>5</td>
			<td>2250</td>
		</tr>
		<tr>
			<td>6</td>
			<td>2550</td>
		</tr>
		<tr>
			<td>7</td>
			<td>2850</td>
		</tr>
		<tr>
			<td>8</td>
			<td>3150</td>
		</tr>
		<tr>
			<td>9</td>
			<td>3450</td>
		</tr>
		<tr>
			<td>10</td>
			<td>3750</td>
		</tr>
		<tr>
			<td>11</td>
			<td>4125</td>
		</tr>
	</table>
</body>
</html>

El efecto es el siguiente:
inserte la descripción de la imagen aquí
el efecto no es un problema, pero el código es un poco engorroso y la respuesta la calculamos y escribimos nosotros mismos. Y solo anotamos el salario de 11 años, si son 50, entonces tenemos que seguir calculando y anotando, lo cual es muy problemático.

Luego, JSP se puede generar dinámicamente, ¿cómo podemos usar JSP para completarlo?

De hecho, es muy simple, podemos generarlo automáticamente escribiendo según las reglas dadas en el caso, de la siguiente manera:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<table>
		<tr>
			<th>year</th>
			<th>salary</th>
		</tr>
		<%
			for(int i=0;i<=50;i++){
				out.println("<tr>");
				out.println("<td>" + i + "</td>");
				int sal=0;
				if(i<=5){
					sal = 1500 + i*150;
				}else if(i>5&&i<=10){
					sal=1500 + 5*150 + 300*(i-5);
				}else if(i>10){
					sal = 1500+5*150+5*300+375*(i-10);
				}
				out.println("<td>" + sal + "</td>");
				out.println("</tr>");
			}
		
		%>
	</table>
</body>
</html>

Lo hemos generado directamente durante los años 50. ¿El código parece muy simple? Entonces veamos cómo se ve la página de salida:
inserte la descripción de la imagen aquí
es todo el mismo efecto.

Debería poder entender la diferencia comparándolos.

Proceso de ejecución de JSP

El JSP que acabamos de escribir tiene lenguaje HTML y lenguaje Java, y finalmente se ejecuta Servlet. Entonces, ¿cuál es el proceso de ejecución de JSP?

Al acceder a una página jsp por primera vez, enviará una solicitud a un contenedor de servlet (tomcat, etc.), y el contenedor de servlet primero convierte la página jsp en código de servlet (.java) y luego lo compila en un archivo . archivo de clase antes de llamar. Cuando se vuelve a acceder a la página jsp, se llama directamente al proceso de omitir la traducción y la compilación.

Proceso de implementación:

(1) El cliente envía una solicitud
(2) El contenedor web convierte el jsp en código servlet (.java)
(3) El contenedor web lo convierte en compilación de código servlet (.class)
(4) El contenedor web carga el código compilado y ejecuta
(5) Responder al cliente con el resultado de la ejecución

Gráfico:
inserte la descripción de la imagen aquí
Ejemplo:
inserte la descripción de la imagen aquí

Sintaxis básica de JSP

La sintaxis JSP es particularmente simple y se puede dividir en:

(1) Bloque de código JSP
(2) Bloque de construcción de declaración JSP
(3) Instrucción de salida JSP
(4) Instrucción de procesamiento JSP

A continuación, hablemos de lo que hacen.

Bloque de código JSP

El bloque de código JSP se usa para incrustar código Java en JSP, su formato de sintaxis es:

<% Java代码 %>

Ejemplo:

<% System.out.println("hello,baibai!"); %>

Bloque de creación de declaración JSP

El bloque de creación de declaraciones JSP se utiliza para declarar variables o métodos, y su sintaxis es:

<%! 声明语句 %>

Ejemplo:

<%!public int add(int a,int b){
    
    
	return a+b;
}%>

Comando de salida JSP

La instrucción de salida JSP se utiliza para mostrar el resultado de la ejecución del código Java en la página JSP. Su formato de sintaxis es:

<%=Java代码%>

Ejemplo:

<%="<b>" + name +"</b>"%>

Instrucciones de procesamiento JSP

Las instrucciones de procesamiento JSP se utilizan para proporcionar información auxiliar durante la ejecución de JSP. El formato de sintaxis es:

<%@ JSP指令 %>

Ejemplo:

<%@ page import = "java.until.*" %>

Instrucciones de procesamiento común JSP

1. Definir la configuración global de la página JSP actual

<%@ page %>

2. Combinar otras páginas JSP con la página JSP actual

<%@ include %>

3. Introducir la biblioteca de etiquetas JSP

<%@ taglib %>

Diferencias entre anotaciones en JSP

1. Anotación JSP, la declaración anotada no realiza ningún procesamiento.

<%--注释--%>

2. Se utiliza para anotar <%%> código Java, el código anotado no se ejecuta

//注释/*注释*/

3. Comentarios HTML, la declaración comentada no será interpretada por el navegador

<!--html-->

practica de gramática

encontrar números primos

Asunto:
inserte la descripción de la imagen aquí
Código:

<%@page import="java.util.*,java.text.*" contentType="text/html; charset=UTF-8" %>
<%!
	boolean isPrime(int num){
    
    
		boolean flag = true;
		for(int j=2;j<num;j++){
    
    
			if(num%j==0){
    
    
				flag=false;
				break;
			}
		}
		return flag;
	}

%>

<%
	List<Integer> primes = new ArrayList();
	for(int i=2;i<1000;i++){
    
    
		if(isPrime(i)){
    
    
			//out.println("<h1> " + i + "</h1>");
			primes.add(i);
		}
	}
%>

<%
	for(int p:primes){
    
    
		//out.println("<h1>" + p +"是质数</h1>");
%>
	<h1 style="color:red;"><%=p %>是质数</h1>
<%
	}
%>

producción:
inserte la descripción de la imagen aquí

Reutilización de páginas JSP

En el proceso de desarrollo web Java, se deben escribir muchas páginas jsp, y estas páginas tienen muchas similitudes, como el encabezado de página, el pie de página y la barra de navegación, etc. Estas mismas partes y las repetidas se escribirán si se escribe cada página jsp. El código es redundante y difícil de administrar y mantener. En este momento, la reutilización de la página se puede utilizar para mejorar la eficiencia.

Entonces, ¿cómo logramos la reutilización de la página?

Encapsule el mismo código y el repetido en cada página en una página JSP y luego haga referencia a él de las siguientes maneras:

<%@ include file=xxx.jsp">

Ejemplo:

Por ejemplo, una página de noticias es:
inserte la descripción de la imagen aquí

Cada vez que solo cambiamos el contenido de las noticias, es decir, las cosas en el cuadro rojo en la imagen de arriba, los encabezados y pies de página se reutilizan y podemos encapsularlos como páginas JSP, que se pueden llamar cuando se usan. . . Vamos a implementarlo:

Para el encabezado:

<%@page contentType="text/html; charset=utf-8"%>
要闻|推荐|财经|娱乐

Para pie de página:

<%@page contentType="text/html; charset=utf-8"%>
<hr/>
Copyright 1999-3274

Para que salga cada página de noticias:

<%@page contentType="text/html; charset=utf-8" %>
<%@include file="include/header.jsp" %>
<%
	out.println("<h1>新闻标题</h1>");
	out.println("<h1>正文</h1>");
%>
<%@include file="include/footer.jsp" %>

inserte la descripción de la imagen aquí

El resultado es:
inserte la descripción de la imagen aquí
exitoso, podemos encontrar la reutilización de la página en muchos escenarios, lo cual sigue siendo relativamente importante y relativamente simple.

Epílogo

El contenido de esta introducción de JSP termina aquí, pero el contenido de JSP es más que eso. JSP se usa junto con Servlet. ¡Veamos cómo se usan juntos en el próximo blog!

Continuando con la actualización…

Supongo que te gusta

Origin blog.csdn.net/apple_51673523/article/details/122889395
Recomendado
Clasificación