首页 > 其他分享 >【SpringMVC】web服务器,访问失败的问题,SpringMVC,建立连接,请求

【SpringMVC】web服务器,访问失败的问题,SpringMVC,建立连接,请求

时间:2024-10-30 09:18:59浏览次数:3  
标签:web 请求 SpringMVC 代码 参数 服务器 注解 接收

【web服务器】

web服务器可以对http协议进行封装,程序员不需要直接对http协议进行操作(不需要去写复杂的网络编程代码),让web开发更加便捷,所以它也有「WWW服务器」的称呼

常见的web服务器:Tomcat,Jboss,IIS等

SpringBoot内置了Tomcat服务器,无需配置即可使用

Tomcat默认端口是「8080」,所以我们程序访问时的端口号也是8080

【访问失败的问题】

【状态码】

2XX:表示成功

3XX:重定向,转移

4XX:客户端(浏览器)错误,通常指请求头有问题,检查url是否拼写有误,方法是否受限等

5XX:服务器错误,一般是代码报错,检查代码是否有问题

【无法访问】

原因:

1.服务器没有启动

2.没有权限,不能访问目标的端口号

【错误日志】

阅读日志,从下往上,从左往右以段为单位进行阅读

一直看到有蓝色信息为止,蓝色信息代表是我们的代码

【Spring Web MVC】

简称「Spring MVC」,是一个web框架

MVC是“model view controller ”的简写,一种软件架构设计模式,它把软件系统分为模型,视图,控制器三个基本部分

模型:应用程序的主体部分,用于处理程序中是数据逻辑

视图:应用程序中专门用来与浏览器进行交互,展示数据的资源

控制器:可以理解为一个分发器,用于决定对视图发来的请求,用哪一个模型进行处理,以及处理完后需要跳转回哪一个视图,即用来连接视图与模型

Spring MVC架构:

spring MVC的重点是,通过浏览器和用户程序进行交互

分为三方面:

建立连接:将用户(浏览器)和程序连接起来,也就是访问一个地址能调用到我们的spring程序

请求:用户请求时会携带一些参数,在程序中要想办法获取到这些参数,所以请求中主要是获取参数的功能

响应:执行完业务逻辑后,要把程序的结果返回给用户,也就是相应

【建立连接】

关键注解1:@RequestMapping()

括号内指定资源路径名称

这个方法可以进行「建立连接」

关键注解2:@RestController

配置环境后,附带的maven包中的代码有成百上千行,如果没有给我们写的代码打标记,这相当于Spring要一次阅读所有的代码,这对于Spring的负担很大,因此它会直接不看,并产生状态码报错

「@RestController」可以给我们写的代码“打上一个标记”,让Spring去阅读我们写的代码,这样才能生效

而「@RequestMapping」可以加在类上,也可以加在方法上,也可以都加

加在类上,就是「类路径」

加在方法上,就是「方法路径」

访问时,需要「类路径+方法路径」

因此,它既是「类注解」,也是「方法注解」

【只接收get请求,不接收post请求】

通过method属性去指定GET,从而达到只接收get请求的效果

//把「GET」改为「POST」也可以变成只接收post请求,不接收get请求

但也可以使用这样的一个简洁方法:「@GetMapping」

这两个是划等号的

同理

v3,v4这两个也是划等号的

【请求】

可以使用「postman」软件进行辅助操作

//测试后端代码时还需要写前端代码,这样麻烦又痛苦,因此「接口测试工具」应运而生,它让后端工程师即便不写前端代码也可以进行测试,「postman」就是一个这样的工具软件

这个代码的含义是传入一个name的key值,并返回对应的value值

传递的普通参数,默认类型为「String」,后端接收时,根据后端定义的类型来转换

【传多个参数】

除此之外,还可以传递多个参数,且访问时参数的顺序可以不一样

上面的spring代码是下面http代码的简洁化,也可以理解为下面是上面的源码,二者含义相同

【传递对象】

传多个参数可能会产生修改不方便的问题,因此为了方便,可以构造一个包含多个参数的对象来进行传递

此外传递对象时,如果其中有些参数不传,也不会报错(因为对象中的参数是成员变量,不传时初始值为0)

【给参数重命名】

需要掌握一个新注解「@RequestParam」

这个代码可以确保在接收到前端的“userName”参数时,后端按照“name”去处理

因此,这个注解的作用是「参数绑定」,在该代码中将userName与name进行绑定

但如果进行了这样的参数绑定,那么这个参数就变成了一个「必传参数」:前端url所传的参数必须要是userName,否则会报错

这是因为RequestParam源码中,boolean类型的required方法默认为true,要想避免这种事,我们需要设置required属性为false

因此注解中可以用这样的形式去写,这么一来后端没有收到userName这样的参数时,会返回一个null

【传递数组】

【传递list】

这样是会报错的

因为我们当前所使用的方式和传递数组的方式是一样的,但接收list是没办法用这个接收的,因此我们可以使用「@RequestParam」注解

这个注解表示参数绑定,当发送信息时,默认会把“zhangsan,lisi,wangwu”封装成一个数组,因此使用数组接收是OK的,但使用list就不行了,所以我们需要把数组转换为list

这就相当于把数组绑定为了list

标签:web,请求,SpringMVC,代码,参数,服务器,注解,接收
From: https://blog.csdn.net/2301_81305165/article/details/143066145

相关文章

  • 【SpringMVC】传递json,获取url参数,上传文件
    【传递json数据】【json概念】一种轻量级数据交互格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,其本质上是字符串,负责在不同的语言中数据传递与交换json数据以字符串的形式体现【json字符串与Java对象互转】我们需要在pom.xml中增加对json的依赖【对象转jso......
  • pbootcms网站搬家到新服务器后 前台显示数据不完全
    在将PBootCMS网站从一个服务器迁移到另一个服务器后,如果前台显示的数据不完全,而后台显示正常,通常需要检查以下几个方面。根据您的描述,最终发现问题出在服务器时间上。以下是详细的排查和解决步骤:1.检查服务器时间登录新服务器:使用SSH或其他方式登录到新服务器。检......
  • Error infos: DedeCms错误警告:连接数据库失败,可能数据库密码不对或数据库服务器出错!
    使用FTP工具登录到网站根目录。导航至/data/common.inc.php文件。下载该文件到本地,使用代码编辑工具(如EditPlus或Dreamweaver)打开,不要使用记事本编辑。修改以下配置项,将其更改为您的实际数据库信息:$cfg_dbhost='localhost';//数据库服务器地址$cfg_dbname='your_......
  • PbootCMS 模板提示未检测到您服务器环境的sqlite3数据库扩展
    错误信息:未检测到您服务器环境的sqlite3数据库扩展,请检查php.ini中是否已经开启该扩展!另外,检测到您服务器支持pdo_sqlite扩展,您也可以修改数据库配置连接驱动为pdo_sqlite试试!解决方法:1.**第一种方法**:把数据库配置连接驱动改为pdo_sqlite-打开数据库配置文件`/apps/co......
  • 【前端】在 Next.js 开发服务器中应该如何配置 HTTPS?
    在Next.js的开发环境中,默认情况下是使用HTTP协议的。但是,您可以通过一些配置来启用HTTPS。这在开发阶段可能很有用,尤其是在需要测试涉及安全传输的应用场景时。下面是如何在Next.js开发环境中配置HTTPS的步骤:方法一:使用https模块您可以使用Node.js的内置模......
  • 【花雕学编程】Arduino动手做(237)---使用 ESP32 V1 Rev1 自身的热点来创建一个简易的 H
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来——小小的......
  • webstorm 项目如何配置支持 nodejs
    WebStorm是JetBrAIns推出的一款强大的JavaScript开发IDE,支持Node.js是其内置的功能。要配置WebStorm以支持Node.js项目,您需要进行几个步骤:确保已安装Node.js、在WebStorm中配置Node.js解释器、设置语言版本及库、调整运行/调试配置。下面,我们将详细介绍如何进行这些设......
  • 关于自己写阿里云OSS相关工具类的自动配置(黑马web开发day14)
    阿里云OSS的自动配置主要分为:驱动类:aliyun-oss-spring-boot-autoconfigure自动配置类:aliyun-oss-spring-boot-starter文章目录aliyun-oss-spring-boot-starter创建aliyun-oss-spring-boot-starteraliyun-oss-spring-boot-autoconfigure创建aliyun-oss-spring-boot-aut......
  • Webstorm 2024 安装使用 (附加永久激活码、补丁)
    下载安装第二步,安装完成之后,下载补丁下载地址(里面包含激活码)完成,之后输入激活码免责声明:本文中的资源均来自互联网,仅供个人学习和交流使用,严禁用于商业行为,下载后请在24小时内从电脑中彻底删除。对于因非法使用而引起的版权争议,与作者无关。所有资源仅供学习、参考......
  • springmvc-servlet.xml和web.xml文件的存放路径是哪里?项目添加到Tomcat上运行后就报错
        用eclipse写了一个简单的web项目,springmvc-servlet.xml文件和web.xml文件都配置好了,运行起来能看见hello的web页面,但是有一堆报错,不知道是什么原因                                     ......