Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


dad2:servlets2

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
dad2:servlets2 [2024/02/06 10:33] – creado thejuanvisudad2:servlets2 [2024/02/06 11:32] (actual) thejuanvisu
Línea 27: Línea 27:
 <?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://jakarta.ee/xml/ns/jakartaee" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd" version="6.0"> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://jakarta.ee/xml/ns/jakartaee" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd" version="6.0">
-  <servlet>+  <servlet><!-- Declaramos un nuevo servlet -->
     <description></description>     <description></description>
     <display-name>Hola_Mundo</display-name>     <display-name>Hola_Mundo</display-name>
     <servlet-name>Hola_Mundo</servlet-name>     <servlet-name>Hola_Mundo</servlet-name>
     <servlet-class>com.organizacion.servlets.Hola_Mundo</servlet-class>     <servlet-class>com.organizacion.servlets.Hola_Mundo</servlet-class>
-  </servlet> +  </servlet><!-- Cerramos el Servlet --
-  <servlet-mapping> +  <servlet-mapping> <!-- Permite acceder al servlet --
-    <servlet-name>Hola_Mundo</servlet-name> +    <servlet-name>Hola_Mundo</servlet-name><!-- Nombre de la clase --
-    <url-pattern>/holamundo</url-pattern>+    <url-pattern>/holamundo</url-pattern><!-- URL del servlet -->
   </servlet-mapping>   </servlet-mapping>
-  <display-name>Hola_Mundo</display-name> +  <display-name>Hola_Mundo</display-name><!-- Nombre que aparecerá en el listado de contextos --
-  <welcome-file-list>+  <welcome-file-list><!-- Indicamos los ficheros que serán accesibles -->
     <welcome-file>index.html</welcome-file>     <welcome-file>index.html</welcome-file>
     <welcome-file>index.htm</welcome-file>     <welcome-file>index.htm</welcome-file>
Línea 46: Línea 46:
     <welcome-file>default.jsp</welcome-file>     <welcome-file>default.jsp</welcome-file>
   </welcome-file-list>   </welcome-file-list>
-  <servlet>+   
 +   
 +  <servlet><!-- Declaramos un nuevo servlet -->
     <description></description>     <description></description>
     <display-name>MiSegundoSevlet</display-name>     <display-name>MiSegundoSevlet</display-name>
     <servlet-name>MiSegundoSevlet</servlet-name>     <servlet-name>MiSegundoSevlet</servlet-name>
     <servlet-class>com.organizacion.servlets.MiSegundoSevlet</servlet-class>     <servlet-class>com.organizacion.servlets.MiSegundoSevlet</servlet-class>
-  </servlet>+  </servlet><!-- Fin de la declaración del nuevo servlet -->
   <servlet-mapping>   <servlet-mapping>
     <servlet-name>MiSegundoSevlet</servlet-name>     <servlet-name>MiSegundoSevlet</servlet-name>
Línea 59: Línea 61:
 </web-app> </web-app>
 </code> </code>
 +
 +===== Obtencion de parámetros mediante Query String =====
 +
 +Para obtener parámetros después de la url añadimos un "?" Seguido de los parámetros separados por "&":
 +<code>
 +localhost:8080/Hola_Mundo/nisegundosevlet?param1=valor&param2=valor&tmp=pablo
 +</code>
 +
 +Para hacer funcionar esto debemos añadir lo siguiente a nuestro código dentro de doGet:
 +<code java>
 + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 + // TODO Auto-generated method stub
 +
 + String paramName ="";
 + response.getWriter().append("<html><head><title>Primer Contexto</title></head><body>");//Imprimimos la cabecera
 +
 + for(Enumeration<String> params= request.getParameterNames(); params.hasMoreElements();) {//Recorremos los parámetros de entrada
 + paramName=params.nextElement();
 + response.getWriter().append(paramName + ":" + request.getParameter(paramName) + "<br>");//Mostramos cada parámetro con su nombre acompañado de unsalto de línea
 + }
 +
 + response.getWriter().append("</body></html>");//cerramos el final del documento
 +
 +
 + //response.getWriter().append("Patata: Served at: ").append(request.getContextPath());
 +
 + }
 +</code>
 +
 +El código completo sería el siguiente:
 +<code java>
 +package com.organizacion.servlets;
 +
 +import jakarta.servlet.ServletContext;
 +import jakarta.servlet.ServletException;
 +import jakarta.servlet.annotation.WebServlet;
 +import jakarta.servlet.http.HttpServlet;
 +import jakarta.servlet.http.HttpServletRequest;
 +import jakarta.servlet.http.HttpServletResponse;
 +import jakarta.websocket.Extension.Parameter;
 +
 +import java.io.IOException;
 +import java.util.Enumeration;
 +
 +/**
 + * Servlet implementation class MiSegundoSevlet
 + */
 +public class MiSegundoSevlet extends HttpServlet {
 + private static final long serialVersionUID = 1L;
 +       
 +    /**
 +     * @see HttpServlet#HttpServlet()
 +     */
 +    public MiSegundoSevlet() {
 +        super();
 +        // TODO Auto-generated constructor stub
 +    }
 +
 + /**
 + * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 + */
 + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 + // TODO Auto-generated method stub
 +
 + String paramName ="";
 + response.getWriter().append("<html><head><title>Primer Contexto</title></head><body>");//Imprimimos la cabecera
 +
 + for(Enumeration<String> params= request.getParameterNames(); params.hasMoreElements();) {//Recorremos los parámetros de entrada
 + paramName=params.nextElement();
 + response.getWriter().append(paramName + ":" + request.getParameter(paramName) + "<br>");//Mostramos cada parámetro con su nombre acompañado de unsalto de línea
 + }
 +
 + response.getWriter().append("</body></html>");//cerramos el final del documento
 +
 +
 + //response.getWriter().append("Patata: Served at: ").append(request.getContextPath());
 +
 + }
 +
 + /**
 + * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 + */
 + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 + // TODO Auto-generated method stub
 + doGet(request, response);
 + }
 +
 +}
 +
 +</code>
 +
 +Este código nos mostrará lo siguiente en el navegador:
 +<WRAP>
 +{{:dad2:pasted:20240206-113227.png}}
 +</WRAP>
dad2/servlets2.1707215623.txt.gz · Última modificación: 2024/02/06 10:33 por thejuanvisu