# 第二阶段模块二 **Repository Path**: baiyukun/homework6 ## Basic Information - **Project Name**: 第二阶段模块二 - **Description**: 第二阶段模块二 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-04-18 - **Last Updated**: 2025-07-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringSession, Redis, Nginx ## README ### 第二阶段模块一 #### 作业题目 1)基于SpringBoot实现一个登陆功能(含有登录拦截验证) 2)使用Spring Session进行Session一致性控制 3)将工程打成war包 4)将war包部署到tomcat集群中,要求1个Nginx节点、2个Tomcat节点 ```properties 请求 —> Nginx(轮询策略) —> Tomcat1 / Tomcat2 ``` 5)完成测试 ##### 作业具体要求 注意:作业提交时提交可运行的工程代码(源代码和war包)以及sql脚本,Nginx配置及Tomcat配置,Redis配置统一修改为: ```properties redis.host=localhost redis.port=6379 redis.connectionTimeout=5000 redis.password= redis.database=0 ``` ##### 作业资料说明 1、提供资料:工程代码和代码war包,sql脚本、Nginx配置文件、Tomcat配置文件、Redis配置文件,功能演示和原理讲解视频。 2、讲解内容包含:题目分析、实现思路、代码讲解。 3、效果视频验证:实现Nginx轮询Tomcat1、Tomcat2,对代码工程进行Session一致性控制。 #### 项目说明 ##### 框架结构 ![1650242267759](assets/1650242267759.png) ##### 编写启动类 ```properties 1. 添加EnableRedisHttpSession注解, 通过redis实现session一致 2. 在外部tomcat容器部署,需要继承SpringBootServletInitializer并重写configure方法 ``` ##### 编写请求拦截器 ```properties 获取session属性username, 判断用户是否已经登陆 ``` ##### 编写Controller ```properties 1. /toLogin 登陆页面接口 2. /loginSystem 登陆控制接口 3. /toLogout 登出接口 4. /demo 登陆验证接口 ``` ##### 编写jsp ```properties 1. login.jsp 登陆页面 2. result.jsp 登陆验证页面 3. demo.jsp 业务页面 ``` ##### 浏览器访问 ###### 登陆页面 ```http http://localhost:9003/login/toLogin ``` ###### 登陆跳转 ```http http://localhost:9003/demo/result ``` ###### 业务页面 ```http http://localhost:9003/demo/demo ``` ###### 登出页面 ```http http://localhost:9003/login/toLogout ```