引言
JeecgBoot是一款基于Spring Boot的企业级快速开发平台,它提供了丰富的功能模块和便捷的开发体验,可以帮助开发者快速搭建企业级应用。本文将带领大家从零开始,详细了解如何在JeecgBoot中搭建一个企业级登录功能。
环境准备
在开始搭建登录功能之前,我们需要准备以下环境:
- Java开发环境:推荐使用JDK 1.8及以上版本。
- IDE:推荐使用IntelliJ IDEA或Eclipse。
- 数据库:JeecgBoot支持多种数据库,如MySQL、Oracle等,这里我们以MySQL为例。
- JeecgBoot源码:可以从JeecgBoot的GitHub仓库下载。
步骤一:创建项目
- 打开IDEA,选择“File” -> “New” -> “Project”。
- 在弹出的窗口中选择“Spring Initializr”。
- 填写项目信息,包括项目名称、组织、版本等。
- 在“Dependencies”部分,勾选以下依赖:
- Spring Web
- Spring Security
- MySQL Driver
- Lombok
- 点击“Generate”生成项目。
步骤二:配置数据库
- 打开项目中的
application.properties文件。 - 修改数据库配置信息,包括数据库URL、用户名、密码等。
spring.datasource.url=jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
步骤三:创建用户表
- 打开数据库,创建一个名为
sys_user的表,用于存储用户信息。 - 表结构如下:
CREATE TABLE sys_user (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
...
);
步骤四:配置Spring Security
- 在
src/main/java/com/your/package/config目录下创建一个名为WebSecurityConfig的类。 - 继承
WebSecurityConfigurerAdapter类,并重写configure(HttpSecurity http)方法。
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/login", "/login.html", "/login/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
}
步骤五:创建登录页面
- 在
src/main/resources/templates目录下创建一个名为login.html的文件。 - 编写登录页面代码,包括用户名、密码输入框和登录按钮。
<!DOCTYPE html>
<html>
<head>
<title>登录</title>
</head>
<body>
<form action="/login" method="post">
<div>
<label for="username">用户名:</label>
<input type="text" id="username" name="username" required>
</div>
<div>
<label for="password">密码:</label>
<input type="password" id="password" name="password" required>
</div>
<div>
<button type="submit">登录</button>
</div>
</form>
</body>
</html>
步骤六:实现登录逻辑
- 在
src/main/java/com/your/package/service目录下创建一个名为SysUserService的类。 - 实现用户登录逻辑,包括查询用户信息、验证密码等。
@Service
public class SysUserService {
@Autowired
private SysUserMapper sysUserMapper;
public SysUser login(String username, String password) {
SysUser user = sysUserMapper.selectByUsername(username);
if (user != null && user.getPassword().equals(password)) {
return user;
}
return null;
}
}
- 在
src/main/java/com/your/package/controller目录下创建一个名为SysUserController的类。 - 实现登录接口,调用
SysUserService中的login方法。
@RestController
@RequestMapping("/login")
public class SysUserController {
@Autowired
private SysUserService sysUserService;
@PostMapping
public ResponseEntity<?> login(@RequestParam String username, @RequestParam String password) {
SysUser user = sysUserService.login(username, password);
if (user != null) {
return ResponseEntity.ok("登录成功");
}
return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body("用户名或密码错误");
}
}
步骤七:启动项目
- 运行
com.your.package.Application类,启动项目。 - 在浏览器中访问
http://localhost:8080/login,即可看到登录页面。
总结
通过以上步骤,我们成功搭建了一个基于JeecgBoot的企业级登录功能。JeecgBoot提供了丰富的功能模块和便捷的开发体验,可以帮助开发者快速搭建企业级应用。希望本文能帮助大家更好地了解JeecgBoot,并将其应用到实际项目中。
