java项目之弹幕视频网站(ssm+mysql+jsp)
发布人:shili8
发布时间:2024-12-29 03:24
阅读次数:0
**Java项目之弹幕视频网站 (SSM + MySQL + JSP)****项目介绍**
本项目是一个简单的弹幕视频网站,使用 Java 的 SSM 框架(Spring + Spring MVC + MyBatis)与 MySQL 数据库,以及 JSP 作为前端视图。该项目实现了用户登录、注册、视频上传、弹幕评论等功能。
**技术栈**
* Java8* Spring4.3.14* Spring MVC4.3.14* MyBatis3.5.9* MySQL5.7* JSP**项目结构**
弹幕视频网站|—— src| |—— main| | |—— java| | | |—— com| | | | |—— example| | | | | |—— danmu (项目源代码) | | | | | |—— entity (实体类) | | | | | |—— service (业务逻辑层) | | | | | |—— dao (数据访问层) | | | | | |—— controller (控制器) | | | | | |—— utils (工具类) | | | | | |—— config (配置类) | | | | | |—— filter (过滤器) | | | | | |—— interceptor (拦截器) | | | | | |—— webapp| | | | | | |—— WEB-INF| | | | | | | |—— web.xml| | | | | | |—— index.jsp| | | | | | |—— login.jsp| | | | | | |—— register.jsp| | | | | | |—— video.jsp| | | | | | |—— danmu.jsp| | | | | | |—— upload.jsp| | | | | |—— pom.xml (Maven配置文件) | | | | | |—— README.md| | | | |—— .gitignore| | | | |—— LICENSE.txt| | | |—— target| | | |—— src/main/resources| | | |—— src/test/java| | | |—— src/test/resources| |—— test| | |—— java| | | |—— com| | | | |—— example| | | | | |—— danmu (测试源代码) | | | | | |—— entity (实体类) | | | | | |—— service (业务逻辑层) | | | | | |—— dao (数据访问层) | | | | | |—— controller (控制器) | | | | | |—— utils (工具类) | | | | | |—— config (配置类) | | | | | |—— filter (过滤器) | | | | | |—— interceptor (拦截器) | | | | | |—— webapp| | | | | | |—— WEB-INF| | | | | | | |—— web.xml| | | | | | |—— index.jsp| | | | | | |—— login.jsp| | | | | | |—— register.jsp| | | | | | |—— video.jsp| | | | | | |—— danmu.jsp| | | | | | |—— upload.jsp| | | | | |—— pom.xml (Maven配置文件) | | | | | |—— README.md| | | | |—— .gitignore| | | | |—— LICENSE.txt
**实体类**
java// User.javapublic class User {
private int id;
private String username;
private String password;
public User() {}
public User(int id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
// getter和setter方法}
// Video.javapublic class Video {
private int id;
private String title;
private String url;
public Video() {}
public Video(int id, String title, String url) {
this.id = id;
this.title = title;
this.url = url;
}
// getter和setter方法}
// Danmu.javapublic class Danmu {
private int id;
private String content;
private int videoId;
public Danmu() {}
public Danmu(int id, String content, int videoId) {
this.id = id;
this.content = content;
this.videoId = videoId;
}
// getter和setter方法}
**业务逻辑层**
java// UserService.javapublic class UserService {
public boolean login(String username, String password) {
// 与数据库交互,检查用户名和密码是否正确 return true; // 或 false }
public boolean register(User user) {
// 与数据库交互,注册新用户 return true; // 或 false }
}
// VideoService.javapublic class VideoService {
public List**数据访问层**
java// UserMapper.javapublic interface UserMapper {
int login(String username, String password);
int register(User user);
}
// VideoMapper.javapublic interface VideoMapper {
List**控制器**
java// UserController.java@RestController@RequestMapping("/user")
public class UserController {
@Autowired private UserService userService;
@PostMapping("/login")
public boolean login(@RequestBody User user) {
return userService.login(user.getUsername(), user.getPassword());
}
@PostMapping("/register")
public boolean register(@RequestBody User user) {
return userService.register(user);
}
}
// VideoController.java@RestController@RequestMapping("/video")
public class VideoController {
@Autowired private VideoService videoService;
@GetMapping("/")
public List**过滤器**
java// LoginFilter.javapublic class LoginFilter implements Filter {
@Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// 检查用户是否登录,如果未登录,则跳转到登录页面 if (!isLogin(request)) {
RequestDispatcher dispatcher = request.getRequestDispatcher("/login");
dispatcher.forward(request, response);
return;
}
chain.doFilter(request, response);
}
private boolean isLogin(ServletRequest request) {
// 与数据库交互,检查

