{"id":2058,"date":"2023-12-01T12:15:21","date_gmt":"2023-12-01T15:15:21","guid":{"rendered":"https:\/\/stackcodelab.com\/blog\/?p=2058"},"modified":"2023-12-01T12:15:30","modified_gmt":"2023-12-01T15:15:30","slug":"capitulo-10-desarrollo-web-con-java-servlets-y-jsp","status":"publish","type":"post","link":"https:\/\/stackcodelab.com\/blog\/capitulo-10-desarrollo-web-con-java-servlets-y-jsp\/","title":{"rendered":"Cap\u00edtulo 10: Desarrollo Web con Java (Servlets y JSP)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">En este cap\u00edtulo, exploraremos el desarrollo web en Java utilizando Servlets y JSP (JavaServer Pages). Estas tecnolog\u00edas son fundamentales para crear aplicaciones web din\u00e1micas en el entorno Java. Aprender\u00e1s a construir p\u00e1ginas web interactivas y gestionar solicitudes de clientes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>10.1. Introducci\u00f3n a Servlets y JSP<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Los&nbsp;<strong>Servlets<\/strong>&nbsp;son clases de Java que gestionan solicitudes y respuestas HTTP. Son la base para el desarrollo web en Java y permiten la creaci\u00f3n de aplicaciones web din\u00e1micas. Por otro lado,&nbsp;<strong>JSP<\/strong>&nbsp;es una tecnolog\u00eda que permite la creaci\u00f3n de p\u00e1ginas web din\u00e1micas utilizando c\u00f3digo Java embebido en HTML.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>10.2. Creaci\u00f3n de un Servlet<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Un Servlet es una clase Java que extiende HttpServlet y anotada con @WebServlet. Aqu\u00ed hay un ejemplo b\u00e1sico:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import javax.servlet.annotation.WebServlet;\r\nimport javax.servlet.http.HttpServlet;\r\nimport javax.servlet.http.HttpServletRequest;\r\nimport javax.servlet.http.HttpServletResponse;\r\nimport java.io.IOException;\r\n\r\n@WebServlet(\"\/EjemploServlet\")\r\npublic class EjemploServlet extends HttpServlet {\r\n    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {\r\n        response.getWriter().write(\"Hola desde el Servlet\");\r\n    }\r\n}\r<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><a>10.3. Creaci\u00f3n de una P\u00e1gina JSP<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una p\u00e1gina JSP es un archivo con extensi\u00f3n .jsp que contiene c\u00f3digo HTML y Java embebido. Aqu\u00ed hay un ejemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;%@ page language=\"java\" contentType=\"text\/html; charset=UTF-8\" pageEncoding=\"UTF-8\" %>\r\n&lt;!DOCTYPE html>\r\n&lt;html>\r\n&lt;head>\r\n    &lt;meta charset=\"UTF-8\">\r\n    &lt;title>Ejemplo JSP&lt;\/title>\r\n&lt;\/head>\r\n&lt;body>\r\n    &lt;h1>&lt;%= \"Hola desde la p\u00e1gina JSP\" %>&lt;\/h1>\r\n&lt;\/body>\r\n&lt;\/html>\r<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><a>10.4. Comunicaci\u00f3n entre Servlets y JSP<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Los Servlets y las p\u00e1ginas JSP pueden comunicarse entre s\u00ed. Los Servlets pueden enviar datos a las JSP para mostrar en la p\u00e1gina web. Aqu\u00ed hay un ejemplo de c\u00f3mo un Servlet env\u00eda datos a una p\u00e1gina JSP:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>request.setAttribute(\"mensaje\", \"Hola desde el Servlet\");\r\nrequest.getRequestDispatcher(\"pagina.jsp\").forward(request, response);\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Luego, en la p\u00e1gina JSP, puedes acceder al atributo \u00abmensaje\u00bb y mostrarlo en la p\u00e1gina.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>10.5. Ejercicios de Pr\u00e1ctica<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejercicio 10.5.1: Crear un Formulario de Registro<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Desarrolla un Servlet y una p\u00e1gina JSP para crear un formulario de registro de usuarios. Captura los datos del formulario en el Servlet y muestra un mensaje de confirmaci\u00f3n en la p\u00e1gina JSP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejercicio 10.5.2: Crear una Lista de Elementos<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Crea un Servlet y una p\u00e1gina JSP que muestren una lista de elementos (por ejemplo, nombres) almacenados en una lista Java. Los elementos se deben mostrar din\u00e1micamente en la p\u00e1gina JSP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Resumen del Cap\u00edtulo<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este cap\u00edtulo ha introducido el desarrollo web en Java utilizando Servlets y JSP. Hemos aprendido c\u00f3mo crear Servlets y p\u00e1ginas JSP, as\u00ed como c\u00f3mo comunicar datos entre ellos. Los ejercicios proporcionados permiten a los lectores practicar y profundizar en su comprensi\u00f3n del desarrollo web en Java. Estas tecnolog\u00edas son fundamentales para crear aplicaciones web din\u00e1micas y escalables.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>Respuesta ejercicio 10.5.1:<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para desarrollar un Servlet y una p\u00e1gina JSP que creen un formulario de registro de usuarios, capturen los datos del formulario en el Servlet y muestren un mensaje de confirmaci\u00f3n en la p\u00e1gina JSP, sigue estos pasos:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 1: Crear el Proyecto Web<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Crea un nuevo proyecto web en tu entorno de desarrollo Java EE, como Eclipse o NetBeans.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 2: Crear un Servlet<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2.1. Crea un Servlet llamado&nbsp;<code>RegistroServlet<\/code>&nbsp;que manejar\u00e1 la l\u00f3gica del formulario de registro y la confirmaci\u00f3n.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import java.io.IOException;\r\nimport javax.servlet.annotation.WebServlet;\r\nimport javax.servlet.http.HttpServlet;\r\nimport javax.servlet.http.HttpServletRequest;\r\nimport javax.servlet.http.HttpServletResponse;\r\n\r\n@WebServlet(\"\/RegistroServlet\")\r\npublic class RegistroServlet extends HttpServlet {\r\n    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {\r\n        \/\/ Capturar datos del formulario\r\n        String nombre = request.getParameter(\"nombre\");\r\n        String correo = request.getParameter(\"correo\");\r\n\r\n        \/\/ Realizar alguna l\u00f3gica de procesamiento aqu\u00ed (por ejemplo, almacenar en una base de datos)\r\n\r\n        \/\/ Enviar mensaje de confirmaci\u00f3n a la p\u00e1gina JSP\r\n        request.setAttribute(\"mensaje\", \"Registro exitoso para \" + nombre + \" (\" + correo + \")\");\r\n        request.getRequestDispatcher(\"confirmacion.jsp\").forward(request, response);\r\n    }\r\n}\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 3: Crear una P\u00e1gina JSP<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3.1. Crea una p\u00e1gina JSP llamada&nbsp;<code>registro.jsp<\/code>&nbsp;que contendr\u00e1 el formulario de registro.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;%@ page language=\"java\" contentType=\"text\/html; charset=UTF-8\" pageEncoding=\"UTF-8\" %>\r\n&lt;!DOCTYPE html>\r\n&lt;html>\r\n&lt;head>\r\n    &lt;meta charset=\"UTF-8\">\r\n    &lt;title>Formulario de Registro&lt;\/title>\r\n&lt;\/head>\r\n&lt;body>\r\n    &lt;h1>Formulario de Registro&lt;\/h1>\r\n    &lt;form action=\"RegistroServlet\" method=\"post\">\r\n        Nombre: &lt;input type=\"text\" name=\"nombre\" required>&lt;br>\r\n        Correo: &lt;input type=\"email\" name=\"correo\" required>&lt;br>\r\n        &lt;input type=\"submit\" value=\"Registrar\">\r\n    &lt;\/form>\r\n&lt;\/body>\r\n&lt;\/html>\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">3.2. Crea una p\u00e1gina JSP llamada <code>confirmacion.jsp<\/code> que mostrar\u00e1 el mensaje de confirmaci\u00f3n.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;%@ page language=\"java\" contentType=\"text\/html; charset=UTF-8\" pageEncoding=\"UTF-8\" %>\r\n&lt;!DOCTYPE html>\r\n&lt;html>\r\n&lt;head>\r\n    &lt;meta charset=\"UTF-8\">\r\n    &lt;title>Confirmaci\u00f3n de Registro&lt;\/title>\r\n&lt;\/head>\r\n&lt;body>\r\n    &lt;h1>Confirmaci\u00f3n de Registro&lt;\/h1>\r\n    &lt;p>${mensaje}&lt;\/p>\r\n&lt;\/body>\r\n&lt;\/html>\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 4: Configuraci\u00f3n del Despliegue<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4.1. Aseg\u00farate de que el Servlet y las p\u00e1ginas JSP est\u00e9n configurados adecuadamente en el archivo <code>web.xml<\/code> o utilizando anotaciones si est\u00e1s utilizando Java EE 6 o versiones posteriores.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 5: Ejecuci\u00f3n de la Aplicaci\u00f3n<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5.1. Ejecuta la aplicaci\u00f3n en tu servidor web (por ejemplo, Apache Tomcat).<strong><br><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Resultado Esperado:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al acceder a&nbsp;<code>registro.jsp<\/code>, los usuarios ver\u00e1n un formulario de registro donde pueden ingresar su nombre y correo. Cuando env\u00eden el formulario, el Servlet&nbsp;<code>RegistroServlet<\/code>&nbsp;capturar\u00e1 los datos, realizar\u00e1 alguna l\u00f3gica de procesamiento (por ejemplo, almacenamiento en una base de datos simulada) y luego redirigir\u00e1 a la p\u00e1gina JSP&nbsp;<code>confirmacion.jsp<\/code>, donde se mostrar\u00e1 un mensaje de confirmaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este ejercicio muestra c\u00f3mo crear un formulario de registro de usuarios en Java utilizando Servlets y JSP. Puedes personalizar este ejemplo para incluir m\u00e1s campos en el formulario y l\u00f3gica de procesamiento adicional.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a>Respuesta ejercicio 10.5.2:<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para crear un Servlet y una p\u00e1gina JSP que muestren una lista de elementos (por ejemplo, nombres) almacenados en una lista Java y se muestren din\u00e1micamente en la p\u00e1gina JSP, sigue estos pasos:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 1: Crear el Proyecto Web<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Crea un nuevo proyecto web en tu entorno de desarrollo Java EE, como Eclipse o NetBeans.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 2: Crear un Servlet<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2.1. Crea un Servlet llamado&nbsp;<code>ListaServlet<\/code>&nbsp;que manejar\u00e1 la l\u00f3gica de la lista de elementos y la presentaci\u00f3n en la p\u00e1gina JSP.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import java.io.IOException;\r\nimport java.util.ArrayList;\r\nimport javax.servlet.annotation.WebServlet;\r\nimport javax.servlet.http.HttpServlet;\r\nimport javax.servlet.http.HttpServletRequest;\r\nimport javax.servlet.http.HttpServletResponse;\r\n\r\n@WebServlet(\"\/ListaServlet\")\r\npublic class ListaServlet extends HttpServlet {\r\n    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {\r\n        \/\/ Crear una lista de nombres\r\n        ArrayList&lt;String> nombres = new ArrayList&lt;>();\r\n        nombres.add(\"Juan\");\r\n        nombres.add(\"Mar\u00eda\");\r\n        nombres.add(\"Carlos\");\r\n        nombres.add(\"Ana\");\r\n\r\n        \/\/ Agregar la lista de nombres como atributo de solicitud\r\n        request.setAttribute(\"nombres\", nombres);\r\n\r\n        \/\/ Redirigir a la p\u00e1gina JSP\r\n        request.getRequestDispatcher(\"lista.jsp\").forward(request, response);\r\n    }\r\n}\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 3: Crear una P\u00e1gina JSP<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3.1. Crea una p\u00e1gina JSP llamada&nbsp;<code>lista.jsp<\/code>&nbsp;que mostrar\u00e1 din\u00e1micamente los elementos de la lista.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;%@ page language=\"java\" contentType=\"text\/html; charset=UTF-8\" pageEncoding=\"UTF-8\" %>\r\n&lt;!DOCTYPE html>\r\n&lt;html>\r\n&lt;head>\r\n    &lt;meta charset=\"UTF-8\">\r\n    &lt;title>Lista de Nombres&lt;\/title>\r\n&lt;\/head>\r\n&lt;body>\r\n    &lt;h1>Lista de Nombres&lt;\/h1>\r\n    &lt;ul>\r\n        &lt;c:forEach items=\"${nombres}\" var=\"nombre\">\r\n            &lt;li>${nombre}&lt;\/li>\r\n        &lt;\/c:forEach>\r\n    &lt;\/ul>\r\n&lt;\/body>\r\n&lt;\/html>\r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 4: Configuraci\u00f3n del Despliegue<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4.1. Aseg\u00farate de que el Servlet y la p\u00e1gina JSP est\u00e9n configurados adecuadamente en el archivo&nbsp;<code>web.xml<\/code>&nbsp;o utilizando anotaciones si est\u00e1s utilizando Java EE 6 o versiones posteriores.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Paso 5: Ejecuci\u00f3n de la Aplicaci\u00f3n<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5.1. Ejecuta la aplicaci\u00f3n en tu servidor web (por ejemplo, Apache Tomcat).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Resultado Esperado:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al acceder a&nbsp;<code>ListaServlet<\/code>, los usuarios ver\u00e1n una lista de nombres que se muestra din\u00e1micamente en la p\u00e1gina JSP&nbsp;<code>lista.jsp<\/code>. Los nombres provienen de la lista Java definida en el Servlet y se presentan utilizando etiquetas JSTL (JavaServer Pages Standard Tag Library).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este ejercicio muestra c\u00f3mo crear una p\u00e1gina web que muestra una lista de elementos din\u00e1micamente en Java utilizando Servlets y JSP. Puedes personalizar este ejemplo para incluir m\u00e1s elementos en la lista y l\u00f3gica de procesamiento adicional.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este cap\u00edtulo, exploraremos el desarrollo web en Java utilizando Servlets y JSP (JavaServer Pages). Estas tecnolog\u00edas son fundamentales para crear aplicaciones web din\u00e1micas en el entorno Java. Aprender\u00e1s a construir p\u00e1ginas web interactivas y gestionar solicitudes de clientes. 10.1. Introducci\u00f3n a Servlets y JSP Los&nbsp;Servlets&nbsp;son clases de Java que gestionan solicitudes y respuestas HTTP. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2059,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[40],"tags":[],"class_list":["post-2058","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java-y-otras-hierbas"],"uagb_featured_image_src":{"full":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/12\/Desarrollo-Web-con-Java.jpg",1000,667,false],"thumbnail":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/12\/Desarrollo-Web-con-Java-150x150.jpg",150,150,true],"medium":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/12\/Desarrollo-Web-con-Java-300x200.jpg",300,200,true],"medium_large":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/12\/Desarrollo-Web-con-Java-768x512.jpg",768,512,true],"large":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/12\/Desarrollo-Web-con-Java.jpg",1000,667,false],"1536x1536":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/12\/Desarrollo-Web-con-Java.jpg",1000,667,false],"2048x2048":["https:\/\/stackcodelab.com\/blog\/wp-content\/uploads\/2023\/12\/Desarrollo-Web-con-Java.jpg",1000,667,false]},"uagb_author_info":{"display_name":"arquitecto","author_link":"https:\/\/stackcodelab.com\/blog\/author\/arquitecto\/"},"uagb_comment_info":0,"uagb_excerpt":"En este cap\u00edtulo, exploraremos el desarrollo web en Java utilizando Servlets y JSP (JavaServer Pages). Estas tecnolog\u00edas son fundamentales para crear aplicaciones web din\u00e1micas en el entorno Java. Aprender\u00e1s a construir p\u00e1ginas web interactivas y gestionar solicitudes de clientes. 10.1. Introducci\u00f3n a Servlets y JSP Los&nbsp;Servlets&nbsp;son clases de Java que gestionan solicitudes y respuestas HTTP.&hellip;","_links":{"self":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts\/2058","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/comments?post=2058"}],"version-history":[{"count":1,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts\/2058\/revisions"}],"predecessor-version":[{"id":2060,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/posts\/2058\/revisions\/2060"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/media\/2059"}],"wp:attachment":[{"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/media?parent=2058"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/categories?post=2058"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stackcodelab.com\/blog\/wp-json\/wp\/v2\/tags?post=2058"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}