基于javaweb的在线电影售票系统设计和实现(java+springboot+ssm+mysql+jsp)
开发一个网络电影票务销售平台(Java Web + Spring Boot + SSM + MySQL + JSP)
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明




基于Java Web + Spring Boot平台开发的在线电影售票系统的设计与实现(Java 1.8及以上版本 + Spring Boot + Struts 2 + MySQL数据库 + JSP框架 + Maven构建工具)
一、项目简述
前台:
1、正在上映的电影浏览查看。
2、影院信息浏览查看。
3、新闻咨询信息浏览查看。
4、地域信息查看切换。
5、用户注册登录。
6、电影排期查看。
7、在线选座生成订单并支付。
8、电影、影院的评价及评价浏览。
9、用户个人中心。
10、用户中心订单管理。
11、用户中心余额充值。
12、用户中心电影评价、影院评价管理。
后台:
1、地域管理。
2、电影管理、电影评价管理。
3、影院管理、影院评价管理。
4、影厅管理。
5、拍片场次管理。
6、新闻咨询管理。
7、用户管理。
8、订单管理。
9、支付管理。
10、统计类:包括用户、电影、影院、票房等等的统计。
二、项目运行
环境配置:集成开发环境配置通常包括Java JDK版本选择(建议使用1.8及以上版本)、Tomcat 8.5作为Web应用服务器、MySQL作为关系型数据库以及Eclipse IDE及其扩展模块MyEclispe等工具。提供全面的支持包括IntelliJ IDEA插件、Eclipse IDE及其扩展模块MyEclispe以及STS(Standard Tools Service)等工具。
项目技术:Spring Boot+Spring MVC.MyBatis.Thyme Leaf.JS.JQuery.AJAX.Maven等
影厅管理控制器:
/**影厅管理
*/
@RestController
public class HallController {
@Autowired
private HallService hallService;
@RequestMapping(value = “hall/all”, method = RequestMethod.GET)
public ResponseVO searchAllHall(){
return hallService.searchAllHall();
@RequestMapping(value = “hall/add”, method = RequestMethod.POST)
public ResponseVO addHalls(@RequestBody Hall addHallsForm) { return hallService.addHalls( addHallsForm ); }
@RequestMapping(value = “hall/update”, method = RequestMethod.POST)
public ResponseVO Updatehall(@RequestBody Hall Updatehallform){return hallService.Updatehall( Updatehallform);}
电影管理控制器:
/**电影管理
*/
@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(@propertyValue 1, @requestParam 2){
return movieLikeService.likeMovie(userId,movieId);
@RequestMapping(value = “/movie/{movieId}/unlike”, method = RequestMethod.POST)
public ResponseVO similarMovie(@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="映射到指定的URL路径", method="请求方式为")
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 getMovieBatchResponse(@RequestBody MovieBatchFormData movieBatchFormData)
return movieService.pullOfBatchOfMovie(movieBatchOffForm);
@RequestMapping(value = “/movie/update”,method = RequestMethod.POST)
public ResponseVO updateMovie(String requestBody: @RequestBody MovieForm updateMovieForm) {
return movieService.updateMovie(updateMovieForm);
排片管理控制器:
/**排片管理
*/
@RestController
public class ScheduleController {
@Autowired
private ScheduleService scheduleService;
@RequestMapping(value = “/schedule/add”, method = RequestMethod.POST)
public ResponseVO handleSchedule(@RequestBody scheduleData scheduleData){
return scheduleService.addSchedule(scheduleForm);
@RequestMapping(value = “/schedule/update”, method = RequestMethod.POST)
public ResponseVO updateSchedule(@RequestBody ScheduleForm scheduleForm){
return scheduleService.updateSchedule(scheduleForm);
@RequestMapping(value = “/schedule/search”, method = RequestMethod.GET)
public ResponseVO searchSchedule(@RequestParam int hallId, @RequestParam Date startDate){
//这里传递startDate参数时,前端传的是用/分隔的时间,例如startDate=2019/04/12
return scheduleService.searchScheduleSevenDays(hallId, startDate);
@RequestMapping(valueField = "schedule.search.audience", requestMethod = RequestMethod.GET)
public ResponseVO searchAudienceSchedule(@RequestParam int movieId){
return scheduleService.searchAudienceSchedule(movieId);
@RequestMapping(value = “/schedule/view/set”, method = RequestMethod.POST)
public ResponseVO set the ScheduleView field(@RequestBody ScheduleViewForm scheduleViewForm){
return scheduleService.setScheduleView(scheduleViewForm);
@RequestMapping(value = “/schedule/view”, method = RequestMethod.GET)
public ResponseVO getScheduleView(){
return scheduleService.getScheduleView();
@RequestMapping(value="/schedule/delete/batch", method=RequestMethod.Delete)
此方法用于批量删除日程安排。
trigger the deletion of a batch of schedule forms by calling the delete method on scheduleService
@RequestMapping(value = “/schedule/{id}”, method = RequestMethod.GET)
public ResponseVO getScheduleById(@PathVariable int id){
return scheduleService.getScheduleById(id);



