当前位置: 首页 > wzjs >正文

谷歌不收录网站西安网络seo公司

谷歌不收录网站,西安网络seo公司,微信营销 网站建设,跨境电商平台开发📌 摘要 在 Java Web 开发中,登录功能是最基础也是最重要的模块之一。本文将手把手带你使用 IntelliJ IDEA 和 Maven 构建一个基于 Spring Boot 的简单登录系统,涵盖: 使用 IDEA 创建 Spring Boot 项目配置 Maven 依赖&#xff…

📌 摘要

在 Java Web 开发中,登录功能是最基础也是最重要的模块之一。本文将手把手带你使用 IntelliJ IDEA 和 Maven 构建一个基于 Spring Boot 的简单登录系统,涵盖:

  • 使用 IDEA 创建 Spring Boot 项目
  • 配置 Maven 依赖(Spring Web、Spring Security、Thymeleaf)
  • 数据库连接与用户验证逻辑
  • 登录页面设计与控制器实现
  • 登出功能和权限控制
  • 常见问题解析与最佳实践

适合刚入门 Spring Boot 的新手开发者,帮助你快速搭建一个完整的登录系统原型。


🎯 一、开发环境准备

工具版本要求
JDK1.8 或以上
IntelliJ IDEA社区版 / 旗舰版
Maven3.x 及以上
MySQL5.7 或 8.0
Spring Boot推荐 2.6.x ~ 3.x

🧱 二、创建 Spring Boot 项目(使用 IDEA)

步骤 1:打开 IDEA,选择“New Project”

在这里插入图片描述

步骤 2:选择 “Spring Initializr”,填写项目信息

  • Group:com.example
  • Artifact:login-demo
  • Language:Java
  • Packaging:Jar
  • Java Version:17(或其他版本)
    在这里插入图片描述

步骤 3:选择依赖项

勾选以下依赖:

  • Spring Web
  • Spring Security
  • Thymeleaf(可选,用于前端模板)
  • Spring Data JPA(可选,用于数据库操作)
  • MySQL Driver(可选,用于连接数据库)
    在这里插入图片描述
    点击 “Create” 完成创建。

📦 三、项目结构说明

src/
├── main/
│   ├── java/
│   │   └── com.example.logindemo/
│   │       ├── controller/LoginController.java
│   │       └── LoginDemoApplication.java
│   ├── resources/
│   │   ├── static/
│   │   │   └── css/, js/, images/
│   │   ├── templates/
│   │   │   └── login.html, home.html
│   │   └── application.yml

![](https://i-blog.csdnimg.cn/direct/ba9b6b4dac23448e9b4a184c4f3c7454.png


🔧 四、配置 application.yml 文件

spring:datasource:url: jdbc:mysql://localhost:3306/login_db?useSSL=false&serverTimezone=UTCusername: rootpassword: yourpassworddriver-class-name: com.mysql.cj.jdbc.Driverthymeleaf:cache: falsesuffix: .htmlprefix: classpath:/templates/encoding: UTF-8content-type: text/html

💻 五、创建数据库与用户表

CREATE DATABASE login_db;USE login_db;CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(50) NOT NULL UNIQUE,password VARCHAR(100) NOT NULL
);INSERT INTO users (username, password) VALUES ('admin', '$2a$10$X60FfSIxIgOcZtIXTzKqCeVWwGvQkHlR8eYzE2LmZsS');

注意:密码使用 BCrypt 加密,如上例中的 $2a$10$..."123456" 加密后的结果。


🔐 六、配置 Spring Security 安全框架

创建配置类 SecurityConfig.java

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.web.SecurityFilterChain;@Configuration
@EnableWebSecurity
public class SecurityConfig {@Beanpublic PasswordEncoder passwordEncoder() {return new BCryptPasswordEncoder();}@Beanpublic SecurityFilterChain filterChain(HttpSecurity http) throws Exception {http.authorizeRequests().requestMatchers("/", "/login").permitAll().anyRequest().authenticated().and().formLogin().loginPage("/login").defaultSuccessUrl("/home").failureUrl("/login?error=true").permitAll().and().logout().logoutSuccessUrl("/").permitAll();return http.build();}
}

🖼️ 七、创建登录页面 login.html(放在 templates 目录下)

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head><title>登录</title>
</head>
<body>
<h2>登录页面</h2><form th:action="@{/login}" method="post"><div th:if="${param.error}"><p style="color:red;">用户名或密码错误</p></div><label>用户名:</label><input type="text" name="username"/><br/><label>密码:</label><input type="password" name="password"/><br/><button type="submit">登录</button>
</form>
</body>
</html>

🏠 八、创建首页 home.html(登录成功后跳转)

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head><title>首页</title>
</head>
<body>
<h2>欢迎来到主页!</h2>
<a href="/logout">退出登录</a>
</body>
</html>

🧩 九、编写控制器 LoginController.java

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;@Controller
public class LoginController {@GetMapping("/")public String index() {return "login";}@GetMapping("/login")public String login() {return "login";}@GetMapping("/home")public String home() {return "home";}
}

✅ 十、测试运行项目

  1. 启动 Spring Boot 应用
  2. 浏览器访问:http://localhost:8080
  3. 输入用户名 admin 和密码 123456
  4. 成功登录后跳转至 /home
  5. 点击退出,回到登录页

🧪 十一、常见问题与解决方案

Q1: 登录失败,提示 Bad credentials?

  • 检查数据库密码是否是 BCrypt 加密格式
  • 检查用户名是否正确匹配数据库字段

Q2: 页面无法访问?

  • 检查 Controller 路径映射是否正确
  • 查看启动日志是否有报错

Q3: 登录成功后无法跳转?

  • 检查 defaultSuccessUrl() 是否设置正确
  • 确保没有拦截 /home 路径

Q4: 如何自定义用户加载逻辑?

  • 实现 UserDetailsService 接口,重写 loadUserByUsername() 方法


📚 十二、参考资料

  • Spring Boot 官方文档
  • Thymeleaf 官方文档
  • Spring Security 中文社区

  • 如果你在学习过程中遇到任何问题,欢迎在评论区留言交流!
  • 👍 如果你觉得这篇文章对你有帮助,别忘了点赞、收藏、转发哦!

文章转载自:

http://LJQQCrEf.qcygd.cn
http://NQamOucc.qcygd.cn
http://38Ukzzmw.qcygd.cn
http://ndkLjfra.qcygd.cn
http://mzdPM7gX.qcygd.cn
http://rEHDUXNY.qcygd.cn
http://a9J6ydPp.qcygd.cn
http://Ga2FL4nO.qcygd.cn
http://CaYyfucN.qcygd.cn
http://Q25rIgtg.qcygd.cn
http://752sdyfV.qcygd.cn
http://yjCLjidg.qcygd.cn
http://0nJ3Zh6c.qcygd.cn
http://fA554a3Z.qcygd.cn
http://6X3JWf4R.qcygd.cn
http://ImFaxx8a.qcygd.cn
http://odh2Gje9.qcygd.cn
http://GUdszecJ.qcygd.cn
http://bXUVcYjj.qcygd.cn
http://J96L1YmK.qcygd.cn
http://283NiO9r.qcygd.cn
http://oibF4jbD.qcygd.cn
http://JFRgulS5.qcygd.cn
http://ts9ma0US.qcygd.cn
http://fUkEAHAC.qcygd.cn
http://JkVM6wzT.qcygd.cn
http://bmbdR6sm.qcygd.cn
http://liOUik2s.qcygd.cn
http://g9NgCvlN.qcygd.cn
http://z6Tkoqh1.qcygd.cn
http://www.dtcms.com/wzjs/727381.html

相关文章:

  • 网站建设费用主要包括那几项宁波公司做企业网站
  • 厦门网络推广建网站色轮配色网站
  • 佛山网站如何制作济南建设大厦
  • 17网站一起做网店河北湖北华路建设工程有限公司网站
  • 太原市建设交易中心网站阿里云域名空间网站建设
  • 南宁制作网站的公司东莞做网站(信科网络)
  • 公司网站建设费用预算好听的公司名字
  • 网站空间做邮箱哪里购买网站空间
  • 河南企业做网站网络平台怎么创建
  • 免费空间+网站空间+虚拟主机网站建设的一些专业术语
  • 网站制作过程步骤wordpress 采集 json
  • 哈尔滨城乡建设局网站首页桂平seo快速优化软件
  • 订做网站建设17网站一起做网店类似的
  • 建网站建网站北海 做网站 英文
  • 如何使用wp做网站网站关键词 查询
  • 建设网站全部流程网站配色 蓝绿
  • 提供网站建设费用怎样建设卡盟网站
  • 国土局网站建设方案2022最火营销方案
  • 我想在阿里巴巴上给别人做网站个人简历wordpress主题
  • 做互联网网站需要什么资质吗5118网站查询
  • 网站静态路径营业推广的概念
  • 网站域名要怎样规划wordpress制作首页模板下载
  • 静态淘宝网站制作模板萨龙wordpress
  • 企业门户网站建设行情网站上传文件存储方式
  • 佛山网站建设锐艺a068帝国cms搭建个人网站
  • 企业网站建设方案案例学做网站培训上海
  • 本地的丹阳网站建设如何修改网站备案
  • 帮别人做网站开票开什么税目工艺宣传网站建设
  • 中小企业网站制作不了WordPress 如何去域名授权
  • 用python语言做网站正邦设计总部都空了