En el proyecto que utilizamos en la parte anterior crearemos un nuevo servlet:
Tras eso creamos 2 url todas en minúsculas:
Si queremos cambiar las URL debemos ir a src/main/webapp/WEB-INF/web.xml:
Cuando abramos el archivo podemos cambiar del modo diseño al modo source para ver el xml pulsando en source:
A continuación veremos el siguiente código en XML:
<?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"> <servlet><!-- Declaramos un nuevo servlet --> <description></description> <display-name>Hola_Mundo</display-name> <servlet-name>Hola_Mundo</servlet-name> <servlet-class>com.organizacion.servlets.Hola_Mundo</servlet-class> </servlet><!-- Cerramos el Servlet --> <servlet-mapping> <!-- Permite acceder al servlet --> <servlet-name>Hola_Mundo</servlet-name><!-- Nombre de la clase --> <url-pattern>/holamundo</url-pattern><!-- URL del servlet --> </servlet-mapping> <display-name>Hola_Mundo</display-name><!-- Nombre que aparecerá en el listado de contextos --> <welcome-file-list><!-- Indicamos los ficheros que serán accesibles --> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet><!-- Declaramos un nuevo servlet --> <description></description> <display-name>MiSegundoSevlet</display-name> <servlet-name>MiSegundoSevlet</servlet-name> <servlet-class>com.organizacion.servlets.MiSegundoSevlet</servlet-class> </servlet><!-- Fin de la declaración del nuevo servlet --> <servlet-mapping> <servlet-name>MiSegundoSevlet</servlet-name> <url-pattern>/nisegundosevlet</url-pattern> <url-pattern>/segundaurl</url-pattern> </servlet-mapping> </web-app>
Para obtener parámetros después de la url añadimos un “?” Seguido de los parámetros separados por “&”:
localhost:8080/Hola_Mundo/nisegundosevlet?param1=valor¶m2=valor&tmp=pablo
Para hacer funcionar esto debemos añadir lo siguiente a nuestro código dentro de doGet:
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()); }
El código completo sería el siguiente:
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); } }
Este código nos mostrará lo siguiente en el navegador: