作者主页:夜未央5788
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
项目介绍
本项目包含前后台,前台为普通用户登录,后台为管理员登录。
管理员角色包含以下功能:
用户管理,电影管理,影院管理、放映厅管理、场次管理、评论管理、订单管理等功能。
用户角色包含以下功能:
首页、电影详情查看、购票、选座、支付、查看订单、搜索电影、发表评论等功能;
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7、8.0等版本均可;
6.是否Maven项目: 否;
技术栈
Servlet、JSP、JDBC、MySQL5.7/8.0、Tomcat8、jquery、layui、bootstrap等
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目;
3. 将项目中util/JdbcUtil.java配置文件中的数据库配置改为自己的配置;
4. 运行项目,在浏览器中输入http://localhost:8080/ 登录
管理员账号/密码:admin/123456
用户账号/密码:test/123456
运行截图
前台界面
后管界面
相关代码
CinemaServlet
package com.movie.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo;
import com.movie.bean.Cinema;
import com.movie.service.CinemaService;
@WebServlet("/cinema")
public class CinemaServlet extends HttpServlet{
private CinemaService cinemaService;
private static final long serialVersionUID = 1L;
@Override
public void init() throws ServletException {
cinemaService = new CinemaService();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String method = req.getParameter("method");
if("findAllCinema".equals(method)){
findAllCinema(req,resp);
}else if("updateCinema".equals(method)){
updateCinema(req,resp);
}else if("add".equals(method)){
add(req,resp);
}
// 重定向
//resp.sendRedirect("product_list");
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
private void findAllCinema(HttpServletRequest req, HttpServletResponse resp) throws IOException{
Integer page = req.getParameter("page") == null?1:Integer.valueOf(req.getParameter("page"));
Integer limit = req.getParameter("limit") == null?10:Integer.valueOf(req.getParameter("limit"));
String keyword = req.getParameter("keyword") == null?"":req.getParameter("keyword").toString();
PageInfo<Cinema> info = cinemaService.findAllCinemaBySplitPage(page, limit, keyword);
resp.setContentType("text/json; charset=utf-8"); // 设置response的编码及格式
PrintWriter out = resp.getWriter();
Map<String,Object> map = new HashMap<>();
map.put("msg", "");
map.put("code", 0);
map.put("count", info.getTotal());
map.put("data", info.getList());
String resJSON = JSON.toJSONString(map);
out.print(resJSON); // 输出
}
public void add(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String result ="";
String cinema_name = req.getParameter("cinema_name") == null?"":req.getParameter("cinema_name").toString();
String cinema_address = req.getParameter("cinema_address") == null?"":req.getParameter("cinema_address").toString();
Cinema cinema = new Cinema();
cinema.setCinema_name(cinema_name);
cinema.setCinema_address(cinema_address);
List<Cinema> list = cinemaService.findCinemaByName(cinema.getCinema_name());
if(list.size() > 0) {
result = "fail";
}else {
Integer rs = cinemaService.addCinema(cinema);
if(rs > 0) {
result = "success";
}else {
result = "fail";
}
}
resp.setContentType("text/json; charset=utf-8"); // 设置response的编码及格式
PrintWriter out = resp.getWriter();
Map<String,Object> map = new HashMap<>();
map.put("state", result);
String resJSON = JSON.toJSONString(map);
out.print(resJSON); // 输出
}
public void updateCinema(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String result = "";
Long cinema_id = req.getParameter("cinema_id") == null?1:Long.valueOf(req.getParameter("cinema_id"));
String cinema_name = req.getParameter("cinema_name") == null?"":req.getParameter("cinema_name").toString();
String cinema_address = req.getParameter("cinema_address") == null?"":req.getParameter("cinema_address").toString();
Cinema cinema = new Cinema();
cinema.setCinema_id(cinema_id);
cinema.setCinema_name(cinema_name);
cinema.setCinema_address(cinema_address);
Integer rs = cinemaService.updateCinema(cinema);
if(rs > 0) {
result = "success";
}else {
result = "fail";
}
resp.setContentType("text/json; charset=utf-8"); // 设置response的编码及格式
PrintWriter out = resp.getWriter();
Map<String,Object> map = new HashMap<>();
map.put("state", result);
String resJSON = JSON.toJSONString(map);
out.print(resJSON); // 输出
}
}
CommentServlet
package com.movie.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo;
import com.movie.bean.Comment;
import com.movie.bean.User;
import com.movie.service.CommentService;
import com.movie.service.MovieService;
import com.movie.service.UserService;
@WebServlet("/comment")
public class CommentServlet extends HttpServlet{
private CommentService commentService;
private UserService userService;
private MovieService movieService;
private static final long serialVersionUID = 1L;
@Override
public void init() throws ServletException {
commentService = new CommentService();
userService = new UserService();
movieService = new MovieService();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String method = req.getParameter("method");
if("findAllComments".equals(method)){
findAllComments(req,resp);
}else if("findAllCommentsPage".equals(method)){
findAllCommentsPage(req,resp);
}else if("findAllCommentsPageByMovieId".equals(method)){
findAllCommentsPageByMovieId(req,resp);
}else if("addCommentByUser".equals(method)){
addCommentByUser(req,resp);
}else if("updateComment".equals(method)){
updateComment(req,resp);
}else if("deleteComemnt".equals(method)){
deleteComment(req,resp);
}else if("findCommentsByUserName".equals(method)){
findCommentsByUserName(req,resp);
}
// 重定向
//resp.sendRedirect("product_list");
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
public void findAllComments(HttpServletRequest req, HttpServletResponse resp) throws IOException {
List<Comment> list = commentService.findAllComments();
for(Comment comment: list) {
comment.setComment_user(userService.findUserById(comment.getUser_id()));
}
resp.setContentType("text/json; charset=utf-8"); // 设置response的编码及格式
PrintWriter out = resp.getWriter();
Map<String,Object> map = new HashMap<>();
map.put("code", 0);
map.put("msg","");
map.put("count", list.size());
map.put("data", list);
String resJSON = JSON.toJSONString(map);
out.print(resJSON); // 输出
}
public void findAllCommentsPage(HttpServletRequest req, HttpServletResponse resp) throws IOException {
Integer page = req.getParameter("page") == null?1:Integer.valueOf(req.getParameter("page"));
Integer limit = req.getParameter("limit") == null?1:Integer.valueOf(req.getParameter("limit"));
String user_name = req.getParameter("user_name") == null?"":req.getParameter("user_name").toString();
List<Comment> info = commentService.findAllCommentsBySplitPage(page, limit, user_name);
for(Comment comment : info) {
comment.setComment_user(userService.findUserById(comment.getUser_id()));
}
resp.setContentType("text/json; charset=utf-8"); // 设置response的编码及格式
PrintWriter out = resp.getWriter();
Map<String,Object> map = new HashMap<>();
map.put("code", 0);
map.put("msg", "");
map.put("count", commentService.findAllCommentsBySplitPageCount(user_name));
map.put("data", info);
String resJSON = JSON.toJSONString(map);
out.print(resJSON); // 输出
}
public void findAllCommentsPageByMovieId(HttpServletRequest req, HttpServletResponse resp) throws IOException {
Integer page = req.getParameter("page") == null?1:Integer.valueOf(req.getParameter("page"));
Integer limit = req.getParameter("limit") == null?10:Integer.valueOf(req.getParameter("limit"));
long movie_id = req.getParameter("movie_id") == null?0:Long.valueOf(req.getParameter("movie_id").toString());
List<Comment> info = commentService.findAllCommentsPageByMovieIdPage(page, limit, movie_id);
for(Comment comment : info) {
comment.setComment_user(userService.findUserById(comment.getUser_id()));
}
resp.setContentType("text/json; charset=utf-8"); // 设置response的编码及格式
PrintWriter out = resp.getWriter();
Map<String,Object> map = new HashMap<>();
map.put("code", 0);
map.put("msg", "");
map.put("count", commentService.findAllCommentsPageByMovieIdCount(movie_id));
map.put("data", info);
String resJSON = JSON.toJSONString(map);
out.print(resJSON); // 输出
}
public void addCommentByUser(HttpServletRequest req, HttpServletResponse resp) throws IOException {
Long movie_id = req.getParameter("movie_id") == null?1:Long.valueOf(req.getParameter("movie_id"));
String comment_content = req.getParameter("comment_content") == null?"":req.getParameter("comment_content").toString();
String comment_score = req.getParameter("comment_score") == null?"":req.getParameter("comment_score").toString();
User user = (User)req.getSession().getAttribute("user");
resp.setContentType("text/json; charset=utf-8"); // 设置response的编码及格式
PrintWriter out = resp.getWriter();
Map<String,Object> map = new HashMap<>();
if(user == null) {
map.put("code",200);
map.put("msg", "您未登录,登录之后才可评论~");
}else {
Comment comment = new Comment();
comment.setComment_content(comment_content);
comment.setMovie_id(movie_id);
comment.setUser_id(user.getUser_id());
comment.setComment_time(new Date());
comment.setComment_score(Integer.valueOf(comment_score));
Integer rs = commentService.addComemnt(comment);
if(rs > 0) {
Integer rs2 = movieService.updateMovieCommentCountAndScore(comment.getMovie_id());
if(rs2 > 0) {
map.put("code", 0);
map.put("msg", "评论成功~");
}else {
map.put("code",200);
map.put("msg", "评论失败~");
}
}else {
map.put("code",200);
map.put("msg", "评论失败~");
}
}
String resJSON = JSON.toJSONString(map);
out.print(resJSON); // 输出
}
public void updateComment(HttpServletRequest req, HttpServletResponse resp) throws IOException {
Long comment_id = req.getParameter("comment_id") == null?1:Long.valueOf(req.getParameter("comment_id"));
String comment_content = req.getParameter("comment_content") == null?"":req.getParameter("comment_content").toString();
Comment comment = this.commentService.findCommentById(comment_id);
comment.setComment_content(comment_content);
Integer rs = commentService.updateComment(comment);
resp.setContentType("text/json; charset=utf-8"); // 设置response的编码及格式
PrintWriter out = resp.getWriter();
Map<String,Object> map = new HashMap<>();
if(rs > 0) {
map.put("code", 0);
map.put("msg", "修改成功~");
}else {
map.put("code",200);
map.put("msg", "修改失败~");
}
String resJSON = JSON.toJSONString(map);
out.print(resJSON); // 输出
}
public void deleteComment(HttpServletRequest req, HttpServletResponse resp) throws IOException {
Long comment_id = req.getParameter("comment_id") == null?1:Long.valueOf(req.getParameter("comment_id"));
Integer rs2 = movieService.delCommentCount(commentService.findCommentById(comment_id).getMovie_id());
Integer rs = commentService.deleteComment(comment_id);
System.out.println(rs2);
resp.setContentType("text/json; charset=utf-8"); // 设置response的编码及格式
PrintWriter out = resp.getWriter();
Map<String,Object> map = new HashMap<>();
if(rs > 0) {
map.put("code", 0);
map.put("msg", "删除成功~");
}else {
map.put("code", 200);
map.put("msg", "删除失败~");
}
String resJSON = JSON.toJSONString(map);
out.print(resJSON); // 输出
}
public void findCommentsByUserName(HttpServletRequest req, HttpServletResponse resp) throws IOException {
Integer page = req.getParameter("page") == null?1:Integer.valueOf(req.getParameter("page"));
Integer limit = req.getParameter("limit") == null?1:Integer.valueOf(req.getParameter("limit"));
String user_name = req.getParameter("user_name") == null?"":req.getParameter("user_name").toString();
PageInfo<Comment> info = commentService.findCommentsByUserName(page, limit, user_name);
//System.out.println(info);
for(Comment comment : info.getList()) {
comment.setComment_user(userService.findUserById(comment.getUser_id()));
}
resp.setContentType("text/json; charset=utf-8"); // 设置response的编码及格式
PrintWriter out = resp.getWriter();
Map<String,Object> map = new HashMap<>();
map.put("code", 0);
map.put("msg", "");
map.put("count", info.getTotal());
map.put("data", info.getList());
String resJSON = JSON.toJSONString(map);
out.print(resJSON); // 输出
}
}
如果也想学习本系统,下面领取。关注并回复:143jsp