ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SpringBoot相关

2021-09-08 20:03:45  阅读:186  来源: 互联网

标签:xml 8080 SpringBoot Tomcat 中间件 pom 相关 servlet


目录

定义

特点

SpringBoot全新的pom.xml

pom.xml

Tomcat WebServer

8080端口冲突

ApacheTomact 

Web中间件历史

servlet-api.jar

扩展:请求响应过程

HTTP协议

执行过程


定义

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。Spring Boot 现在已经成为Java 开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。成为SpringBoot全家桶

在这里插入图片描述

特点

  • 创建独立的Spring应用程序
  • 嵌入的Tomcat,无需部署WAR文件
  • 简化Maven配置
  • 自动配置Spring
  • 提供生产就绪型功能,如指标,健康检查和外部配置

SpringBoot全新的pom.xml

pom.xml

它产生整个项目目录,其实我们只需pom.xml文件,覆盖本地maven工程的pom.xml文件。

注:可以使用idea直接创建springboot项目,其本质也是去调用上面的网站,只不过在本地访问外网https://start.spring.io。

修改pom.xml后,把项目进行maven-update 操作,下载依赖的jar包。

SpringBoot使用了全新的运行方式,两句话,直接执行main方法,默认启动tomcat中间件,端口为8080。

注意:类必须放在其他类的父级目录,它底层使用了包扫描机制,扫描的要求只扫描本类所在的目录极其子目录。

Tomcat WebServer

ApacheTomcat是一个非常著名的web中间件,于之前学习的技术的不同在于它提供了web程序的容器环境,专门用于网站服务。

SpringBoot默认集成了tomcat中间件,会自动把项目打包jar发布到tomcat,这样我们就形成了自己的网站。但这个网站只能局域网访问,如果外网(广域网),自己购买一个网站,部署上去即可。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EHxq1c8h-1622611944864)(RackMultipart20210602-4-13yqzr7_html_b6ffad0fd1bf396a.png)]

 url解析

  • localhost代表本机,等价于ip:127.0.0.1
  • 8080代表本机的服务,tomcat默认端口8080
  • /hi等请求地址在一个web服务中请求具有唯一性(多个就没法区分了)

url** 的解析执行过程:**

浏览器输入的url,就会被解析后传入web中间件(/hi),web中间件再会进一步的解析,找到对应的Controller的某个注解里对应的url @RequestMapping({"/","/hi"}) ,从而就找到HelloController的hi()方法。最终利用反射执行这个类的方法(将来这个方法中就用来编写实现业务逻辑代码)。因为使用了@RestController,返回的String字符串对象底层会使用jackson工具类转换java对象为json字符串,返回给浏览器,浏览器将字符串回显(展示)在页面上。

8080端口冲突

Tomcat服务不会自动关闭,需要手动关闭,如不关闭,下次启动就会报下面错误:

port 8080 was already in use. 端口8080已经被占用。关闭服务,重新启动即可。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gZ1E9rTG-1622611944884)(RackMultipart20210602-4-13yqzr7_html_bf8f36feda26a498.png)]

 仍未解决的话,以下三种方式任选一个来测试.

1,需要执行DOS命令处理:

C:\Users\lpx>netstat –ano  --查看所有端口号,找到8080端口对应的PID号
C:\Users\lpx>taskkill -pid 688 –f --杀死688进程号 

2,可能是因为电脑里安装过Oracle数据库:

要找到Oracle的服务OracleXETNSListener,停掉.

3,直接使用yml方式配置修改端口号:

在src/main/resources下添加application.yml文件,内容如下:

server:
  port: 8090

清除项目缓存,再次重启服务,测试即可: http://localhost:8090/hello/hi

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ez1SAusA-1622611944886)(RackMultipart20210602-4-13yqzr7_html_2e15298de6e12e4.png)]

ApacheTomact 

Web中间件历史

最早的网站技术是Apache,但它只支持html。当微软推出asp技术后,第一代动态网站技术诞生,微软同时推出了ISS以支持asp技术。随着sun公司的j2ee架构横空出世,提出第二代动态网站技术规范servlet、jsp后,servlet容器就如雨后春笋。Tomcat、Jetty、GlassFish、JBoss、WebSpare、WebLogic,后三者非常厉害,性能超群,但由于昂贵的费用及微服务新架构的兴起,而开始没落,Jetty一直号称性能远胜Tomcat,但Tomcat的霸主地位已经难以撼动(就像编程语言中的java)。目前市场主流都采用Tomcat,特别国内一线互联网企业,而国企采用WebSpare和WebLogic居多。

servlet-api.jar

我们按sun公司的java规范写的servlet(HttpServlet)就专门支持网站的请求request(HttpServletRequest)和响应response(HttpServletResponse)的处理。

各大web中间件厂商按照servlet规范做自己的实现如tomcat的servlet-api.jar。

在这里插入图片描述

 注:我们的关注点在于实现项目,这里会使用tomcat,初步了解底层结构,不必过渡深入研究。

扩展:请求响应过程

HTTP协议

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件、图片文件、查询结果等)。

执行过程

怎么浏览器输入url就可以找到我们写的controller进行执行并且返回呢?

其实这底层是有一套标准的,这个标准称为HTTP协议。我们浏览器成输入的http://这就代表执行http协议。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jjGHoR5L-1622611944891)(RackMultipart20210602-4-13yqzr7_html_107e300ec5e6502a.png)]

 

 

标签:xml,8080,SpringBoot,Tomcat,中间件,pom,相关,servlet
来源: https://blog.csdn.net/weixin_58698763/article/details/120187424

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有