CGB2004-京淘项目Day03

1 SpringBoot整合JSP

1.1 关于SpringBoot整合页面说明

说明:SpringBoot默认支持的页面是HTML页面.通过模板工具类进行数据的转化.(JAR包文件). 但是天生不支持整合JSP的机制,所以需要单独的配置. (war包项目)

1.2 调整IDE的new选项

CGB2004-京淘项目Day03_第1张图片

勾选maven
CGB2004-京淘项目Day03_第2张图片

1.2 新建web项目

CGB2004-京淘项目Day03_第3张图片2).将原有mybatis中的配置信息导入到新的项目中.
CGB2004-京淘项目Day03_第4张图片

1.3 添加jar包文件

		
		
		
			javax.servlet
			javax.servlet-api
		

		
		
			javax.servlet
			jstl
		

		
		
			org.apache.tomcat.embed
			tomcat-embed-jasper
		

1.4 编辑YML配置文件

server:
  port: 8090
  servlet:
    context-path: /
spring:
  datasource:
    #driver-class-name: com.mysql.cj.jdbc.Driver   注释
    url: jdbc:mysql://127.0.0.1:3306/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
    username: root
    password: root
  
  #引入mvn配置
  mvc:        
    view:
      prefix: /WEB-INF/     # /默认代表根目录 src/main/webapp
      suffix: .jsp

#切换为Mybatisplus的配置   
mybatis-plus:
  # 定义别名包
  type-aliases-package: com.jt.demo.pojo
  # 批量导入mapper映射文件
  mapper-locations: classpath:/mybatis/mappers/*.xml
  #开启驼峰映射
  configuration:
    map-underscore-to-camel-case: true
    
    
#引入sql日志输出
logging:
  level:
    com.jt.demo.mapper: debug         

1.5 导入页面

说明:在课前资料中添加引入页面信息
CGB2004-京淘项目Day03_第5张图片

1.6 测试案例

1.6.1 编辑UserController

编辑userController 实现页面跳转. 实现数据获取.

@Controller
public class UserController {
	
	@Autowired
	private UserService userService;
	
	/**
	 * 需求: 用户通过http://localhost:8090/findAll请求,
	 * 要求:		
	 * 		1.跳转到userList.jsp页面中
	 * 		2.并且在页面中展现user列表数据.
	 * 		  页面中的取值 ${userList}
	 * 0-5: 优秀  
	 * 5-10:优秀-
	 * 10-20良好
	 * 20+  不及格
	 */
	@RequestMapping("/findAll")
	public String findAll(Model model) {
		
		List userList = userService.findAll();
		model.addAttribute("userList", userList);
		return "userList"; //跳转页面
	}
}

1.6.2 编辑UserService

@Service
public class UserServiceImpl implements UserService {
	
	@Autowired
	private UserMapper userMapper;

	@Override
	public List findAll() {
		
		return userMapper.selectList(null);
	}
	
}

3.京淘项目后端架构设计

3.1 传统项目设计存在的问题

情景: 达内CEO让齐雷老师把动吧旅游系统进行线上的部署.齐雷老师也完成了任务.这时用户可以正常的访问. 齐总发现在权限管理模块中有一个位置 数据校验不严格.导致空指针异常.之后引发了线程内存溢出.导致整个tomcat服务器宕机.
影响: 用户无法正常访问服务器.
说明:项目中一个位置出现了问题,则导致整个服务无法执行. 如何应该降低系统架构的耦合性!!!
CGB2004-京淘项目Day03_第6张图片

3.2 分布式思想

概念: 将系统按照指定的规则进行拆分.形成了多个业务的子系统.优势:如果其中一个宕机,则不会影响整个项目的正常运行.
作用: 为了降低系统架构的耦合性.
弊端: 之前可能只需要运维一个服务器. 现在需要运维多个服务器.

3.2.1 按照功能模块拆分

CGB2004-京淘项目Day03_第7张图片

3.2.2 按照层级进行拆分

为了提高项目的开发效率.可以让多个程序员协同工作.进行项目的拆分.
CGB2004-京淘项目Day03_第8张图片

3.3 分布式条件下 jar包文件/工具API应该如何维护??CGB2004-京淘项目Day03_第9张图片

4.创建JT父级项目

4.1 创建父级工程

CGB2004-京淘项目Day03_第10张图片定义项目名称.及打包类型

CGB2004-京淘项目Day03_第11张图片

4.2 编辑JT的POM.xml文件

	
	4.0.0
	com.jt
	jt
	0.0.1-SNAPSHOT
	
	pom

	
	
		org.springframework.boot
		spring-boot-starter-parent
		2.3.2.RELEASE
		 
	

	
	
		1.8
		
		3.1.1
		
		true
	

	

	
		
			
			org.springframework.boot
			
			
			spring-boot-starter-web
			
			
		

		
			org.springframework.boot
			spring-boot-starter-test
			test
			
				
					org.junit.vintage
					junit-vintage-engine
				
			
		

		
		
			org.springframework.boot
			spring-boot-configuration-processor
			true
		

		
		
			org.springframework.boot
			spring-boot-devtools
		

		
		
			org.projectlombok
			lombok
		

		
		
			mysql
			mysql-connector-java
			runtime
		

		
		
			org.springframework.boot
			spring-boot-starter-jdbc
		

		
		
			com.baomidou
			mybatis-plus-boot-starter
			3.2.0
		

		
		
		
			javax.servlet
			javax.servlet-api
		

		
		
			javax.servlet
			jstl
		

		
		
			org.apache.tomcat.embed
			tomcat-embed-jasper
		

		
		
			org.apache.httpcomponents
			httpclient
		

		
		

		
		


		
		
			org.springframework.boot
			spring-boot-starter-aop
		

		
		
			redis.clients
			jedis
		
		
			org.springframework.data
			spring-data-redis
		
	
	
	
	
	
	
	
	


5.创建工具API项目

5.1 创建子级项目JT-COMMON

CGB2004-京淘项目Day03_第12张图片

5.2 添加项目名称

CGB2004-京淘项目Day03_第13张图片

5.3 选择jar包文件

CGB2004-京淘项目Day03_第14张图片

5.4 导入src文件

说明:将课前资料中的src文件导入即可

CGB2004-京淘项目Day03_第15张图片

5.5 聚合工程展现

1).嵌套结构
CGB2004-京淘项目Day03_第16张图片2).定义父子级关系

CGB2004-京淘项目Day03_第17张图片

6.创建JT-MANAGER业务工程

6.1 创建项目

说明:添加项目模块信息

CGB2004-京淘项目Day03_第18张图片

6.2 添加war包文件

说明:指定war包文件信息,由于jt-manager中有web页面的支持.

CGB2004-京淘项目Day03_第19张图片

6.3 添加继承/依赖/插件

	
	
		com.jt
		jt
		0.0.1-SNAPSHOT
	

	
		
			com.jt
			jt-common
			0.0.1-SNAPSHOT
		
	

	
	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	

6.4 添加jt-manager的src文件

CGB2004-京淘项目Day03_第20张图片

6.5 编辑YML配置文件

server:
  port: 8091
  servlet:
    context-path: /
spring:
  datasource:
    #引入druid数据源   导入数据源的包
    #type: com.alibaba.druid.pool.DruidDataSource
    #driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
    username: root
    password: root

  mvc:
    view:
      prefix: /WEB-INF/views/
      suffix: .jsp
#mybatis-plush配置
mybatis-plus:
  type-aliases-package: com.jt.pojo
  mapper-locations: classpath:/mybatis/mappers/*.xml
  configuration:
    map-underscore-to-camel-case: true

logging:
  level: 
    com.jt.mapper: debug


6.6 完成启动测试

CGB2004-京淘项目Day03_第21张图片页面跳转流程:
SpringMVC中配置了视图解析器

mvc:
    view:
      prefix: /WEB-INF/views/
      suffix: .jsp

你可能感兴趣的:(CGB2004-京淘项目Day03)