Bien, continuemos.
Vamos a crear una clase por acá en Mellada nuestro SELECT.
Pero antes tenemos que crear un РАМКАХ.
Entonces al insert por acá package se llama or a Guzmán web app servlet.
Perfecto.
Y dentro una clase lo mismo al insecto lleva class le vamos a llamar.
Hola Mundo Starlet, mira, como buena práctica una clase Saddleback podría tener un sufijo al final
como starlet para indicar de que se trata de una clase select, por ejemplo Hola mundo servlet o producto
starlet cliente starlet de esa forma.
Ok.
Creamos la clase, una clase común y corriente de Java pero con alguna característica.
Por ejemplo, la tenemos que anotar con Webster Lett y ahí indicar un mapping.
Tenemos que asociar.
Hubo un select a una ruta Burela, de tal forma que cuando ejecutemos una ruta determinada en el navegador
va a estar enlazada a un select específico.
Es lo que vamos a hacer con el ArruÃ Webster Lett perfectos inporta de Yakarta cerle punto.
Anoté en puntuó starlet anteriormente antes de que se transformara o se llevara todo lo que llaba e
a Yakarta e acá este import era ya bax yaba x ya vax puntos l.1 techo y contexto de Yakarta se renombra
también los рамках se pasa a llamar Yakarta solamente algo informativo para que lo tengan en cuenta.
Por ejemplo, si utilizan la versión lleba ante el prede 7 o la 8 o la 6, van a tener que importar
de yaks puntos lett paréntesis y el mapping siempre comienza con un diagonal, un latch y el nombre
de la ruta Arely que le queremos dar a este select.
Pero queremos mapear pues cualquiera.
Pero bueno, sin caracteres especiales, sin acento, sin espacio, obviamente porque es una ruta orella
no puede tener ningún tipo carácter especial, solamente alfanuméricos.
El es larch punto, guiones, guión bajo pero nada más.
Por ejemplo Hola Mundo, pues con guión mundo ahí lo tenemos anotado.
Es como asociar se fija asociar una ruta o °l del navegador o del request.
A esta clase sale lo siguiente e implementar METHOS especiales para manejar el request.
Recuerden cuando vimos introducción al protocolo HTTP tenemos el get y el post en el tapizar lett.
Lo mismo vamos a tener método para el Ruger para grupos.
En fin, otro tema importante antes de implementar los métodos nos vamos a ir a la clase y tenemos que
heredar extend de la clase http servlet.
También se importa de Yakarta.
Siempre de Yakarta.
Punto.
Cerle punto.
En este caso.
HTTP https.
Incluso la podríamos revisar con un control clic o con control be larga.
Podemos ir a la definición del https tipifican.
Acá manejar los métodos de lit.
Je get post put.
Lo típico.
Por ejemplo, acá tenemos tres nugget y este método lo tenemos que sobrescribir, por ejemplo, para
implementar una petición mediante una ruta °l o si estamos trabajando con formulario de post.
Ya sea formulario o si enviamos un objeto en el cuerpo, recuesto lo mismo.
Por ejemplo, si trabajamos con Jason, con API Rest lo mismo.
Estos métodos se tienen que ser ecribir con esta misma estructura.
Método 2 protected voy no devolver nada en nombre de U.G.T.
HTTPS le recuerdas?
HTTP zale response y lanza dos excepciones Starlet deception y o exception input output exception.
Bien, antes de continuar con implementar estos métodos vamos a subir por acá y vemos que hay detrás.
Debe ser Lett hereda de Generic Select Generics, que es una clase abstracta de la pizarra Lett, pero
esta tiene una implementación HTTP para que se ejecuten en un servidor web con peticiones http.
También tengan en cuenta que es una clase abstracta igual que esta Generic Selden, una clase abstracta
que implementa interface la interface Arlett, por ejemplo.
La interface Arlett tiene métodos abstracto protocolo de implementación como el service este muy importante.
Finalmente, el que se ejecuta en el select y acá por dentro en la implementación se va a llamar el
DUu algo, el Dougie Dupont, Dupuy o Dudi lit.
De acuerdo al tipo de riqueza que se está enviando, pero sólo se forma automática, solamente tiene
que implementar el método dú algo y de forma automática se va a invocar por el servicio.
De hecho, el método service en realidad nunca lo vamos a implementar nosotros y tampoco nos sería recomendado
porque podría afectar el comportamiento del Soldat.
Si quieren ver la estructura, no podemos ir a la clase http select en estructura.
Acá hacemos un clic acá tanto los métodos http starlet, el rugientes.
Bueno, todos los métodos del select.
Acá está el service.
Esto lo maneja de forma automática por debajo, así como explicaba y el ser vivo embocar al otro metodo
servis.
Bueno, este método es public pólipo y servis, pero acá se está invocando el serving que es protected.
Por ejemplo, si nos vamos a la definición control V acá observen qué pasa.
El rico es el responsable.
Perfecto, entonces nos vamos ahí al detalle protected Voy Seques y Aucas de acuerdo al método acá obtenemos
el método Request Request punto que el método y pregunta si get, entonces va a embocar el nugget y
va a hacer algo más acá.
Un par de validaciones.
Si es Dupont, invoca el método Dupont.
Dupont, el Dupont.
Effi se fijan de acuerdo al método Rickles va llamando a los métodos dú algo y nosotros solamente tenemos
que implementar estos métodos nada más.
Los dú con el método, con el nombre método.
En nuestro caso hacer el Duquette.
Entonces, por eso muy importante que tenga presente que nunca tienen que sobrescribir el método servis
siempre el método dú algo del rico es que creo manejar bien.
Vamos a cerrar estas clases.
Cerramos este también y vamos a implementar este método.
Recuerden que lo dú tu Wyeth o tu post o lo que sea son protected voy tú en este caso Guetta digase
se recibe por argumento el https: le recuerdo y el https: le response
request coma
bien vamos a importar de acá al enter llega también al ente importemos.
Bueno, estos métodos podrían hacer excepciones.
Frus vamos a bajar.
Voy a colocar pantalla completa y exception coma servlet exceptúan y completamos el método como su método
que estamos escribiendo de la clase padre.
Lo vamos a notar con overnight.
Entonces acá Oberyn.
Listo, implementamos.
O manejamos el recuesto nuestra página web dinámica en el fondo para manejar los parámetros del usuario
información del request lo vamos a ir viendo de a poco y para imprimir algo en la repuesta.
Por ejemplo, un HTML tenemos que utilizar la respuesta el response.
Primero tenemos que definir el tipo de contenido response.
Punto set contentillo.
Text html.
Bajamos print ritter.
Lo importamos de Java.
Punto y o punto print right.
Le vamos a llamar out igual response punto get recruiter.
Perfecto.
Ahora pongo imprimir muy similar al sisten puntó punto print.
Pero acá estamos imprimiendo en el cuerpo del response.
En la respuesta vamos a imprimir un documento html.
Entonces lo primero ought punto print lynne opues el print con print light.
Bajamos la línea pero no bajamos una línea o no hacemos un salto en el HTML mismos, sino en el código
fuente del HTML.
Hoy vamos a ver, por ahora coloquemos print para que veamos la diferencia.
Colocamos print vamos a escribir un documento en HTML5.
Recuerden siempre con las etiquetas.
Cerramos.
Vamos a utilizar el block type sin reclamacion en mayúscula.
Rook type html en minúscula.
Bien.
Bajamos.
Out.
Punto print.
Otro elemento.
Cual continúa el html que sería la raíz.
Y recuerden, siempre que abrimos un elemento lo tenemos que cerrar.
Entonces duplicamos controlde y acá lo cerramos con el es latch o diagonal.
Duplicamos.
Le vamos a colocar giar.
Vamos a duplicar.
Pero antes de duplicar le vamos a poner un espacio.
Uno.
Dos, tres, cuatro.
Perfecto.
Duplicamos.
Acá cerramos dentro.
Hergé.
Vamos a duplicar.
Vamos a tener, por ejemplo, en meta.
Vamos a dar espacio.
Uno, dos, tres, cuatro.
Por ahí.
Acá sería meta para el juego de caracteres chart set.
Igual tenemos que colocar acá doble comillas.
El problema es que al colocar doble comillas vamos a romper el string que se fijan porque ya son sola
comilla propia del string.
Entonces se está rompiendo acá tendrían que escapar.
Agregamos un vacilarme antes de la comilla de acá también.
Antes la comilla para indicar que es un carácter comilla dentro de un string.
Y acá vamos a colocar un Tf8 guión 8.
Vamos a duplicar y vamos a tener un título.
Esto lo quitamos title lo cerramos.
Llega.
Colocamos el título, por ejemplo Hola mundo, hola mundo SALDE.
Vamos a bajar, vamos a duplicar dos veces acá vamos a tener el voy de cerramos el body y dentro duplicamos,
damos espacios, un título h1, h1 hola mundo y cerramos el h1 y tenemos listo.
Se fijan un documento HTML con el UTF 8, el chart set el título Este title es el título que se muestra
en el navegador arriba en la barra de arriba superior del navegador.
Él lo vamos a ver el get, el body con el cuerpo y acá un texto, el H1 simplemente para un título,
para que se muestre un título en una letra más grande.
Así como tenemos el H1, tenemos el h2, h3, h4 y a medida que vamos subiendo el número va bajando
en tamaño de la letra en el título y siempre que se abriera un elemento lo tenemos que cerrar acá se
cierra el void, se cierra el HTML, se cierra el meta, no es necesario.
El title también se cierra porque el meta no tiene cuerpo cuando no tiene cuerpo, un elemento simplemente
no necesario cerrar, aunque muchas veces se utiliza eso al final, simplemente el larch al final,
pero en HTML5 se puede omitir eso sería.
Entonces ya tenemos la respuesta.
Finalmente de forma opcional porque no es tan importante cuando termina el request igual el print guró
either como es un recurso, se cierra automáticamente, pero si lo queremos cerrar de forma manual,
podemos colocar Clouds acá y lo cerramos para que quede más de forma.
Felicita está molesto.
Entonces tenemos nuestros SALDE que estampillado al mundo.
Recuerden, si queremos ejecutar todo acá, desplegarlo, publicarlo en Tonks primero tenemos que levantar
Tomcat, no vamos a ir al terminal por acá estamos en Apache Tomcat 10 bin y acá Startup punto bat.
Si están en Linux o Mackintosh es simplemente startup, pero es igual que en Windows.
Tap tap en Windows está a punto bat.
Levantamos lo primero.
Una vez que hayamos levantado.
Publicamos, lo cambia, ejecutamos acá.
Vamos a ver.
Bien, vamos a copiar esta ruta °l o hacemos clic.
Automáticamente se abre.
Bueno, tenemos celular mundo Tomcat que está ejecutando el Index, pero queremos ejecutar el Hola mundo.
Entonces después de nombre proyecto web app colocamos Hola guión mundo.
Y aparece el Hola mundo y para que sea distinto vamos a volver.
Vamos a colocar acá.
Hola Mundo Saleta.
Pero como estoy un cambio, se fijan.
Obviamente no pasa nada si volvemos.
Actualizamos, no pasa nada, entonces tenemos que volver.
Y es importante, ante cualquier cambio tenemos que volver a realizar el 10 pliegue.
Por eso es re diploide.
Volvemos a ejecutar.
Esperen a que se actualice y listo, volvemos al navegador, actualizamos.
Hola Mundo Stiletto y acá aparece el título, se fijan?
Hola Mundo Select.
Acá arriba en la pestaña también podríamos ver el código fuente.
Ver código fuente de la página y acá aparece.
Se fijan como pusimos print se muestra en una sola línea.
Eso es lo que quería mostrar, una sola línea, el código HTML.
Entonces, si queremos que se vea más ordenado hacia abajo, colocamos el print line.
Tenga.
Colocamos l.n en todos.
Miletto con este cambio volvemos a ejecutar o a desplegar en verdad.
Actualizamos acá y muestras abajo.
Porque es un salto, se dejan el jet meta, el título, cerramos el encabezado aged el cuerpo del HTML.
Y cerramos la raíz.
Bueno, acá nos afecta nada, no afecta nada, porque en realidad estamos dando un mensaje solamente
en el código fuente y tenga presente que un SALDE es un objeto, una instancia que se despliega en el
servidor o en el contenedor web de Tomcat, pero es en común, es una sola instancia o puede ser un
conjunto de instancia, un pool de starlet que es en común a los distintos cliente que acceden a este
Selden.
No podemos tener atributos en la clase SELECT que maneje algún tipo de estado, porque si un cliente
modifica ese valor, ese valor cambia para todos.
No es solamente para ese cliente, sino es en común.
Por eso no tiene que tener atributos que maneje, que maneje estado.
Solamente podría tener atributo para realizar consultas y operaciones.
Por ejemplo, al hace rato un service, un repository.
Eso sí, lo que sí es único para cada request es la invocación del método Du get o Dupont o dú algo.
Cada invocación de un método duu o lo que se ejecuta dentro del método service.
Recuerden que el service llama al método tu, pero tu método maneja su propio hilo para cada request.
Por lo tanto, independiente.
Todo lo que pasa dentro de este método en el tuye o lo que sea tu post es solamente para ser recuesto.
Y otro detalle que quería ver.
Vámonos a la clase https: arlett por acá control B y nos vamos a generics Arlett por acá también.
Control de la interfaz servlet.
Vamos a revisar la interfaz con control Glick o control V.
También la definición tem. podemos ver la estructura y acá tenemos los métodos el init, el jet set
config, el serbio.
Bueno, son puro método, la interfaz que es un abstracto que podemos implementar o sobrescribir, pero
recuerden que el servis no se sobre escribe.
Ya lo vimos porque por debajo maneja todo el tema del grupo.
El luge y todo eso.
Bueno, eso ya lo hablamos, pero si podemos sobreescribir o implementar el método init o el destroy
y sobretodo Linnet, porque Linnet es como un constructor que nos permite inicializar el lett como por
ejemplo una conexión a la Ayato o más que una conexión, quizás inicializar un repositorio o un service
con una conexión.
Una conexión que podemos obtener desde algún pull de conexiones del servidor de Tomcat o del servidor
de aplicaciones, o incluso crear nuestra propia conexión.
Lo que sea.
Podemos inicializar datos en el init y en el distrito y podemos destruir algún tipo de recurso o cerrar
recurso con el método Clouds, por ejemplo, se reconexiones de ese tipo.
Eso, eso quiere explicar esos dos métodos que son parte del ciclo de vida junto con el servis.
Y quería ver también otra forma de cerrar o bajar el servicio de Tomcat.
Para eso nos vamos a la consola, al terminal, estamos en Apache Tomcat Bin, aunque también no podríamos
ir acá a la consola de Tomcat, al despliegue, al log y acá con control C Eso lo vimos, no es cierto?
Eso es una forma control C, pero otra forma es cerrarlo acá.
Entonces en Bin colocamos chant down, entonces chat da'wah.
El startup es para levantar Tomcat, el Tatán es para bajar Tonkin, el servicio y por supuesto la ventana
del log va a desaparecer.
Hagamos la prueba.
Se fijan, hay cierra y desaparece también la ventanita con el log de despliegue y los Sinfo de Tomcat
también.
Tengan en cuenta que solamente vamos a alentar el servicio Tomcat una sola vez.
No podemos volver a subir Tomcat porque lo levantan el puerto 80 80 y si volvemos a levantar o re levantar
Tomcat va a ser un error que el puerto está ocupado y es un error muy común que lo he visto mucho en
los diferentes curso que me dicen que no pueden Antarc, Tonka pero claro, les lanza el error, pero
ya lo tienen levantado.
Entonces tengan cuidado en eso.
Fíjense que si van a lanzar Tomcat que no lo tengan levantado con anterioridad, porque si ya lo tienen
no necesario que lo levanten.
Además que lanzaría un error.
Bien, voy a cerrar la clase.
Acá http starlet.
Acá está acá y dejamos esta abierta y listo.
Ahora sí que sí.
Nada más.
Continuamos en la siguiente clase.