
在Java项目中实现一个简易的留言审批功能,核心是围绕用户提交留言、管理员审核、状态更新和展示这几个环节展开。这个功能不需要复杂的架构,适合初学者练手,也能为后续扩展成评论系统、工单审批等打下基础。
1. 功能需求与流程设计
一个基本的留言审批功能应包含以下流程:
- 普通用户提交留言(含内容、姓名、时间)
- 留言默认状态为“待审核”
- 管理员登录后台查看待审留言
- 管理员可执行“通过”或“拒绝”操作
- 已通过的留言在前端展示,未通过或待审的不展示
2. 数据库表结构设计
使用MySQL为例,建一张简单的留言表:
CREATE TABLE message (id BIGINT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
content TEXT NOT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
status INT DEFAULT 0 COMMENT '0-待审核,1-通过,2-拒绝'
);
这张表足够支撑基础功能,后续可加邮箱、IP地址等字段。
立即学习“Java免费学习笔记(深入)”;
3. 后端实现(Spring Boot + MyBatis)
使用Spring Boot快速搭建REST接口:
示例Controller代码片段:
@RestController@RequestMapping("/api/message")
public class MessageController {
@Autowired
private MessageService messageService;
// 提交留言
@PostMapping
public Result add(@RequestBody MessageForm form) {
messageService.saveMessage(form);
return Result.success();
}
// 获取所有已通过留言
@GetMapping("/list")
public Result list() {
List
return Result.success(messages);
}
// 管理员审核(需权限控制)
@PutMapping("/{id}/approve")
public Result approve(@PathVariable Long id) {
messageService.updateStatus(id, 1);
return Result.success();
}
}
注意:实际项目中需要加入权限校验(如使用Spring Security或拦截器),防止非管理员调用审核接口。
4. 前端交互与页面展示
前端可用HTML+Ajax或Vue/React实现。简单场景下,直接用jQuery发请求即可。
- 用户填写表单并提交到 /api/message
- 页面加载时从 /api/message/list 获取已通过留言列表并渲染
- 管理员页面列出 status=0 的数据,提供通过/拒绝按钮
示例提交JS:
$.post('/api/message', {name: '张三',
content: '这是一条测试留言'
}, function(res) {
alert('提交成功,等待审核');
});
基本上就这些。不复杂但容易忽略细节,比如时间格式处理、SQL注入防护、重复提交等问题。开发时建议加上基础日志和异常处理,便于排查问题。











