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)的主要内容。

