博客
关于我
SpringBoot的URL是如何拼接的
阅读量:292 次
发布时间:2019-03-03

本文共 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

转载地址:http://fgtm.baihongyu.com/

你可能感兴趣的文章
hook钩子介绍
查看>>
关于json
查看>>
焦点事件
查看>>
webpack打包常见报错
查看>>
vuex—1vuex初始
查看>>
axios服务器通信—1axios介绍和使用mock数据
查看>>
web前端面试一从输入url到看到页面发生了什么
查看>>
关于IP地址
查看>>
IO复用之epoll
查看>>
智慧水利的泵站自动化监控系统解决方案
查看>>
C getopt.h
查看>>
TensorRT/parsers/caffe/caffeParser/caffeParser.h源碼研讀
查看>>
PCL MLS論文Computing and Rendering Point Set Surfaces研讀筆記
查看>>
CentOS下Nvidia docker 2.0之安裝教程&踩坑實錄
查看>>
PIL及matplotlib:OSError: cannot identify image file錯誤及解決方式
查看>>
H5页面授权获取微信授权(openId,微信nickname等信息)
查看>>
SpringBoot的URL是如何拼接的
查看>>
2018年年终总结
查看>>
解决checkbox未选中不传递value的多种方法
查看>>
【pgsql-参数详解1】PostgreSQL默认参数值
查看>>