1、SpringBoot整合Web资源
1.1、创建项目
1.1.1、利用工具创建项目
1.1.2、新建web资源目录
先增加webapp
在webapp中在增加WEB-INF目录
编辑pom.xml文件
4.0.0
com.jt
springboot_jsp
0.0.1-SNAPSHOT
war
demo
Demo project for Spring Boot
<!--parent标签作用: 定义了SpringBoot中所有关联项目的版本号信息.-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<java.version>1.8</java.version>
<!--项目打包时,跳过测试类打包-->
<skipTests>true</skipTests>
</properties>
<!--开箱即用:SpringBoot项目只需要引入少量的jar包及配置,即可拥有其功能.
spring-boot-starter 拥有开箱即用的能力.
maven项目中依赖具有传递性.
A 依赖 B 依赖 C项目 导入A bc会自动依赖
-->
<dependencies>
<!--直接依赖web springMVC配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<!--springBoot-start SpringBoot启动项 -->
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--SpringBoot重构了测试方式 可以在测试类中 直接引入依赖对象-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--支持热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<!--引入插件lombok 自动的set/get/构造方法插件 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--引入数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--springBoot数据库连接 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--spring整合mybatis-plus 只导入MP包,删除mybatis包 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
<!--springBoot整合JSP添加依赖 -->
<!--servlet依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<!--jstl依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!--使jsp页面生效 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
</dependencies>
<!--在项目打包部署时生效,如果不添加build,则程序发布时不然会报
项目中没有main方法.
-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
## 1.2 SpringBoot整合web ### 1.2.1 编辑YML配置文件 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200829180343422.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzQ3NjY5MA==,size_16,color_FFFFFF,t_70#pic_center) ## 1.3 关于IDEA页面资源加载404问题 说明:由于**IDEA**加载动态web资源时,默认的运行环境可能配置有误,则导致页面资源无法加载 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020082918092967.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzQ3NjY5MA==,size_16,color_FFFFFF,t_70#pic_center) **解决方案** 1)选择编辑按钮 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200829181031527.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzQ3NjY5MA==,size_16,color_FFFFFF,t_70#pic_center) 2)配置项目路径 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200829181119724.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzQ3NjY5MA==,size_16,color_FFFFFF,t_70#pic_center) ## 注意:HTML页面迭代可以使用ES6写法;JSP页面用普通JS语言的迭代写法,若用ES6写法可能导致导致取不到数据。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200829181843446.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzQ3NjY5MA==,size_16,color_FFFFFF,t_70#pic_center) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200829181926795.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzQ3NjY5MA==,size_16,color_FFFFFF,t_70#pic_center)
2、分布式思想
2.1、概念
将大型项目按照特定的规则进行拆分,减少项目架构的耦合性
好处:如果作为大型项目,将所有的功能模块都写到一起(单体项目),如果将来其中一个模块出现问题,则直接影响整个项目的运行。
2.2、拆分方式
2.2.1、按功能模块拆分
2.2.1、按照层级拆分
2.3、分布式应用中的问题说明
由于引入了分布式思想,但是同时带来了一些问题,如何解决?
2.3.1、分布式系统中jar包如何管理?
2.3.2、分布式系统中工具API等如何管理?
依赖在springboot项目中的体现