项目完善Javaspringboot

📅 发布时间:2026/9/2 17:21:46
项目完善Javaspringboot 项目地址https://github.com/SiliconPulse50/springbootlearning1.浏览器打开第一步在浏览器地址栏确认路径确保你访问的是http://localhost:8080/doc.html注意是.html不是.htm第二步如果路径确认无误执行最暴力的测试把WebConfig的excludePathPatterns改成java.excludePathPatterns(/**) // 放行所有请求重启项目再次访问/doc.html。如果这次能打开说明你的excludePathPatterns之前的路径写法有问题比如少加了/webjars/**或者你拼写错了/doc.html。如果这次还是 401说明你的WebConfig根本没生效检查Configuration注解是否在类上或者拦截器被其他地方注册了。2.查看数据库 方式三在云服务器命令行里查最原始SSH 连上服务器bashssh root82.156.183.212登录 MySQLbashmysql -uroot -p密码就是你application.properties里的那个切换数据库并查表sqlUSE demo_db; SELECT * FROM user;3.加密接口你之前写了一个GetMapping(/migrate-password)接口它负责把数据库里的明文密码如123456加密成 BCrypt 密文$2a$10$...。如果这个接口没有被正确调用或者调用时出了错数据库里的密码就还是明文。做法直接调用迁移接口确保项目在运行浏览器访问http://localhost:8080/migrate-password如果你之前没删掉这个接口的话会返回类似迁移完成共处理 X 条记录的信息。你之前写的/migrate-password接口如果还在或者你可以临时加回来按下面操作启动项目。在浏览器访问http://localhost:8080/migrate-password。它会自动把表里所有明文密码替换成 BCrypt 密文。执行成功后再次执行SELECT id, username, password FROM user;password字段应该变成$2a$10$...开头的长字符串。4.端口占用你的8080 端口被占用了可能之前启动的项目没有完全关闭或者有别的程序占用了端口。 解决方案换个端口启动最快推荐在application.properties里加上一行propertiesserver.port8081保存后重启项目然后访问http://localhost:8081/doc.html即可。5.验证✅ 第一步确保项目在运行如果 8080 端口被占用用 8081 启动项目确认控制台出现Started DemoApplication。✅ 第二步访问迁移接口在浏览器地址栏输入texthttp://localhost:8080/migrate-password如果用的是 8081就改成http://localhost:8081/migrate-password你应该会看到类似这样的返回json{code:200, msg:success, data:迁移完成共处理 5 条记录}这个接口会查出user表里所有用户。把每个用户的password字段明文用BCryptPasswordEncoder加密成$2a$10$...开头的密文。更新回数据库。✅ 第三步验证是否加密成功在你的数据库工具或命令行里执行sqlUSE demo_db; SELECT id, username, password FROM user;现在password字段应该变成以$2a$10$开头的长字符串了。✅ 第四步测试登录在 Knife4j 里调用POST /login用zhangsan / password123或者你表里有的用户名和对应明文密码登录。如果返回了{code:200, msg:success, data:{token:...}}说明✅ BCrypt 加密和验证完全正常。✅ 每个用户都可以用自己独立的密码登录。✅ 数据库里的密码不再是明文。⚠️ 迁移成功后马上关掉这个接口在LoginController里把GetMapping(/migrate-password)注释掉或直接删掉防止被人恶意调用。6.全局token具体操作在 Knife4j 页面上登录获取 Token调用/login从响应里复制data.token的值一长串字符。找到右上角的小锁头 Authorize 按钮点击它。在弹出的窗口里填写Key参数名输入AuthorizationValue参数值输入Bearer 你复制的 Token注意Bearer后面必须有一个英文空格点击Authorize按钮。关闭弹窗之后你访问任何需要登录的接口比如/usersKnife4j 都会自动在请求头里带上这个 Token。