BenjaminQA 2021-12-17 19:06 采纳率: 16.7%
浏览 47

Java实战 SpringBoot 网站开发 留言管理、网站后台留言管理模块、后台网站用户运营数据管理开发。

 

 

 

《QA不加班 》    

 

前言

        Java SpringBoot 网站实战开发 留言管理、网站后台留言管理模块、后台网站用户运营数据管理开发。 

 

        Java 网站开发网站运营后台管理和用户留言板功能

          后端:Spring Boot

          前端:Bootstrap、Echart插件等

          数据库:MySQL(MyBatis-Spring)

          服务端:Centos、Nginx、Tomcat(SpringBoot集成)

 

演示网址:www.QAbujiaban.com

Github地址:github.com/Github-Benjamin/QaBuJiaBan

 


管理后台功能说明

1、登陆:固定用户登陆,校验session拦截对管理接口鉴权

2、管理页:使用后台管理模板,集成常规管理功能如:留言管理、网站总数据查看,按时间段统计查看等

3、留言管理:展示所有留言、支持分页和上下页、编辑、删除、批量删除、审核总开关;获取请求ip,解析请求ip的城市信息

4、数据看板:网站总数据查看,按时间段统计查看

5、关于页面

用户前台功能说明

1、留言页面:提交留言、留言查看

2、提交留言:用户名、留言内容、验证码生成与校验

3、留言查看:排序、分页、筛选审核状态

4、页面头和底部信息

 

用户前台界面展示

 

管理后台登陆界面展示

 

管理后台留言管理界面展示

 


Service 服务后端  技术简要说明

1、运用SpringBoot中的@WebFilter注解,实现全局拦截指定Url;设置和校验Session中的值判断是否已登录

2、运用SpringBoot响应Resources中的静态信息文件(html、js等)

3、调用Mybatis对Mysql数据库中的数据进行:增、删、改、查(排序、分页)操作

4、SpringBoot对Mysql的事务管理,使用@Transactional注解实现,若程序异常则对增、删、改进行实现自动回滚功能

5、获取Request中的ip信息,此次引用多种方法兼容防止被代理后获取ip无效,这里主要是Nginx代理单个方法无法获取请求真实ip

6、解析请求ip的城市信息,这里使用高德API提供的方法实现

7、验证码根据请求Session判断不同用户,后生成随机数字验证码,校验提交的留言验证码是否正确

Browser 前端 技术简要说明

1、主要使用Bootstrap框架实现绝大部分页面UI效果图

2、使用Echart插件实现图表统计模块

3、使用laydate插件实现日历选择功能

4、使用Jquery插件实现ajax请求实现Service后端数据交互功能;如:设置分页、CheckBox批量选择等

 


项目部署调试篇

1.本地调试:idea + 运行环境配置;此处略


2.服务器部署篇:Centos、Nginx、Tomcat(SpringBoot集成)

解释:主要通过Nginx反向代理其他不同的内部服务端口,实现多个端口共同向外提供80端口服务
Nginx.conf
    upstream mysvr {
	    server 127.0.0.1:8089;
	    # server 127.0.0.1:8088 backup;
    }

    limit_req_zone $binary_remote_addr zone=mylimit:1m rate=50r/s;
 
    server {
        listen       80;
        server_name  localhost;

        location / {
            #root   html;
            #index  index.html index.htm;
            #限流配置 每秒100个请求
            limit_req zone=mylimit burst=50 nodelay;
            proxy_pass http://mysvr/;
            proxy_set_header Host $http_host;
	        proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
	        proxy_set_header X-Forw $proxy_add_x_forwarded_for;
        }

	    location ^~ /benjamin/ {
	        proxy_pass http://localhost:8088;
 	        proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
	        proxy_set_header REMOTE_ADDR $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forw $proxy_add_x_forwarded_for;
        }

    }
3、sh脚本:获取进程pid、快速打包并启动服务运行
getSprintBootPid.sh
netstat -anp|grep 8088
restartSprintBoot.sh
#ps -ef|grep springboot-0.0.1-SNAPSHOT.jar|grep -v grep|xargs kill -9
#netstat -anp|grep 8080
#kill -9 pid
cd Qabujiaban
mvn -s "settings.xml" clean package
nohup java -jar target/springboot-0.0.1-SNAPSHOT.jar &
exit
  • 写回答

1条回答 默认 最新

  • 生如夏花般绚丽 2022-01-28 13:01
    关注

    所以问题是什么

    评论

报告相同问题?

问题事件

  • 提问应符合社区要求 12月18日
  • 创建了问题 12月17日

悬赏问题

  • ¥15 求解达问题(有红包)
  • ¥15 请解包一个pak文件
  • ¥15 不同系统编译兼容问题
  • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
  • ¥30 数字电源对DSP芯片的具体要求
  • ¥20 antv g6 折线边如何变为钝角
  • ¥30 如何在Matlab或Python中 设置饼图的高度
  • ¥15 nginx中的CORS策略应该如何配置
  • ¥30 信号与系统实验:采样定理分析
  • ¥100 我想找人帮我写Python 的股票分析代码,有意请加mathtao