SpringBoot的URL是如何拼接的

前言:作为springboot的初学者,我第一个想搞明白的问题就是网页的url是怎么访问到后端服务的。

基础知识

URL的构成:协议名称://域名:端口号/URL

例子:http://localhost:80/index.html
  • 知识点1:http协议默认端口号80,https协议默认端口号443
    ※web访问是通过http协议的,即使你没有在浏览器输入http,浏览器默认添加http的头。
    当你通过http协议访问时,默认给你添加了80的端口号。所以如果后端服务端口是80,就可以写成如下

    http://localhost/index.html

  • 知识点2:tomcat服务器默认配置的端口是8080,所以通过tomcat部署的服务后端端口默认8080.
    ※这个端口是服务器的端口,上面是访问的端口。两个端口必须一致,url才可以访问到正确的服务。

我们重点讨论URL的部分是如何拼接的,从后往前的顺序,看URL是如何一步步被限定下来的。

第一层 Controller
1.1 当controller只有方法上定义 @RequestMapping(“url”)

访问地址:http://localhost:8080/hello
※:tomcat默认端口8080

@RestController
public class HelloController {
    @RequestMapping("hello")
    private String  demo(){
        return "Hello spring";
    }
//这里url前是否加斜杠都不影响访问,原理不知道,请高手解释。
    @RequestMapping("/greet")
    private String greet(){
        return "greet";
    }
}
1.2 当controller类也上定义 @RequestMapping(“url”)

在1.1基础上url前拼接类上的url即可,类上的url前是否有斜杠也不影响访问。
访问地址:http://localhost:8080/servername/hello
※:tomcat默认端口8080

@RestController
@RequestMapping("/servername")
public class HelloController {
    @RequestMapping("hello")
    private String  demo(){
        return "Hello spring";
    }

    @RequestMapping("/greet")
    private String greet(){
        return "greet";
    }
}
第二层 配置文件中context-path

访问地址1:http://localhost:80/project-path/servername/hello
访问地址2:http://localhost/project-path/servername/hello

application.yml配置文件如下:

  • context-path: /project-path

  • port: 80
    配置文件更改了项目根地址和端口号,这个和http默认端口一致,所以可以不加端口号。

    开发环境配置

    server:

    服务端口

    port: 80
    servlet:
    # 项目contextPath
    context-path: /project-path
    tomcat:
    # tomcat的URI编码
    uri-encoding: UTF-8
    # tomcat最大线程数,默认为200
    max-threads: 800
    # Tomcat启动初始化的线程数,默认值25
    min-spare-threads: 30

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值