1
00:00:10,620 --> 00:00:16,020
Hola te saluda nuevamente Ubal Acosta bienvenidos a esta elección.

2
00:00:16,020 --> 00:00:20,390
A continuación vamos a estudiar el tema de inclusión de archivos con de de.

3
00:00:20,790 --> 00:00:21,840
Están listos.

4
00:00:21,840 --> 00:00:22,350
Vamos

5
00:00:25,140 --> 00:00:29,650
en esta elección vamos a revisar el tema de la inclusión de archivos utilizando JSP.

6
00:00:30,570 --> 00:00:36,760
En términos simples la inclusión de archivos como su nombre lo dice es agregar un JSP dentro de otro.

7
00:00:36,780 --> 00:00:41,770
Sin embargo existen dos formas de realizar esta acción cuando utilizamos JSP.

8
00:00:42,570 --> 00:00:47,940
En primer lugar tenemos la inclusión estática también conocida como inclusión en tiempo de traducción

9
00:00:48,480 --> 00:00:56,640
translation Time y vamos a utilizar una directiva en este caso la directiva de includo y posteriormente

10
00:00:56,640 --> 00:01:03,350
por medio del atributo Feil indicamos el JSP que queremos incluir por otro lado tenemos la inclusión

11
00:01:03,350 --> 00:01:10,740
dinámica también conocida como inclusión en tiempo de ejecución recuestan y en este caso vamos a utilizar

12
00:01:10,800 --> 00:01:13,860
una acción en lugar de una directiva.

13
00:01:13,980 --> 00:01:19,340
Esto también lo vamos a revisar más adelante cuando veamos el tema de JavaBeans con gotee Sepes pero

14
00:01:19,350 --> 00:01:24,810
esto a diferencia de una directiva se le conoce como una acción así que agregamos la acción de incluir

15
00:01:25,370 --> 00:01:31,400
y posteriormente por medio del atributo Patch indicamos la página JSP que queremos incluir.

16
00:01:31,440 --> 00:01:35,500
Vamos a revisar las diferencias entre cada tipo de inclusión de archivos.

17
00:01:35,520 --> 00:01:37,620
Comencemos con la inclusión estática.

18
00:01:37,980 --> 00:01:44,160
Este concepto lo podemos aplicar utilizando la directiva includo y según vimos anteriormente en el tema

19
00:01:44,160 --> 00:01:49,300
de directivas podemos reconocer a esta directiva por medio del símbolo arroba.

20
00:01:49,440 --> 00:01:55,190
Así que por medio de este símbolo es que podemos detectar que ésta es una directiva de jote.

21
00:01:55,620 --> 00:02:01,650
Posteriormente lo que hacemos es especificar por medio del atributo Feil el JSP que vamos a incluir

22
00:02:01,860 --> 00:02:03,850
en el JSP principal.

23
00:02:04,080 --> 00:02:08,790
En el caso de la inclusión dinámica lo que sucede es que vamos a utilizar en lugar de una directiva

24
00:02:09,090 --> 00:02:10,830
el concepto de una acción.

25
00:02:10,950 --> 00:02:16,230
Posteriormente vamos a revisar más acciones sobre todo para acceder a los JavaBeans pero en este caso

26
00:02:16,290 --> 00:02:23,310
una acción también nos va a permitir hacer un bot de manera dinámica de otro JSP posterior al nombre

27
00:02:23,310 --> 00:02:23,810
de la acción.

28
00:02:23,820 --> 00:02:31,050
En este caso JSP 2.2 incluso vamos a incluir el atributo de pecho y como valor de ese atributo indicamos

29
00:02:31,050 --> 00:02:37,870
el JSP que queremos incluir en nuestro JSP principal así que estas son las dos opciones que tenemos

30
00:02:38,020 --> 00:02:40,870
para incluir archivos en nuestros de CEPES.

31
00:02:41,020 --> 00:02:43,610
La inclusión estática y la inclusión dinámica.

32
00:02:43,810 --> 00:02:50,110
Veamos a más detalle cada una de estas inclusiones en la inclusión estática según hemos visto tenemos

33
00:02:50,110 --> 00:02:55,460
la siguiente sintaxis podemos observar la sintaxis en la cual vamos a utilizar la directiva incluís

34
00:02:55,700 --> 00:03:03,470
y el valor de ese atributo Feil va a ser la página JSP la cual es relativa a nuestra aplicación el objetivo

35
00:03:03,470 --> 00:03:10,430
de utilizar esta inclusión estática es reutilizar código que puede provenir de un texto plano HTML o

36
00:03:10,430 --> 00:03:14,960
un JSP en el caso de la inclusión estática.

37
00:03:15,030 --> 00:03:22,200
El JSP que estamos incluyendo dentro del JSP principal puede afectar o compartir información con el

38
00:03:22,210 --> 00:03:23,460
JSP principal

39
00:03:27,950 --> 00:03:34,130
en la inclusión estática no se delega el control al JSP que vamos a incluir sino que se va a generar

40
00:03:34,190 --> 00:03:41,870
un único JSP que va a ser la combinación del JSP principal y del JSP que estamos incluyendo.

41
00:03:41,870 --> 00:03:48,170
Recordemos que un JSP se compila finalmente en un Servlet ya que es necesario la clase IAVA para poder

42
00:03:48,290 --> 00:03:54,880
ejecutar el JSP asociado posteriormente veremos un ejemplo para tener más claro este concepto

43
00:03:58,650 --> 00:04:04,740
una vez que ya tenemos un JSP o más bien un Servlet de manera única y que contiene ambos JSP.

44
00:04:05,370 --> 00:04:12,090
Entonces podemos compartir variables y métodos entre los diferentes JSP que estemos utilizando.

45
00:04:12,090 --> 00:04:18,060
Uno de los detalles s con la inclusión estática para tener la versión más reciente del JSP que estamos

46
00:04:18,090 --> 00:04:19,020
incluyendo.

47
00:04:19,110 --> 00:04:25,890
Se recomienda compilar y reconstruir nuevamente el proyecto debido a que la inclusión estática no garantiza

48
00:04:25,890 --> 00:04:29,800
que tengamos la última versión del JSP incluido.

49
00:04:29,940 --> 00:04:37,430
Esto se debe a que el contenido de JSP incluido se va a vaciar en el JSP principal y también esto lo

50
00:04:37,430 --> 00:04:39,560
vamos a ver a más detalle más adelante

51
00:04:42,450 --> 00:04:48,780
así que para tener la versión más reciente se recomienda compilar y construir nuevamente nuestro proyecto.

52
00:04:48,930 --> 00:04:53,220
Estos son algunos de los detalles que debemos de tomar en cuenta cuando trabajamos con la inclusión

53
00:04:53,220 --> 00:04:54,620
estática de los JSP

54
00:04:57,670 --> 00:05:00,190
continuando con la inclusión estática.

55
00:05:00,190 --> 00:05:04,040
Vamos a revisar un diagrama con este ejemplo de inclusión estática.

56
00:05:04,270 --> 00:05:11,650
Supongamos que tenemos un JSP principal llamado a punto JSP así que este es nuestro JSP principal y

57
00:05:11,650 --> 00:05:19,450
posteriormente vamos a definir otro JSP llamado punto JSP y este JSP lo vamos a incluir dentro del JSP

58
00:05:19,450 --> 00:05:21,310
llamado apuntó JSP.

59
00:05:21,580 --> 00:05:27,920
Así que este va a ser el archivo a incluir dentro de nuestro JSP principal así que en este primer bloque

60
00:05:27,920 --> 00:05:32,580
de nuestro diagrama estamos mencionando los archivos quotes CEPES con los que vamos a trabajar.

61
00:05:33,520 --> 00:05:40,120
En este segundo bloque estamos trabajando ya en tiempo de traducción del JSP es decir cuando se genera

62
00:05:40,180 --> 00:05:47,620
el servlet asociado al JSP y en nuestro tercer bloque estamos especificando el tiempo de ejecución es

63
00:05:47,620 --> 00:05:53,080
decir cuando mandamos a llamar a nuestro JSP pero recordemos que indirectamente realmente lo que se

64
00:05:53,080 --> 00:05:54,960
ejecuta es el servlet.

65
00:05:55,210 --> 00:06:02,620
Veamos a más detalle cada uno de estos pasos entonces el JSP principal llamado a punto JSP debe agregar

66
00:06:02,680 --> 00:06:08,560
la directiva según hemos visto con la sintaxis de la inclusión estática y va a agregar el contenido

67
00:06:08,770 --> 00:06:17,020
del JSP incluido es decir nuestro JSP Debé lo vamos a incluir en nuestro JSP a una vez que solicitamos

68
00:06:17,110 --> 00:06:23,950
nuestro recurso se hace una traducción completa de los dos JSP y aquí la gran diferencia entre la inclusión

69
00:06:23,950 --> 00:06:30,580
estática es que únicamente se va a generar un solo servlet de estos dos JSP es así que únicamente se

70
00:06:30,580 --> 00:06:37,260
va a generar un solo servlet y el contenido de este servlet incluye tanto el contenido del JSP a como

71
00:06:37,270 --> 00:06:38,650
el JSP incluido.

72
00:06:38,650 --> 00:06:45,550
En este caso el jote CPB y ambos escribieron por medio del método About.com Right y se genera un único

73
00:06:45,550 --> 00:06:51,610
servlet así que este Cerler contendrá el código de los dos Côtes Cepes y el código HTML generado por

74
00:06:51,610 --> 00:06:57,940
cada uno de los Kōta Sepes los va a mezclar en un solo servlet utilizando el método About.com right.

75
00:06:58,230 --> 00:07:05,600
Este HTML ya incluye el resultado de los dos quotes Cepes y finalmente la salida entonces va a ser el

76
00:07:05,600 --> 00:07:08,260
HTML que incluye la salida de los dos JSP.

77
00:07:08,470 --> 00:07:10,690
El JSP ah y el JSP.

78
00:07:11,410 --> 00:07:18,050
Pero todo a partir de un solo servlet así que esta es la inclusión estática únicamente se genera un

79
00:07:18,050 --> 00:07:24,320
solo servlet y se combinan todas las variables dentro de un solo servlet y la salida incluye la combinación

80
00:07:24,380 --> 00:07:26,100
de estos dos JSP.

81
00:07:26,120 --> 00:07:33,080
Más adelante vamos a ver un ejemplo de ese tipo de inclusión por otro lado la inclusión dinámica podemos

82
00:07:33,080 --> 00:07:41,360
observar la sintaxis vamos a utilizar una acción indicamos la acción de JSP 2.5D utilizamos el atributo

83
00:07:41,360 --> 00:07:46,130
Pach e indicamos la ruta relativa de JSP que queremos incluir

84
00:07:49,140 --> 00:07:56,890
el objetivo de esta inclusión dinámica es reutilizar el código ya sea en texto plano HTML u otros JSP.

85
00:07:57,060 --> 00:08:03,850
También permite actualizar el contenido sin alterar al JSP que incluye el contenido a reutilizar.

86
00:08:04,020 --> 00:08:09,810
A diferencia de la inclusión estática en la cual se mezclan los botes Cepes y se puede alterar al JSP

87
00:08:09,810 --> 00:08:16,620
principal debido a la inclusión de otro JSP secundario en este caso no se mezclan los Gotha y Sepes

88
00:08:16,870 --> 00:08:22,640
y esto permite que el JSP principal no sufra ninguna alteración como algunas notas.

89
00:08:22,650 --> 00:08:31,470
El JSP principal delega el control al JSP incluido y la salida del JSP se agrega al JSP principal así

90
00:08:31,470 --> 00:08:38,370
que no se mezcla la ejecución de los JSP sino únicamente la salida de JSP incluido se agrega al JSP

91
00:08:38,370 --> 00:08:39,000
principal

92
00:08:41,740 --> 00:08:45,920
por lo mismo no se comparten variables o métodos entre los JSP.

93
00:08:45,970 --> 00:08:52,240
A diferencia de la inclusión estática en la cual si se mezclan variables y métodos por ello esta inclusión

94
00:08:52,240 --> 00:08:58,270
dinámica garantiza tener siempre la versión más reciente de los Gotha y CEPES ya que no se genera un

95
00:08:58,270 --> 00:09:05,200
solo servlet sino que se generan dos servlets y por lo tanto cada que se solicite un JSP ya sea el principal

96
00:09:05,290 --> 00:09:07,740
o el secundario el JSP incluido.

97
00:09:07,810 --> 00:09:13,450
Entonces en todo momento se tendrá la última versión de cada uno de los sables correspondientes a cada

98
00:09:13,450 --> 00:09:20,740
uno de los Côté Cepes y la página debe de ser relativa a nuestra aplicación web por lo tanto debemos

99
00:09:20,740 --> 00:09:27,100
utilizar la Diagonal y especificar la ruta relativa donde se encuentra el JSP que queremos incluir

100
00:09:29,980 --> 00:09:35,200
también se pueden incluir archivos privados es decir archivos que estén dentro de la carpeta web de

101
00:09:35,200 --> 00:09:36,050
un medio inf.

102
00:09:36,370 --> 00:09:41,350
Recordemos que esta carpeta todos los archivos que agreguemos dentro de esa carpeta de Weaving van a

103
00:09:41,350 --> 00:09:46,870
ser privados no pueden ser accedidos directamente desde el navegador sino únicamente a través de otros

104
00:09:46,870 --> 00:09:55,230
componentes como puede ser en este caso otro JSP vamos a ver ahora un diagrama de la inclusión dinámica.

105
00:09:55,470 --> 00:10:00,610
Podemos observar que ahora tenemos los mismos bloques es decir los archivos JSP que vamos a utilizar.

106
00:10:00,720 --> 00:10:06,750
El bloque de tiempo de traducción y el bloque de tiempo de ejecución pero estamos separando ya más detalle

107
00:10:06,810 --> 00:10:13,550
los archivos a punto JSP que es el archivo principal y el archivo a incluir es decir el archivo p.ej.

108
00:10:13,550 --> 00:10:14,340
ESP.

109
00:10:14,550 --> 00:10:17,750
También de igual manera observamos los archivos que vamos a utilizar.

110
00:10:17,970 --> 00:10:21,820
El tiempo de traducción y observamos también el bloque de tiempo de ejecución.

111
00:10:21,930 --> 00:10:27,990
El JSP principal va a utilizar una acción de los Côté Sepes para incluir el archivo.

112
00:10:28,020 --> 00:10:33,360
Por ello es la inclusión dinámica posteriormente lo que sucede es que en tiempo de traducción cada uno

113
00:10:33,360 --> 00:10:40,710
de los Sepes va a tener su servlet equivalente así que podemos observar que tenemos dos servlets y cada

114
00:10:40,710 --> 00:10:47,040
uno incluye el contenido de su respectivo JSP así que en este caso no se van a combinar los JSP para

115
00:10:47,040 --> 00:10:52,920
generar un solo servlet sino que vamos a tener dos servlets uno por cada JSP que estemos trabajando

116
00:10:53,610 --> 00:10:59,940
y finalmente en tiempo de ejecución lo que sucede es que el servlet principal cuando haga la inclusión

117
00:11:00,120 --> 00:11:06,570
del archivo secundario o incluido lo que va a hacer es delegar el control para que se ejecute temporalmente

118
00:11:06,810 --> 00:11:08,550
el JSP incluido.

119
00:11:08,550 --> 00:11:14,280
Así que en este caso se va a ejecutar el servlet correspondiente generado a partir del JSP secundario

120
00:11:14,420 --> 00:11:15,510
p.ej. ESP.

121
00:11:15,960 --> 00:11:22,650
Y una vez que termina de ejecutarse este servlet entonces se regresa el control a nuestro servlet principal.

122
00:11:22,950 --> 00:11:28,260
Recordemos que este servlet es el correspondiente al generado a partir de nuestro documento principal

123
00:11:28,560 --> 00:11:35,910
nuestro JSP principal y la salida que corresponde a este JSP entonces se va a incluir a la salida también

124
00:11:36,180 --> 00:11:42,810
de nuestro servlet principal y al final vamos a tener una sola salida pero no se van a mezclar únicamente

125
00:11:42,840 --> 00:11:49,230
este contenido se va a vaciar dentro de la salida del JSP principal así que por ello la inclusión dinámica

126
00:11:49,470 --> 00:11:54,110
garantiza que tengamos siempre la última versión de cada uno de los JSP.

127
00:11:54,180 --> 00:12:00,430
Más adelante vamos a crear algunos ejercicios para poner en práctica estos conceptos.

128
00:12:00,520 --> 00:12:06,400
Por último vamos a revisar una comparación entre los diferentes tipos de inclusión por un lado tenemos

129
00:12:06,400 --> 00:12:11,980
la inclusión estática y por otro lado tenemos la inclusión dinámica la inclusión estática utilizamos

130
00:12:11,980 --> 00:12:19,030
una directiva y la inclusión dinámica utilizamos una acción y podemos realizar las preguntas cuando

131
00:12:19,030 --> 00:12:25,390
ocurre la inclusión y en este caso en el caso de la inclusión estática ocurre en tiempo de traducción

132
00:12:26,000 --> 00:12:30,010
y en el caso de la inclusión dinámica ocurre en tiempo de ejecución.

133
00:12:30,010 --> 00:12:35,590
Posteriormente preguntamos qué se incluye y en este caso se incluye el contenido del archivo tal cual

134
00:12:35,990 --> 00:12:40,730
y en el caso de la inclusión estática se incluye el archivo tal cual por ello es que se combinan los

135
00:12:40,730 --> 00:12:46,300
dos archivos en uno solo y en el caso de la inclusión dinámica únicamente se incluye la salida de la

136
00:12:46,300 --> 00:12:49,360
ejecución del JSP respectivo.

137
00:12:49,360 --> 00:12:54,520
El número de series generados en el caso de la inclusión estática es un solo servlet y en el caso de

138
00:12:54,520 --> 00:13:02,320
la inclusión dinámica son dos servlets uno por cada JSP preguntamos también si podemos incluir cabeceros

139
00:13:02,320 --> 00:13:08,250
que afecten al JSP principal y en este caso si podríamos afectar al JSP principal.

140
00:13:08,290 --> 00:13:13,570
En el caso de la inclusión estática y en el caso de la inclusión dinámica debido a que no se comparte

141
00:13:13,630 --> 00:13:20,430
el contenido de los quotes Sepes no hay manera en que aceptemos la JSP principal la siguiente pregunta

142
00:13:20,430 --> 00:13:23,780
es puede incluir atributos o métodos en común.

143
00:13:23,880 --> 00:13:28,590
En el caso de la inclusión estática si es posible en el caso de la inclusión dinámica no es posible

144
00:13:28,590 --> 00:13:32,530
compartir ni atributos ni métodos entre los jote CEPES.

145
00:13:33,000 --> 00:13:39,090
Posteriormente preguntamos se debe actualizar la página principal si se actualiza la página incluida

146
00:13:39,550 --> 00:13:45,750
y en el caso de la inclusión estática si es necesario recopilar para tener la última versión en el caso

147
00:13:45,750 --> 00:13:51,360
de la inclusión dinámica esto no es necesario ya que en todo momento se va a revisar si tenemos la última

148
00:13:51,360 --> 00:13:56,110
versión ya que se genera un Servlet por cada JSP.

149
00:13:56,130 --> 00:14:03,390
Finalmente el JSP principal delega el control al JCP incluido en el caso de la inclusión estática no

150
00:14:03,390 --> 00:14:09,630
es así y en el caso de la inclusión dinámica si se delega el control al JSP incluido.

151
00:14:09,660 --> 00:14:14,540
Así que estas son algunas de las comparaciones entre los diferentes tipos de inclusión.

152
00:14:14,610 --> 00:14:19,650
A continuación vamos a revisar algunos ejercicios para poner en práctica el uso de la inclusión estática

153
00:14:19,710 --> 00:14:25,500
y dinámica utilizando el API de los Côtes CPC.
