Según Wikipedia, “una string de consulta es parte de un localizador uniforme de recursos (URL) que asigna valores a parámetros específicos. Una string de consulta comúnmente incluye campos agregados a una URL base por un navegador web u otra aplicación cliente, por ejemplo, como parte de un HTML, eligiendo la apariencia de una página o saltando a posiciones en contenido multimedia. Entendamos esta afirmación de forma sencilla mediante un ejemplo. Supongamos que ha completado un formulario en Internet y si ha notado que la URL es algo como lo que se muestra a continuación:
http://internet.org/process-homepage?number1=23&number2=12
Entonces, en la URL anterior, la string de consulta es lo que sigue al signo de interrogación (“?”), es decir, (“número1=23&número2=12”) esta parte. Y “número1=23”, “número2=12” son Parámetros de Consulta que están unidos por un conector “&”.
Consideremos otra URL como la siguiente:
http://internet.org?title=Query_string&action=edit
Entonces, en la URL anterior, la string de consulta es “título=string_de_consulta&acción=editar” esta parte. Y “title=Query_string”, “action=edit” son parámetros de consulta que se unen mediante un conector “&”.
En este artículo, vamos a discutir el concepto de la string de consulta y el parámetro de consulta desde el punto de vista de Spring MVC. Vamos a desarrollar una aplicación MVC simple y comprenderemos cómo se generan las strings de consulta y los parámetros de consulta.
Implementación
Paso 1: configurar el proyecto
Vamos a utilizar Spring Tool Suite 4 IDE para este proyecto. Consulte este artículo para instalar STS en su máquina local ¿Cómo descargar e instalar Spring Tool Suite (Spring Tools 4 para Eclipse) IDE? Vaya a STS IDE, luego cree un nuevo proyecto maven, Archivo> Nuevo> Proyecto Maven, y elija el siguiente arquetipo como se muestra en la imagen a continuación:
Paso 2: agregue las siguientes dependencias de Maven y el complemento al archivo pom.xml .
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.18</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <!-- plugin --> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> </plugins> </build>
A continuación se muestra el código completo para el archivo pom.xml después de agregar estas dependencias.
Archivo: pom.xml
XML
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.geeksforgeeks</groupId> <artifactId>simple-calculator</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>simple-calculator Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.18</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalName>simple-calculator</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> </plugins> </build> </project>
Paso 3: Configuración del servlet de despachador
Antes, echemos un vistazo a la estructura del archivo en la imagen de abajo.
Entonces, primero cree una carpeta src/main/java y dentro de esta carpeta cree una clase llamada CalculatorAppIntilizer y colóquela dentro del paquete com.geeksforgeeks.calculator.config y extienda la clase AbstractAnnotationConfigDispatcherServletInitializer . Consulte la siguiente imagen de la siguiente manera:
Y cada vez que extiende esta clase, tiene algunos métodos preabstractos que necesitamos para proporcionar la implementación. Ahora, dentro de esta clase, solo tenemos que escribir dos líneas de código para configurar el servlet de despachador. Antes de eso, tenemos que crear otra clase para el archivo de configuración de Spring. Entonces, vaya a la carpeta src/main/java y dentro de esta carpeta cree una clase llamada CalculatorAppConfig y colóquela dentro del paquete com.geeksforgeeks.calculator.config .
Archivo: CalculatorAppConfig.java
package com.geeksforgeeks.calculator.config; // Importing required classes import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; // Class @Configuration @ComponentScan(basePackages = "com.geeksforgeeks.calculator.controllers") public class CalculatorAppConfig {}
Aquí está el código completo para el archivo CalculatorAppIntilizer.java .
Archivo: CalculatorAppIntilizer.java
Java
// Java Program to Illustrate CalculatorAppIntilizer package com.geeksforgeeks.calculator.config; // Importing required classes import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; // Class public class CalculatorAppIntilizer extends AbstractAnnotationConfigDispatcherServletInitializer { @Override protected Class<?>[] getRootConfigClasses() { return null; } // Registering the Spring config file @Override protected Class<?>[] getServletConfigClasses() { Class aClass[] = { CalculatorAppConfig.class }; return aClass; } // Adding mapping URL @Override protected String[] getServletMappings() { String arr[] = { "/geeksforgeeks.org/*" }; return arr; } }
Paso 4: Configurar ViewResolver
Spring MVC es un marco Web MVC para crear aplicaciones web. En general, todos los marcos MVC proporcionan una forma de trabajar con vistas. Spring hace eso a través de ViewResolvers, que le permite representar modelos en el navegador sin vincular la implementación a una tecnología de vista específica. Lea más aquí: ViewResolver en Spring MVC . Entonces, para configurar ViewResolver, vaya al archivo CalculatorAppConfig.java y escriba el código que es el siguiente:
@Bean public InternalResourceViewResolver viewResolver() { InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.setPrefix("/WEB-INF/view/"); viewResolver.setSuffix(".jsp"); return viewResolver; }
Y debajo está el código actualizado para el archivo CalculatorAppConfig.java después de escribir el código para configurar ViewResolver.
Archivo: Actualizado CalculatorAppConfig.java
Java
// Java Program to Demonstrate Updated // Calculator App Configuration package com.geeksforgeeks.calculator.config; // Importing required classes import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.view.InternalResourceViewResolver; // Class @EnableWebMvc @Configuration @ComponentScan(basePackages = "com.geeksforgeeks.calculator.controllers") public class CalculatorAppConfig { // Setting up ViewResolver @Bean public InternalResourceViewResolver viewResolver() { InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.setPrefix("/WEB-INF/view/"); viewResolver.setSuffix(".jsp"); return viewResolver; } }
Paso 5: Crear controlador
Vaya a la carpeta src/main/java y dentro de esta carpeta cree una clase llamada AppController y póngala dentro del paquete ‘com.geeksforgeeks.calculator.controllers’ .
Archivo: archivo AppController.java
// Java Program to Illustrate AppController Class package com.geeksforgeeks.calculator.controllers; // Importing required classes import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; // Class @Controller public class AppController { // Method @RequestMapping("/home") public String showHomePage() { return "welcome-page"; } }
Paso 6: Crear una vista
Ahora tenemos que crear una vista llamada » página de bienvenida » dentro de la carpeta WEB-INF/view con la extensión .jsp . Así que vaya a src> main> webapp> WEB-INF y cree una vista de carpeta y dentro de esa carpeta cree un archivo jsp llamado página de bienvenida . A continuación se muestra el código para el archivo welcome-page.jsp .
Archivo: página de bienvenida.jsp
HTML
<html> <head> <title>Hello</title> </head> <body> <h1 align="center">Simple Calculator Application</h1> <form action="process-homepage" method="get"> <div align="center"> <p> <label for="num1">Enter First Number : </label> <input type="text" id="num1" name="number1" /> </p> <p> <label for="num2">Enter Second Number : </label> <input type="text" id="num2" name="number2" /> </p> <input type="submit" value="Calculate" /> </div> </form> </body> </html>
La vista se ve así
Paso 7: Ejecute su aplicación
Ahora nuestro proyecto está listo para ejecutarse. Entonces, probemos nuestra aplicación y entendamos el concepto de string de consulta. Para ejecutar nuestra aplicación Spring MVC, haga clic con el botón derecho en su proyecto > Ejecutar como > Ejecutar en el servidor. Y ejecute su aplicación como se muestra en la imagen a continuación como se muestra a continuación de la siguiente manera:
Después de eso, use la siguiente URL para ejecutar su controlador
http://localhost:8080/simple-calculator/geeksforgeeks.org/home
Producción:
Ahora pongamos algunos valores dentro de la etiqueta y hagamos clic en el botón Calcular. Supongamos que aquí hemos puesto 23 y 45 y cada vez que hacemos clic en el botón Calcular se genera una URL como se muestra a continuación:
http://localhost:8080/simple-calculator/geeksforgeeks.org/process-homepage?number1=23&number2=45
Y esto se debe a esta línea “<form action=”process-homepage” method=”get”>” escrita en el archivo welcome-page.jsp . Así que ahora comprendamos esta URL en profundidad. Y como hemos comentado anteriormente aquí, «número1=23&número2=45» es la string de consulta y «número1=23» es el parámetro de consulta . Aquí está el análisis detallado de la URL anterior
Elemento |
Sentido |
---|---|
http | Protocolo |
servidor local | Servidor |
8080 | Número de puerto |
/simple-calculator/geeksforgeeks.org/process-homepage | Dirección al recurso |
número 1 = 23 y número 2 = 45 | String de consulta |
? | identificador |
número1=23, número2=45 | Parámetro de consulta |
& | Conector |
Así es como se generan las strings de consulta y los parámetros de consulta en la aplicación Spring MVC.
Publicación traducida automáticamente
Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA