1、SpringBoot整合Web资源

1.1、创建项目

1.1.1、利用工具创建项目

springboot整合jwt详细 springboot整合web_java

1.1.2、新建web资源目录

先增加webapp

springboot整合jwt详细 springboot整合web_插入图片_02


在webapp中在增加WEB-INF目录

springboot整合jwt详细 springboot整合web_spring_03


编辑pom.xml文件 <?xml version="1.0" encoding="UTF-8"?>

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配置文件 ![在这里插入图片描述]() ## 1.3 关于IDEA页面资源加载404问题 说明:由于**IDEA**加载动态web资源时,默认的运行环境可能配置有误,则导致页面资源无法加载 ![在这里插入图片描述]() **解决方案** 1)选择编辑按钮 ![在这里插入图片描述]() 2)配置项目路径 ![在这里插入图片描述]() ## 注意:HTML页面迭代可以使用ES6写法;JSP页面用普通JS语言的迭代写法,若用ES6写法可能导致导致取不到数据。 ![在这里插入图片描述]() ![在这里插入图片描述]()

2、分布式思想

2.1、概念

将大型项目按照特定的规则进行拆分,减少项目架构的耦合性

好处:如果作为大型项目,将所有的功能模块都写到一起(单体项目),如果将来其中一个模块出现问题,则直接影响整个项目的运行。

2.2、拆分方式

2.2.1、按功能模块拆分

springboot整合jwt详细 springboot整合web_插入图片_04

2.2.1、按照层级拆分

springboot整合jwt详细 springboot整合web_springboot整合jwt详细_05

2.3、分布式应用中的问题说明

由于引入了分布式思想,但是同时带来了一些问题,如何解决?

2.3.1、分布式系统中jar包如何管理?

2.3.2、分布式系统中工具API等如何管理?

springboot整合jwt详细 springboot整合web_java_06


依赖在springboot项目中的体现

springboot整合jwt详细 springboot整合web_spring_07