基于Java+SSM实现电影院购票系统

目录
  • 项目介绍
  • 效果图展示
  • 实现逻辑代码
    • MovieController
    • NewsController
    • IndexController
    • UserController

项目介绍

基于Spring,SpringMVC,Mybatis开发实现。

数据库用的是MySQL5.5。

开发工具用的Eclipse + Tomcat7,JDK1.7-1.8皆可。

效果图展示

首页

电影详情页

购票

登录注册页面

后台管理页面

电影信息列表

添加电影信息

电影票管理

订单管理

热点新闻管理

实现逻辑代码

抽出一些核心代码,如有BUG和问题,欢迎指出。

MovieController

package com.app.controller;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.app.bean.Movies;
import com.app.bean.Orders;
import com.app.bean.Ticket;
import com.app.service.MovieService;
import com.app.util.StringUtilsEx;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import static com.app.util.StringUtilsEx.*;

@Controller
@RequestMapping("/movie")
public class MovieController {

	@Autowired
	private MovieService ms;

	@RequestMapping("/listOrder")
	@ResponseBody
	public Map<String,Object> listOrder(Integer page,Integer rows){

		Map<String,Object> result = new HashMap<>();
		List<Orders> list = null;
		try {

			if(isEmpty(page) || isEmpty(rows)) {
				page = 1;
				rows = 5;
			}

			PageHelper.startPage(page, rows);
			list = ms.listOrder();
			result.put("rows", list);
			PageInfo<Orders> pageInfo = new PageInfo<Orders>(list);
			result.put("total", pageInfo.getTotal());

		} catch (Exception e) {

			e.printStackTrace();
			return null;
		}

		return result;

	}

	//根据电影票ID生成订单
	@RequestMapping("/addOrder")
	@ResponseBody
	public Map<String,Object> addOrder(String id){
		Map<String,Object> returnVo = new HashMap<String, Object>();
		returnVo.put("code", 0);

		try{
			ms.addOrder(id);
		}catch(Exception e){
			returnVo.put("code", -1);
		}

		return returnVo;
	}

	@RequestMapping("/getById")
	@ResponseBody
	public Movies getById(String id){
		return	ms.getById(id);
	}

	@RequestMapping("/createTickets")
	@ResponseBody
	public Map<String,Object> createTickets(String id){
		Map<String,Object> returnVo = new HashMap<String, Object>();
		returnVo.put("code", 0);

		//先检查这个id的电影是否已经生成了电影票
		List<Ticket> tickets = ms.getTicketsByMovieId(id);

		if(tickets != null && !tickets.isEmpty()){
			returnVo.put("code", 2);
			return returnVo;
		}

		try{
			ms.createTickets(id);
		}catch(Exception e){
			returnVo.put("code", -1);
		}

		return returnVo;
	}

	@RequestMapping("/update")
	@ResponseBody
	public Map<String,Object> update(String id,String column){
		Map<String,Object> returnVo = new HashMap<String, Object>();
		returnVo.put("code", 0);

		try{
			ms.update(id,column);
		}catch(Exception e){
			returnVo.put("code", -1);
		}

		return returnVo;
	}

	@RequestMapping("/delete")
	@ResponseBody
	public Map<String,Object> delete(String id){
		Map<String,Object> returnVo = new HashMap<String, Object>();
		returnVo.put("code", 0);

		try{
			ms.delete(id);
		}catch(Exception e){
			returnVo.put("code", -1);
		}

		return returnVo;
	}

	@RequestMapping("/add")
	@ResponseBody
	public Map<String,Object> add(Movies movie){
		Map<String,Object> returnVo = new HashMap<String, Object>();
		returnVo.put("code", 0);

		try{

			if(StringUtilsEx.isNotEmpty(movie.getId())){
				ms.update(movie);
			}else{
				 ms.add(movie);
			}

		}catch(Exception e){
			e.printStackTrace();
			returnVo.put("code", -1);
		}

		return returnVo;
	}

	@RequestMapping("/list")
	@ResponseBody
	public Map<String,Object> list(String moviename,Integer page,Integer rows){

		Map<String,Object> result = new HashMap<>();
		List<Movies> list = null;
		try {

			if(isEmpty(page) || isEmpty(rows)) {
				page = 1;
				rows = 5;
			}

			PageHelper.startPage(page, rows);
			list = ms.list(moviename);
			result.put("rows", list);
			PageInfo<Movies> pageInfo = new PageInfo<Movies>(list);
			result.put("total", pageInfo.getTotal());

		} catch (Exception e) {

			e.printStackTrace();
			return null;
		}

		return result;

	}

}

NewsController

package com.app.controller;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.app.bean.Movies;
import com.app.bean.News;
import com.app.service.MovieService;
import com.app.service.NewsService;
import com.app.util.StringUtilsEx;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import static com.app.util.StringUtilsEx.*;

@Controller
@RequestMapping("/news")
public class NewsController {

	@Autowired
	private NewsService service;

	@RequestMapping("/getById")
	@ResponseBody
	public News getById(String id){
		return	service.getById(id);
	}

	@RequestMapping("/delete")
	@ResponseBody
	public Map<String,Object> delete(String id){
		Map<String,Object> returnVo = new HashMap<String, Object>();
		returnVo.put("code", 0);

		try{
			service.delete(id);
		}catch(Exception e){
			returnVo.put("code", -1);
		}

		return returnVo;
	}

	@RequestMapping("/add")
	@ResponseBody
	public Map<String,Object> add(News news){
		Map<String,Object> returnVo = new HashMap<String, Object>();
		returnVo.put("code", 0);

		try{

			if(StringUtilsEx.isNotEmpty(news.getId())){
				service.update(news);
			}else{
				service.add(news);
			}

		}catch(Exception e){
			e.printStackTrace();
			returnVo.put("code", -1);
		}

		return returnVo;
	}

	@RequestMapping("/list")
	@ResponseBody
	public Map<String,Object> list(String newsname,Integer page,Integer rows){

		Map<String,Object> result = new HashMap<>();
		List<News> list = null;
		try {

			if(isEmpty(page) || isEmpty(rows)) {
				page = 1;
				rows = 5;
			}

			PageHelper.startPage(page, rows);
			list = service.list(newsname);
			result.put("rows", list);
			PageInfo<News> pageInfo = new PageInfo<News>(list);
			result.put("total", pageInfo.getTotal());

		} catch (Exception e) {

			e.printStackTrace();
			return null;
		}

		return result;

	}

}

IndexController

package com.app.controller;

import static com.app.util.StringUtilsEx.isEmpty;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.app.bean.Movies;
import com.app.bean.News;
import com.app.bean.Ticket;
import com.app.mapper.NewsMapper;
import com.app.service.MovieService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

@Controller
public class IndexController {

	@Autowired
	private MovieService ms;

	@Autowired
	private NewsMapper newsMapper;

	@RequestMapping("front/index")
	public ModelAndView index(String moviename){
		ModelAndView mav = new ModelAndView();

		PageHelper.startPage(1, 10);
		List<Movies> list = ms.list(moviename);

		//电影
		mav.addObject("movieList",list);

		mav.addObject("jrpf",ms.queryList("jrpf"));
		mav.addObject("zsqd",ms.queryList("zsqd"));
		mav.addObject("hprc",ms.queryList("hprc"));
		mav.addObject("newsList",ms.queryList("news"));

		mav.setViewName("front/index.jsp");
		return mav;
	}

	@RequestMapping("front/detail")
	public ModelAndView detail(String id){
		ModelAndView mav = new ModelAndView();

		//根据id获取电影的所有信息
		Movies movie = ms.getById(id);

		//根据id获取所有的电影票
		List<Ticket> tickets = ms.getTicketsByMovieId(id);

		mav.addObject("movie", movie);
		mav.addObject("tickets", tickets);

		mav.addObject("jrpf",ms.queryList("jrpf"));
		mav.addObject("zsqd",ms.queryList("zsqd"));
		mav.addObject("hprc",ms.queryList("hprc"));
		mav.addObject("newsList",ms.queryList("news"));

		mav.setViewName("front/detail.jsp");
		return mav;
	}

	@RequestMapping("front/detailNews")
	public ModelAndView detailNews(String id){
		ModelAndView mav = new ModelAndView();

		//根据id获取电影的所有信息

		News news = newsMapper.selectByPrimaryKey(Integer.parseInt(id));

		mav.addObject("news", news);

		mav.addObject("jrpf",ms.queryList("jrpf"));
		mav.addObject("zsqd",ms.queryList("zsqd"));
		mav.addObject("hprc",ms.queryList("hprc"));
		mav.addObject("newsList",ms.queryList("news"));

		mav.setViewName("front/detailNews.jsp");
		return mav;
	}

	@RequestMapping("front/result")
	public ModelAndView result(String moviename,Integer page,Integer rows){
		ModelAndView mav = new ModelAndView();

		if(isEmpty(page) || isEmpty(rows)) {
			page = 1;
			rows = 5;
		}

		PageHelper.startPage(page, rows);

		//根据id获取所有的电影票
		List list = ms.list(moviename);
		mav.addObject("rows",list);
		PageInfo<Movies> pageInfo = new PageInfo<Movies>(list);
		mav.addObject("total",pageInfo.getTotal());
		mav.addObject("page",page);

		mav.addObject("jrpf",ms.queryList("jrpf"));
		mav.addObject("zsqd",ms.queryList("zsqd"));
		mav.addObject("hprc",ms.queryList("hprc"));
		mav.addObject("newsList",ms.queryList("news"));
		mav.setViewName("front/result.jsp");
		return mav;
	}

}

UserController

package com.app.controller;

import static com.app.util.StringUtilsEx.isEmpty;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.app.bean.Movies;
import com.app.bean.Users;
import com.app.bean.UsersExample;
import com.app.bean.UsersExample.Criteria;
import com.app.core.ReturnVoCommon;
import com.app.mapper.UsersMapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

import net.sf.json.JSONObject;

@Controller
@RequestMapping("/user")
public class UserController {

	@Autowired
	private UsersMapper userMapper;

	@RequestMapping("/list")
	@ResponseBody
	public Map<String,Object> list(Integer page,Integer rows){

		Map<String,Object> result = new HashMap<>();
		List<Users> list = null;
		try {

			if(isEmpty(page) || isEmpty(rows)) {
				page = 1;
				rows = 5;
			}

			PageHelper.startPage(page, rows);

			list = userMapper.selectByExample(new UsersExample());

			result.put("rows", list);
			PageInfo<Users> pageInfo = new PageInfo<Users>(list);
			result.put("total", pageInfo.getTotal());

		} catch (Exception e) {

			e.printStackTrace();
			return null;
		}

		return result;

	}

	@RequestMapping("/delete")
	@ResponseBody
	public Map<String,Object> delete(String id){
		Map<String,Object> returnVo = new HashMap<String, Object>();
		returnVo.put("code", 0);

		try{
			userMapper.deleteByPrimaryKey(Integer.parseInt(id));
		}catch(Exception e){
			returnVo.put("code", -1);
		}

		return returnVo;
	}

	@RequestMapping("/reg")
	@ResponseBody
	public ReturnVoCommon reg(Users user,HttpServletRequest request){

		ReturnVoCommon vo = new ReturnVoCommon();

		UsersExample example = new UsersExample();
		Criteria createCriteria = example.createCriteria();
		createCriteria.andNameEqualTo(user.getName());
		List<Users> list = userMapper.selectByExample(example);

		if(list.size() == 1){
			vo.setCode(-1);
			vo.setErrMsg("用户名存在!");
			return vo;
		}

		user.setAuth("注册用户");
		userMapper.insert(user);

		return vo;
	}

	@RequestMapping("/login")
	@ResponseBody
	public ReturnVoCommon login(Users user,HttpServletRequest request){
		ReturnVoCommon vo = new ReturnVoCommon();

		UsersExample example = new UsersExample();
		Criteria createCriteria = example.createCriteria();
		createCriteria.andNameEqualTo(user.getName());
		createCriteria.andPasswordEqualTo(user.getPassword());
		createCriteria.andAuthEqualTo(user.getAuth());

		List<Users> list = userMapper.selectByExample(example);

		if(list.size() < 1){
			vo.setCode(-1);
			vo.setErrMsg("用户名或者密码错误!");
			return vo;
		}

		if(user.getAuth().equals("注册用户")){
			vo.setCode(1);
			request.getSession().setAttribute("currentUser", list.get(0));
		}else{
			vo.setCode(2);
			request.getSession().setAttribute("adminUser", list.get(0));
		}

		return vo;
	}

}
 

到此这篇关于基于Java+SSM实现电影院购票系统的文章就介绍到这了,更多相关Java SSM电影院购票系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 基于java SSM springboot实现景区行李寄存管理系统

    主要技术实现设计:spring. springmvc. springboot. springboot security权限控制.mybatis .session. jquery . md5 .bootstarp.js tomcat.拦截器等. 主要功能实现设计:登录.用户管理.角色权限管理.菜单管理.部门管理.行李柜管理.用户寄存管理.记录查询管理.通知公告管理.入柜.出柜以及修改密码等操作. 项目介绍 随着中国人对于旅游休闲的积极认识和市场的需求不断增加,各个景区为了满足游客需求也在不断的开发

  • 选课推荐交流平台系统基于java ssm springboot实现

    目录 主要功能模块设计: 主要技术: 主要功能实现前端: 选课平台首页: 登录注册管理: 选课推荐分类: 课程详情信息: 我的个人中心: 主要功能实现后台: 系统主页设计: 选课类型管理: 选课信息详情管理: 通知公告信息: 用户信息管理: 评论交流回复管理: 部分关键代码展示: 登录模块: 配置模块: 主要表设计: 用户表: 选课类型表: 选课详情表: 评论交流表: 回复信息表: 夏天到了.小雪来给大家降降温 话不多说.直接进入主题 主要功能模块设计: 登录注册.首页信息浏览.选课分类查看.选

  • 基于Java SSM框架实现简易的评教系统

    目录 介绍 效果图 部分核心代码 介绍 项目编号:BS-GX-014 数据库:mysql 开发工具:IDEA / ECLIPSE 开发技术:SSM 框架 本系统基于SSM框架实现.主要包含三个角色,管理员,老师,学生.管理员主要管理学生,老师,课程.学生可以进行选课,选完课后可以对任课老师评价.老师可以查看自己的评价信息. 效果图 部分展示功能如下: 管理员角色: 学生角色: 老师角色: 部分核心代码 package one.controller; import java.util.List;

  • 基于Java SSM实现在线点餐系统

    目录 介绍 效果图 核心代码 介绍 项目编号:BS-PT-022 本项目基于SSM框架实现在线点餐系统,主要实现系统的在线点餐功能. 开发工具:IDEA/ECLIPSE 数据库:MYSQL5.7 后台技术:SSM 前台技术:CSS,JS,JSP 应用服务器:TOMCAT8.5 效果图 下面展示一下系统功能: 首页 我的餐车 订单 用户中心 会员登陆 会员注册 后台登陆 菜单管理 菜单类别管理 公告信息管理 订单管理 信息修改 核心代码 package com.example.meal_order

  • 基于java SSM springboot实现抗疫物质信息管理系统

    主要功能设计: 用户.区域.物质类型.物质详情.物质申请和审核以及我的申请和通知公告以及灵活控制菜单权限 主要技术实现:spring. springmvc. springboot.springboot security权限框架 mybatis . jquery . md5 .bootstarp.js tomcat.器.拦截器等 具体功能模块:用户模块.角色模块.菜单模块.部门模块以及灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求 业务模块功能:区域管理.对不同区域的进行管理以及物质发

  • Java实现茶叶售卖商城系统(java+SSM+JSP+EasyUi+mysql)

    目录 前言 实现效果 主要代码 用户管理控制层 商品管理服务类 订单控制层 前言 这是一个应用SSM框架的项目,前端页面整洁清晰.该系统有两个角色,一个是普通用户,另一个是管理员. 普通用户具有注册.登录.查看商品.添加购物车.添加商品收藏.下订单.商品评价.用户地址管理等等功能. 管理员具有登录.管理用户信息.管理商品信息.管理商品活动信息.管理订单信息.管理用户评论信息的等等功能. 应用技术:Jsp + SSM + EasyUi 运行环境:eclipse/IDEA + MySQL5.7 +

  • Java项目之java+springboot+ssm实现理财管理系统设计

    理财系统: 设计使用了当前较为流行的spring boot,spring,spring mvc,mybatis,shiro框架分页处理使用了pagehelper进行操作,前台使用了模板语言thymeleaf,界面较为炫酷,适合年轻朋友.开发工具采用的是IDEA.该系统主要解决了理财中的一些问题 包含功能:权限管理,用户信息管理,理财产品管理等内容. 登陆控制层:  @Controller @RequestMapping("/login") public class LoginContr

  • 基于Java+SSM实现电影院购票系统

    目录 项目介绍 效果图展示 实现逻辑代码 MovieController NewsController IndexController UserController 项目介绍 基于Spring,SpringMVC,Mybatis开发实现. 数据库用的是MySQL5.5. 开发工具用的Eclipse + Tomcat7,JDK1.7-1.8皆可. 效果图展示 首页 电影详情页 购票 登录注册页面 后台管理页面 电影信息列表 添加电影信息 电影票管理 订单管理 热点新闻管理 实现逻辑代码 抽出一些核

  • 基于Java SSM框架开发图书借阅系统源代码

    一.技术框架与开发环境 开发环境: IDE:IDEA 2020 数据库:MySQL 8.0 JDK 1.8 Maven 3.6.1 Tomcat 9 lombok 1.18.1 技术框架: 核心框架:Spring 5.1.9 持久层框架:Mybatis 3.5.2 视图层框架:SpringMVC 5.1.9 前端框架:Bootstrap 4 jquery-3.6.0 二.项目源码 有用就点赞博客 Github 国内:Giee 项目结构 三.功能介绍 1.登录 2.注册 AJAX异步刷新显示判断账

  • 基于java ssm springboot实现选课推荐交流平台系统

    目录 主要功能模块设计: 主要技术: 主要功能实现前端: 选课平台首页: 登录注册管理: 选课推荐分类: 课程详情信息: 我的个人中心: 主要功能实现后台: 系统主页设计: 选课类型管理: 选课信息详情管理: 通知公告信息: 用户信息管理: 评论交流回复管理: 部分关键代码展示: 登录模块: 配置模块: 主要表设计: 用户表: 选课类型表: 选课详情表: 评论交流表: 回复信息表: 夏天到了.小雪来给大家降降温 话不多说.直接进入主题 主要功能模块设计: 登录注册.首页信息浏览.选课分类查看.选

  • 基于Java SSM的健康管理小程序的实现

    目录 一.系统的简介 二.系统实现的主要功能 三.系统的界面演示 四.核心代码展示 一.系统的简介 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏览器:谷歌浏览器 二.系统实现的主要功能 (1)用户管理.主要实现了健康管理小程序的用户管理功能. (2)登录注册.小程序端可以登录注册. (

  • java swing实现电影购票系统

    本文实例为大家分享了java swing实现电影购票系统的具体代码,供大家参考,具体内容如下 首先系统分为前台用户登录注册和后台管理员进行管理 项目采用三层架构思想 系统首页 电影详情以及查看评论 查看所有电影场次 购买影票选择座位 查看影票以及点击进入评论 对购买的影票进行想评论 接下来看看管理员 管理员进行操作,几个按钮样式差不错,就不全贴了.感觉已经贴的挺详细的了. 代码的话就贴一些通用的访问数据库的具有通用的增删改查的代码. /** * 执行增删改的操作 * @param sql * @

随机推荐