java项目之个人交友网站(ssm+mysql+jsp)
发布人:shili8
发布时间:2025-03-05 10:33
阅读次数:0
**Java项目之个人交友网站 (SSM + MySQL + JSP)****项目背景**
随着互联网的发展,交友网站已经成为一种流行的社交方式。这个项目旨在开发一个简单的个人交友网站,使用 Java 的 SSM 框架(Spring + Spring MVC + MyBatis)和 MySQL 数据库。
**项目结构**
* **src/main/java**:Java代码目录* **src/main/resources**:配置文件目录* **src/test/java**:测试用例目录**数据库设计**
交友网站的主要功能包括用户注册、登录、发布信息、查看信息等。因此,我们需要设计一个适合这些需求的数据库结构。
sqlCREATE TABLE user ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL, password VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL, register_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP); CREATE TABLE info ( id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(50) NOT NULL, content TEXT NOT NULL, user_id INT NOT NULL, create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES user(id) );
**Java代码**
### **User.java**
java/** * @author [Your Name] */ public class User { private int id; private String username; private String password; private String email; public User() {} public User(int id, String username, String password, String email) { this.id = id; this.username = username; this.password = password; this.email = email; } // getter and setter}
### **Info.java**
java/** * @author [Your Name] */ public class Info { private int id; private String title; private String content; private int userId; public Info() {} public Info(int id, String title, String content, int userId) { this.id = id; this.title = title; this.content = content; this.userId = userId; } // getter and setter}
### **UserMapper.java**
java/** * @author [Your Name] */ public interface UserMapper { ListselectAllUsers(); int insertUser(User user); User selectUserByUsername(String username); }
### **InfoMapper.java**
java/** * @author [Your Name] */ public interface InfoMapper { ListselectAllInfos(); int insertInfo(Info info); Info selectInfoById(int id); }
### **UserService.java**
java/** * @author [Your Name] */ @Servicepublic class UserService { @Autowired private UserMapper userMapper; public ListgetAllUsers() { return userMapper.selectAllUsers(); } public int registerUser(User user) { return userMapper.insertUser(user); } public User getUserByUsername(String username) { return userMapper.selectUserByUsername(username); } }
### **InfoService.java**
java/** * @author [Your Name] */ @Servicepublic class InfoService { @Autowired private InfoMapper infoMapper; public ListgetAllInfos() { return infoMapper.selectAllInfos(); } public int publishInfo(Info info) { return infoMapper.insertInfo(info); } public Info getInfoById(int id) { return infoMapper.selectInfoById(id); } }
### **UserController.java**
java/** * @author [Your Name] */ @Controller@RequestMapping("/user") public class UserController { @Autowired private UserService userService; @GetMapping public String getAllUsers(Model model) { Listusers = userService.getAllUsers(); model.addAttribute("users", users); return "user/list"; } @PostMapping public int registerUser(@RequestBody User user, Model model) { int result = userService.registerUser(user); if (result >0) { model.addAttribute("message", "注册成功!"); } else { model.addAttribute("message", "注册失败!"); } return result; } @GetMapping("/{username}") public String getUserByUsername(@PathVariable String username, Model model) { User user = userService.getUserByUsername(username); if (user != null) { model.addAttribute("user", user); return "user/detail"; } else { model.addAttribute("message", "用户不存在!"); return "error"; } } }
### **InfoController.java**
java/** * @author [Your Name] */ @Controller@RequestMapping("/info") public class InfoController { @Autowired private InfoService infoService; @GetMapping public String getAllInfos(Model model) { Listinfos = infoService.getAllInfos(); model.addAttribute("infos", infos); return "info/list"; } @PostMapping public int publishInfo(@RequestBody Info info, Model model) { int result = infoService.publishInfo(info); if (result >0) { model.addAttribute("message", "发布成功!"); } else { model.addAttribute("message", "发布失败!"); } return result; } @GetMapping("/{id}") public String getinfoById(@PathVariable int id, Model model) { Info info = infoService.getInfoById(id); if (info != null) { model.addAttribute("info", info); return "info/detail"; } else { model.addAttribute("message", "信息不存在!"); return "error"; } } }
### **jsp**
* **user/list.jsp**:显示所有用户的列表* **user/detail.jsp**:显示单个用户的详细信息* **info/list.jsp**:显示所有信息的列表* **info/detail.jsp**:显示单个信息的详细信息### **配置文件**
* **application.properties**:配置数据库连接等基本信息* **spring.xml**:配置Spring框架相关信息以上就是这个Java项目之个人交友网站(SSM + MySQL + JSP)的主要内容。