Java 新手如何使用Spring MVC 中的查询字符串和查询参数?
根据维基百科的说法,“查询字符串是统一资源定位符(URL)的一部分,它为指定的参数分配值。查询字符串通常包括由 Web 浏览器或其他客户端应用程序添加到基本 URL 的字段,例如作为 HTML 的一部分、选择页面的外观或跳转到多媒体内容中的位置。让我们通过一个例子来简单地理解这个说法。假设您在互联网上填写了一份表格,并且您注意到 URL 如下所示:
http://internet.org/process-homepage?number1=23&number2=12
所以在上面的URL中,查询字符串就是问号(“?”)后面的任何内容,即(“number1=23&number2=12”)这部分。其中“number1=23”、“number2=12”是查询参数,由连接符“&”连接。
让我们考虑另一个 URL,如下所示:
http://internet.org?title=Query_string&action=edit
所以在上面的URL中,查询字符串是“title=Query_string&action=edit”这部分。“title=Query_string”、“action=edit”是由连接器“&”连接的查询参数。
在本文中,我们将从 Spring MVC 的角度讨论查询字符串和查询参数的概念。我们将开发一个简单的 MVC 应用程序,并将了解如何生成查询字符串和查询参数。
第 1 步:
我们将在该项目中使用 Spring Tool Suite 4 IDE。转到STS IDE,然后创建一个新的maven项目,File > New > Maven Project,然后选择以下原型,如下图所示:
步骤2:
将以下maven依赖项和插件添加到pom.xml文件中。
org.springframework
spring-webmvc
5.3.18
javax.servlet
javax.servlet-api
4.0.1
provided
org.apache.maven.plugins
maven-war-plugin
2.6
false
以下是添加这些依赖项后 pom服务器托管网.xml 文件的完整代码。
文件:pom.xml
4.0.0
com.geeksforgeeks
simple-calculator
war
0.0.1-SNAPSHOT
simple-calculator Maven Webapp
http://maven.apache.org
junit
junit
3.8.1
test
org.springframework
spring-webmvc
5.3.18
javax.servlet
javax.servlet-api
4.0.1
provided
simple-calculator
org.apache.maven.plugins
maven-war-plugin
2.6
false
第 3 步:
配置调度程序 Servlet
让我们先看一下下图中的文件结构。
因此,首先创建一个src/main/java文件夹,并在该文件夹中创建一个名为CalculatorAppIntilizer的类,并将其放入com.geeksforgeeks.calculator.config包中,并扩展AbstractAnnotationConfigDispatcherServletInitializer类。参考下图如下:
每当您扩展此类时,它都有一些我们需要提供实现的预抽象方法。现在在这个类中,我们只需编写两行代码来配置 Dispatcher Servlet。在此之前,我们必须为 Spring 配置文件创建另一个类。
因此,转到src/main/java文件夹,并在该文件夹内创建一个名为CalculatorAppConfig的类,并将其放入com.geeksforgeeks.calculator.config包中。
文件: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 {}
以下是CalculatorAppIntilizer.java文件的完整代码。
文件:CalculatorAppIntilizer.java
// Java Program to Illustrate CalculatorAppIntilizer
package com.geeksforgeeks.calculator.config;
// Importing required classes
imp服务器托管网ort 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[] = { "/demo.org/*" };
return arr;
}
}
第四步:
设置ViewResolver
Spring MVC 是一个用于构建 Web 应用程序的 Web MVC 框架。一般来说,所有 MVC 框架都提供了一种使用视图的方法。Spring 通过 ViewResolvers 来实现这一点,它使您能够在浏览器中渲染模型,而无需将实现与特定的视图技术绑定。在这里阅读更多内容:Spring MVC 中的 ViewResolver。因此,为了设置 ViewResolver,请转到CalculatorAppConfig.java文件并写下如下代码:
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/view/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
下面是编写设置 ViewResolver 的代码后CalculatorAppConfig.java文件的更新代码。
文件:更新的CalculatorAppConfig.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;
}
}
第5步:
创建控制器
转到src/main/java文件夹,并在该文件夹内创建一个名为AppController的类,并将其放入“com.geeksforgeeks.calculator.controllers”包中。
文件: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";
}
}
第 6 步:
创建视图
现在我们必须在WEB-INF/view文件夹中创建一个名为“welcome-page”的视图,扩展名为.jsp。因此,转到src > main > webapp > WEB-INF并创建一个文件夹视图,并在该文件夹内创建一个名为welcome-page的jsp 文件。下面是welcome-page.jsp文件的代码。
文件:welcome-page.jsp
Hello
Simple Calculator Application
视图看起来像这样
第 7 步:
运行您的应用程序
现在我们的项目已准备好运行。因此,让我们测试我们的应用程序并了解查询字符串的概念。要运行我们的 Spring MVC 应用程序,请右键单击您的项目 > 运行方式 > 在服务器上运行。并如下图所示运行您的应用程序,如下图所示:
之后使用以下 URL 运行您的控制器
http://localhost:8080/simple-calculator/geeksforgeeks.org/home
输出:
现在,让我们在标签中输入一些值,然后单击“计算”按钮。假设我们在这里输入了 23 和 45,每当我们单击“计算”按钮时,就会生成一个 URL,如下所示:
http://localhost:8080/simple-calculator/geeksforgeeks.org/process-homepage?number1=23&number2=45
这是因为在welcome-page.jsp文件中写入了这一行“
”。现在让我们深入了解这个 URL。正如我们之前讨论的,“number1=23&number2=45”是查询字符串,“number1=23”是查询参数。下面是对上面网址的详细分析
元素 |
意义 |
http |
协议 |
localhost |
服务器 |
8080 |
端口号 |
/simple-calculator/demo.org/process-homepage |
资源地址 |
number1=23&number2=45 |
请求参数 |
? |
标识符 |
number1=23, number2=45 |
查询参数 |
& |
连接器 |
这就是 Spring MVC 应用程序中生成查询字符串和查询参数的方式。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 基于 Triple 实现 Web 移动端后端全面打通
【源创会预告】1024 程序员节(的前两天),相约开源中国办公室,我们一起聊 AI!>>> 01 RPC 协议开发微服务 在我们正常开发微服务的时候,传统 RPC 服务可能在最底层。上层可能是浏览器、移动端、外界的服务器、自己的测试、curl…