SpringBoot的URL是如何拼接的
发布日期:2021-05-06 19:51:13 浏览次数:10 分类:技术文章

本文共 1513 字,大约阅读时间需要 5 分钟。

前言:作为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”)

访问地址:

※:tomcat默认端口8080

@RestControllerpublic 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前是否有斜杠也不影响访问。

访问地址: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:

访问地址2:

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
上一篇:2018年年终总结
下一篇:Neo4j-创建节点之间的关系

发表评论

最新留言

很好
[***.229.124.182]2025年03月12日 11时32分15秒