当前位置:实例文章 » JAVA Web实例» [文章]java项目之个人交友网站(ssm+mysql+jsp)

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 {
 List selectAllUsers();

 int insertUser(User user);

 User selectUserByUsername(String username);
}


### **InfoMapper.java**

java/**
 * @author [Your Name]
 */
public interface InfoMapper {
 List selectAllInfos();

 int insertInfo(Info info);

 Info selectInfoById(int id);
}


### **UserService.java**

java/**
 * @author [Your Name]
 */
@Servicepublic class UserService {
 @Autowired private UserMapper userMapper;

 public List getAllUsers() {
 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 List getAllInfos() {
 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) {
 List users = 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) {
 List infos = 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)的主要内容。

其他信息

其他资源

Top