
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
发表评论
最新留言
很好
[***.229.124.182]2025年03月12日 11时32分15秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Accessing Excel Spreadsheets via C++
2019-03-04
请注意
2019-03-04
excel上传核心
2019-03-04
json.parse细节
2019-03-04
如何提取mathematica方程的解,并用在后面的计算中
2019-03-04
redis
2019-03-04
设计模式之一简单工厂模式
2019-03-04
c# GDI绘制简单的艺术字
2019-03-04
SAS-阶乘-do end
2019-03-04
想牵着你的手迎着春风奔跑
2019-03-04
html中图片上传预览功能
2019-03-04
简单背景图片,鼠标移动特效
2019-03-04
js,小程序共用java后端进行数据传输
2019-03-04
[python面向对象学习笔记十] eval函数
2019-03-04
ReID基础 | ReID工程中的一些小trick
2019-03-04
haystack安装后导致Django版本强制升级为3.2引发的不兼容性问题
2019-03-04
LINQ之Single,SingleOrDefault
2019-03-04
LINQ之ElementAt,ElementAtOrDefault
2019-03-04
OpenCV6边缘检测[Canny算法]
2019-03-04
Hadoop_Scala操作Hbase
2019-03-04