基于javaweb的电影院购票系统(java+ssm+jsp+bootstrap+layui+echarts+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的电影院购票系统(java+SSM+JSP+bootstrap+layui+echarts+Mysql)

项目介绍

影院购票系统,本项目分为前台和后台,用户有普通用户和管理员,普通用户只可访问前台页面,管理员可以访问后台; 前台主要功能: 电影分类、电影排行、电影详细介绍、选座购票、评论等功能;

后台主要功能: 用户管理、电影管理、订单管理、评论管理、标签管理、放映厅管理、场次安排等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 8.x,9.x版本均可 注:不可使用tomcat7.0,会造成图片显示异常等问题; 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目  6.数据库:MySql 5.7版本;

技术栈

  1. 后端:spring + spring mvc + mybatis + spring security  2. 前端:JSP+jQuery+bootstrap+layui+echarts

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 将项目中applicationContext.xml配置文件中的数据库配置改为自己的配置; 3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行; 4. 运行项目,在浏览器中输入http://localhost:8080/ 登录

用户管理控制层:

@RestController()

public class AccountController {

private final static String ACCOUNT_INFO_ERROR=“用户名或密码错误”;

@Autowired

private AccountServiceImpl accountService;

@PostMapping(“/login”)

public ResponseVO login(@RequestBody UserForm userForm, HttpSession session){

UserVO user = accountService.login(userForm);

if(user==null){

return ResponseVO.buildFailure(ACCOUNT_INFO_ERROR);

//注册session

session.setAttribute(InterceptorConfiguration.SESSION_KEY,userForm);

return ResponseVO.buildSuccess(user);

@PostMapping(“/register”)

public ResponseVO registerAccount(@RequestBody UserForm userForm){

return accountService.registerAccount(userForm);

@PostMapping(“/logout”)

public String logOut(HttpSession session){

session.removeAttribute(InterceptorConfiguration.SESSION_KEY);

return “index”;

@GetMapping(“/get/history”)

public ResponseVO getHistory(@RequestParam int userId){

return accountService.getHistoryByUserId(userId);

@PostMapping(“insert/history”)

public ResponseVO insertHistory(@RequestBody historyItem history){return accountService.insertHistory(history); }

@GetMapping(“/get/user”)

public ResponseVO getUserById(@RequestParam int userId){return accountService.getUserById(userId);}

@PostMapping(“/update/user”)

public ResponseVO updateUser(@RequestBody User user){return accountService.updateUser(user);}

@GetMapping(“/get/all/user”)

public ResponseVO getAllUser(){return accountService.getAllUser();}

@PostMapping(“/delete/user”)

public ResponseVO deleteUser(@RequestParam int userId){return accountService.deleteUser(userId);}

票管理控制此层:

@RestController

@RequestMapping(“/ticket”)

public class TicketController {

@Autowired

TicketService ticketService;

@Autowired

AccountService accountService;

@PostMapping(“/vip/buy”)

public ResponseVO buyTicketByVIPCard(@RequestParam List ticketId, @RequestParam int couponId){

return ticketService.completeByVIPCard(ticketId,couponId);

@PostMapping(“/lockSeat”)

public ResponseVO lockSeat(@RequestBody TicketForm ticketForm){

return ticketService.addTicket(ticketForm);

@PostMapping(“/buy”)

public ResponseVO buyTicket(@RequestParam List ticketId,@RequestParam int couponId){

return ticketService.completeTicket(ticketId,couponId);

@GetMapping(“/get/{userId}”)

public ResponseVO getTicketByUserId(@PathVariable int userId){

return ticketService.getTicketByUser(userId);

@GetMapping(“/get/occupiedSeats”)

public ResponseVO getOccupiedSeats(@RequestParam int scheduleId){

return ticketService.getBySchedule(scheduleId);

@PostMapping(“/cancel”)

public ResponseVO cancelTicket(@RequestParam List ticketId){

return ticketService.cancelTicket(ticketId);

@PostMapping(“insert/history”)

public ResponseVO insertHistory(@RequestBody historyItem history){return accountService.insertHistory(history); }

电影管理控制层:

@RestController

public class MovieController {

@Autowired

private MovieService movieService;

@Autowired

private MovieLikeService movieLikeService;

@RequestMapping(value = “/movie/add”, method = RequestMethod.POST)

public ResponseVO addMovie(@RequestBody MovieForm addMovieForm){

return movieService.addMovie(addMovieForm);

@RequestMapping(value = “/movie/{id}/{userId}”, method = RequestMethod.GET)

public ResponseVO searchOneMovieByIdAndUserId(@PathVariable int id, @PathVariable int userId){

return movieService.searchOneMovieByIdAndUserId(id, userId);

@RequestMapping(value = “/movie/all”, method = RequestMethod.GET)

public ResponseVO searchAllMovie(){

//返回结果中包括已经下架的电影

return movieService.searchAllMovie();

@RequestMapping(value = “/movie/all/exclude/off”, method = RequestMethod.GET)

public ResponseVO searchOtherMoviesExcludeOff(){

//返回结果中不包括已经下架的电影

return movieService.searchOtherMoviesExcludeOff();

@RequestMapping(value = “/movie/{movieId}/like”, method = RequestMethod.POST)

public ResponseVO likeMovie(@PathVariable int movieId,@RequestParam int userId){

return movieLikeService.likeMovie(userId,movieId);

@RequestMapping(value = “/movie/{movieId}/unlike”, method = RequestMethod.POST)

public ResponseVO unlikeMovie(@PathVariable int movieId,@RequestParam int userId){

return movieLikeService.unLikeMovie(userId,movieId);

@RequestMapping(value = “/movie/{movieId}/like/count”, method = RequestMethod.GET)

public ResponseVO getMovieLikeCounts(@PathVariable int movieId){

return movieLikeService.getCountOfLikes(movieId);

@RequestMapping(value = “/movie/{movieId}/like/date”, method = RequestMethod.GET)

public ResponseVO getMovieLikeCountByDate(@PathVariable int movieId){

return movieLikeService.getLikeNumsGroupByDate(movieId);

@RequestMapping(value = “/movie/search”,method = RequestMethod.GET)

public ResponseVO getMovieByKeyword(@RequestParam String keyword){

return movieService.getMovieByKeyword(keyword);

@RequestMapping(value = “/movie/off/batch”,method = RequestMethod.POST)

public ResponseVO pullOfBatchOfMovie(@RequestBody MovieBatchOffForm movieBatchOffForm){

return movieService.pullOfBatchOfMovie(movieBatchOffForm);

@RequestMapping(value = “/movie/update”,method = RequestMethod.POST)

public ResponseVO updateMovie(@RequestBody MovieForm updateMovieForm){

return movieService.updateMovie(updateMovieForm);


基于javaweb的电影院购票系统(java+ssm+jsp+bootstrap+layui+echarts+mysql)相关推荐

  1. 基于javaweb的茶叶溯源系统(java+ssm+jsp+bootstrap+layui+mysql)

    基于javaweb的茶叶溯源系统(java+ssm+jsp+bootstrap+layui+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/ide ...

  2. 基于javaweb的足球联赛管理系统(java+ssm+jsp+bootstrap+layui+mysql)

    基于javaweb的足球联赛管理系统(java+ssm+jsp+bootstrap+layui+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/i ...

  3. 基于javaweb的零食商城系统(java+ssm+jsp+mysql+easyui)

    基于javaweb的零食商城系统(java+ssm+jsp+mysql+easyui) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclip ...

  4. 基于javaweb的家庭理财系统(java+ssm+jsp+tomcat8+mysql)

    基于javaweb的家庭理财系统(java+ssm+jsp+tomcat8+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myecli ...

  5. 基于javaweb的报销erp系统(java+ssm+jsp+layui+jquery+mysql)

    基于javaweb的报销erp系统(java+ssm+jsp+layui+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/ ...

  6. 基于javaweb的儿童摄影预约系统(java+ssm+jsp+js+jquery+mysql)

    基于javaweb的儿童摄影预约系统(java+ssm+jsp+js+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/my ...

  7. 基于javaweb的汽车租赁系统(java+ssm+jsp+layui+echarts+mysql)

    基于javaweb的汽车租赁系统(java+ssm+jsp+layui+echarts+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/ ...

  8. 基于javaweb的智能餐厅管理系统(java+ssm+jsp+bootstrap+mysql)

    基于javaweb的智能餐厅管理系统(java+ssm+jsp+bootstrap+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/my ...

  9. 基于javaweb的大学生兼职论坛(java+ssm+jsp+jquery+layui+mysql)

    基于javaweb的大学生兼职论坛(java+ssm+jsp+jquery+layui+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/ ...

最新文章

  1. 第二十三期:大规模网站架构?你是否熟悉?
  2. LeetCode 1486. 数组异或操作
  3. oracle必须声明标识符函数,引用变量时需要必须声明标识符
  4. 常见浏览器的兼容问题
  5. html div 监听事件无效,在AngularJS中将html替换为div后,Click事件不起作用
  6. Ubuntu卸载图形界面
  7. 2017-4-24(1493037086057未命名文件 测试资源是否正确上传
  8. eclipse 主题
  9. 如何解决Unity高版本使用EasyTouch5的问题
  10. hdu2037-简单dp
  11. 豆瓣高分电影爬取学习心得
  12. Java核心技术整理(九)---持久层、业务层、表现层
  13. Glide 加载webp动图实战(解决图片每帧间隔过长,动图单次播放,二次播放动图时首帧是动图最后一帧的问题)
  14. mysql的填充因子_SQL SERVER索引原理及填充因子
  15. 告别编码5分钟,命名2小时!史上超全的Java命名规范参考!
  16. 华中科技大学计算机徐永兵,华中科技大学计算机学院导师及科研方向.doc
  17. 惩罚因子(penalty term)与损失函数(loss function)
  18. 移动机器人定位(amcl)
  19. 1BIT,1BYTE,1KB,1MB,1GB,1TB等计量单位换算
  20. python四则运算程序_四则运算小程序(Python)

热门文章

  1. 抖音服务器带宽有多大,为什么能够供那么多人同时刷?
  2. Microsoft 预览体验计划 简介
  3. 药物膜过滤的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  4. Excel中图片的vlookup查找操作
  5. acunetix wvs网站漏洞扫描
  6. c语言小车寻迹实训报告,循迹小车项目实训报告.doc
  7. 安卓apk文件使用命令行进行V1和V2签名
  8. SIKI学院lua热更新技术
  9. 2018年第九届蓝桥杯真题解析 | 星期一【Python】
  10. 一键卸载docker、docker-compose