作者主页:夜未央5788

简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

影院购票系统,本项目分为前台和后台,用户有普通用户和管理员,普通用户只可访问前台页面,管理员可以访问后台;
前台主要功能:

电影分类、电影排行、电影详细介绍、选座购票、评论等功能;

后台主要功能:

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

环境需要

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/  登录

运行截图

台界面

后台页面

代码相关

支付宝支付连接

@Controller
public class PayController {@Autowiredprivate TMovieorderService tMovieorderService;private static String out_trade_no;@RequestMapping("/success")public String success(){//修改订单状态TMovieorder t=new TMovieorder();t.setOrderid(Integer.parseInt(out_trade_no));t.setStatus(1);tMovieorderService.update(t);return "redirect:/userorder/findorder?page=1&pagesize=2";}@RequestMapping("/pay")public void payController(HttpServletRequest request, HttpServletResponse response) throws IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");//获得初始化的AlipayClientAlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);//设置请求参数AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();alipayRequest.setReturnUrl(AlipayConfig.return_url);alipayRequest.setNotifyUrl(AlipayConfig.notify_url);//商户订单号,商户网站订单系统中唯一订单号,必填out_trade_no = new String(request.getParameter("WIDout_trade_no").getBytes("ISO-8859-1"), "UTF-8");//付款金额,必填String total_amount = new String(request.getParameter("WIDtotal_amount").getBytes("ISO-8859-1"), "UTF-8");//订单名称,必填String subject = new String(request.getParameter("WIDsubject").getBytes("ISO-8859-1"), "UTF-8");//商品描述,可空String body = new String(request.getParameter("WIDbody").getBytes("ISO-8859-1"), "UTF-8");alipayRequest.setBizContent("{\"out_trade_no\":\"" + out_trade_no + "\","+ "\"total_amount\":\"" + total_amount + "\","+ "\"subject\":\"" + subject + "\","+ "\"body\":\"" + body + "\","+ "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}");//若想给BizContent增加其他可选请求参数,以增加自定义超时时间参数timeout_express来举例说明//alipayRequest.setBizContent("{\"out_trade_no\":\""+ out_trade_no +"\","//        + "\"total_amount\":\""+ total_amount +"\","//       + "\"subject\":\""+ subject +"\","//     + "\"body\":\""+ body +"\","//       + "\"timeout_express\":\"10m\","//       + "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}");//请求参数可查阅【电脑网站支付的API文档-alipay.trade.page.pay-请求参数】章节//请求String form = "";try {form = alipayClient.pageExecute(alipayRequest).getBody(); //调用SDK生成表单} catch (AlipayApiException e) {e.printStackTrace();}response.setContentType("text/html;charset=" + AlipayConfig.charset);response.getWriter().write(form);//直接将完整的表单html输出到页面response.getWriter().flush();response.getWriter().close();}
}

订单管理控制器

@Controller
@RequestMapping("/userorder")
public class UserOrderController {@Autowiredprivate TMovieorderService tMovieorderService;@Autowiredprivate TUserinfoService tUserinfoService;@RequestMapping("/addajax")public @ResponseBodyMsm addajax(Integer id){Msm byId = tMovieorderService.findById(id);System.out.println(id);return byId;}@RequestMapping("/add")public String add(Integer id,ModelMap modelMap){Msm byId = tMovieorderService.findById(id);modelMap.addAttribute("msm",byId);return "seat";}@RequestMapping("/buy")public String buy(Msm msm){tMovieorderService.insert(msm);System.out.println(msm);return "redirect:/userorder/findorder?page=1&pagesize=2";}@RequestMapping("/findorder")public String findByusername(int page,int pagesize,ModelMap modelMap){String name = SecurityContextHolder.getContext().getAuthentication().getName();TUserinfo userByname = tUserinfoService.findUserByname(name);Integer count = tMovieorderService.count(name);Page pagein=new Page();pagein.setPageSize(pagesize);pagein.setPage(page);pagein.setCount(count);List<TMovieorder> byUsername = tMovieorderService.findByUsername(name,page,pagesize);PageInfo pageInfo=new PageInfo(byUsername);modelMap.addAttribute("orders",pageInfo);modelMap.addAttribute("pages",pagein);modelMap.addAttribute("me",userByname);return "user_order";}@RequestMapping("/cancel")public String cancel(Integer orderid){TMovieorder t=new TMovieorder();t.setOrderid(orderid);t.setStatus(3);tMovieorderService.update(t);return "redirect:/userorder/findorder?page=1&pagesize=2";}
}

电影实验层

@Service("tMoviehallService")
public class TMoviehallServiceImpl implements TMoviehallService {@Resourceprivate TMoviehallDao tMoviehallDao;/*** 通过ID查询单条数据** @param moviehallid 主键* @return 实例对象*/@Overridepublic TMoviehall queryById(Integer moviehallid) {return this.tMoviehallDao.queryById(moviehallid);}@Overridepublic List<TMoviehall> findAll(TMoviehall tMoviehall) {return tMoviehallDao.queryAll(tMoviehall);}/*** 查询多条数据** @param offset 查询起始位置* @param limit  查询条数* @return 对象列表*/@Overridepublic List<TMoviehall> queryAllByLimit(int offset, int limit) {return this.tMoviehallDao.queryAllByLimit(offset, limit);}/*** 新增数据** @param tMoviehall 实例对象* @return 实例对象*/@Overridepublic TMoviehall insert(TMoviehall tMoviehall) {this.tMoviehallDao.insert(tMoviehall);return tMoviehall;}/*** 修改数据** @param tMoviehall 实例对象* @return 实例对象*/@Overridepublic TMoviehall update(TMoviehall tMoviehall) {this.tMoviehallDao.update(tMoviehall);return this.queryById(tMoviehall.getMoviehallid());}/*** 通过主键删除数据** @param moviehallid 主键* @return 是否成功*/@Overridepublic boolean deleteById(Integer moviehallid) {tMoviehallDao.deleteSC(moviehallid);return this.tMoviehallDao.deleteById(moviehallid) > 0;}}

电影管理控制器

@Service("tMovieService")
public class TMovieServiceImpl implements TMovieService {@Resourceprivate TMovieDao tMovieDao;@Autowiredprivate TScheduleDao tScheduleDao;@Autowiredprivate TScheduleService tScheduleService;@Autowiredprivate TSortDao tSortDao;@Autowiredprivate TCommentDao tCommentDao;/*** 通过ID查询单条数据** @param movieid 主键* @return 实例对象*/@Overridepublic TMovie queryById(Integer movieid) {return tMovieDao.queryById(movieid);}/*** 新增数据** @param tMovie 实例对象* @return 实例对象*/@Overridepublic TMovie insert(TMovie tMovie) {this.tMovieDao.insert(tMovie);System.out.println(tMovie);Integer[] sortid = tMovie.getSortid();for (Integer integer : sortid) {tSortDao.insertm_s(tMovie.getMovieid(),integer);}return tMovie;}/*** 修改数据** @param tMovie 实例对象* @return 实例对象*/@Overridepublic void update(TMovie tMovie) {this.tMovieDao.update(tMovie);}@Overridepublic void updateMs(TMovie tMovie) {Integer[] sortid = tMovie.getSortid();tSortDao.deleteByMid(tMovie.getMovieid());for (Integer integer : sortid) {tSortDao.insertm_s(tMovie.getMovieid(),integer);}this.tMovieDao.update(tMovie);}/*** 通过主键删除数据** @param movieid 主键* @return 是否成功*/@Overridepublic boolean deleteById(Integer movieid) {tScheduleService.deleteByMid(movieid);tSortDao.deleteByMid(movieid);tCommentDao.deleteByMid(movieid);return this.tMovieDao.deleteById(movieid) > 0;}@Overridepublic List<TMovie> findall(int page, int pageSize) {PageHelper.startPage(page, pageSize);List<TMovie> movies = tMovieDao.findall();return movies;}@Overridepublic List<TMovie> findall() {return tMovieDao.findall();}@Overridepublic Integer findCount() {return tMovieDao.findCount();}/**** @param sid 分类的id* @return 电影*/@Overridepublic List<TMovie> findBySortID(Integer sid) {return tMovieDao.findBySort(sid);}@Overridepublic List<TMovie> findBYname(String name,Integer page ,Integer pagesize) {name="%"+name+"%";PageHelper.startPage(page,pagesize);return tMovieDao.findByname(name);}@Overridepublic List<TSchedule> findByMid(Integer mid) {return tScheduleDao.findBymovieID(mid);}@Overridepublic List<TSort> countHit() {return tMovieDao.countHit();}@Overridepublic List<TMovie> findSome(TMovie tMovie, Integer page, Integer pageSize) {TSchedule tSchedule=new TSchedule();tSchedule.setScheduleid(111);tMovie.setMoviename("%"+tMovie.getMoviename()+"%");tMovie.setDirector("%"+tMovie.getDirector()+"%");tMovie.setMainperformer("%"+tMovie.getMainperformer()+"%");PageHelper.startPage(page,pageSize);List<TMovie> some = tMovieDao.findSome(tMovie);for (TMovie movie : some) {movie.settSchedule(tSchedule);}return some;}@Overridepublic List<TMovie> tMovieTop() {return tMovieDao.tMovieTop();}@Overridepublic List<TMovie> findBysort(Integer id) {return tMovieDao.findmoviesBySort(id);}@Overridepublic List<TMovie> findBysort(Integer id, Integer page, Integer pageSize) {PageHelper.startPage(page,pageSize);return tMovieDao.findmoviesBySort(id);}@Overridepublic List<TMovie> findTopBysort(Integer id,Integer start, Integer limit) {return tMovieDao.findTopBySort(id,start,limit);}@Overridepublic Integer countSort(Integer sid) {return tMovieDao.countBysort(sid);}
}

如果也想学习本系统,下面领取。回复:010ssm

Java项目:ssm电影院购票系统相关推荐

  1. ssm电影院购票系统、

    项目介绍: ssm电影院购票系统. 系统说明: 影院购票系统 项目引见 影院购票系统,本项目分为前台和后台,用户有普通用户和管理员,普通用户只可访问前台页面,管理员能够访问后台: 前台主要功用有电影分 ...

  2. [附源码]Java计算机毕业设计SSM电影院购票系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  3. 计算机毕业设计SSM电影院购票系统【附源码数据库】

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  4. (附源码)计算机毕业设计ssm电影院购票系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  5. 毕业设计——SSM电影院购票系统(SSM毕业设计)(电影购票系统毕业设计)

    项目类型:SSM项目(B/S架构) 项目名称:基于SSM的电影院购票系统 用户类型:2个角色(管理员+购票者) 系统类型:前端订票界面+后台管理 设计模式:SSM 界面外观:Bootstrap+CSS ...

  6. SSM电影院购票系统

    这个假期中,博主完成了一个SSM框架开发的电影院购票系统,界面上博主使用的是猫眼电影购票,以下是关于系统的介绍: 前端UI文件列表 演示视频网址: SSM影院购票系统演示视频 开发技术: 后端框架:S ...

  7. Java实现模拟电影院购票系统(集合存储数据)

    目标: 模拟实现电影院购票系统. 分析: ·日志框架搭建,系统角色分析 ·首页设计,登录,商家界面设计,用户界面实现 ·用户注册功能 ·商家注册功能 ·商家-详情页设计,影片上架,退出 ·商家-影片下 ...

  8. [附源码]JAVA+ssm计算机毕业设计电影院购票系统(程序+Lw)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

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

    基于javaweb的电影院购票系统(java+ssm+jsp+bootstrap+layui+echarts+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 ec ...

  10. javaweb JSP JAVA 电影院在线订票系统(ssm电影购票系统 电影售票 电影票预订系统)(支持在线选座)

    JSP JAVA 电影院在线订票系统(ssm电影购票系统 电影售票 电影票预订系统)(支持在线选座)

最新文章

  1. adb avd install 失败_ADB命令安装APK常见错误总结
  2. 1小时学会:最简单的iOS直播推流(一)介绍
  3. ssh开发实战之整合篇
  4. UA MATH565C 随机微分方程V 算子半群理论简介
  5. 图论--二分图最大匹配(匈牙利算法)--模板
  6. 第一章:Python的基本数据类型-第二节:Python中表示“有序”(序列)的数据类型
  7. C语言strcat()库函数的实现
  8. UVA-10817- Headmaster's Headache(状压DP)
  9. NSOperation 开发
  10. 浏览器数据库 IndexedDB(一) 概述
  11. G - Ice_cream's world I (并查集)
  12. 20190110-生成密码以及简易密码强度检查
  13. c语言网格搜索,使用逻辑回归时怎么利用网格搜索来查找degree,c等超参数
  14. 中小企业固定资产管理办法哪种好?
  15. UI设计中图标类型指南
  16. java泛型:T与?的使用及区别
  17. 举例说明 频分多址FDMA、时分多址TDMA、码分多址CDMA、空分多址SDMA的异同
  18. GAIN: Missing Data Imputation using Generative Adversarial Nets(基于生成对抗网络的缺失数据填补)论文详解
  19. 《缠中说禅108课》66:主力资金的食物链
  20. 查询MySQL数据库中所有表的结构

热门文章

  1. 74HC595引脚图时序图工作原理及pdf中文资料lsh
  2. JavaScript高级程序设计知识点汇总
  3. 关于可达矩阵的O(N*N)算法和强分图的O(E)算法
  4. widi软件|widi音频转换软件
  5. MAPGIS提示请在“系统设置”里设置好系统库路径(SUVSLIB或者其他)再重新运行程序
  6. HFS远程命令执行漏洞入侵抓鸡黑阔服务器
  7. 32 位和 64 位版本的 Office 2010 之间的兼容性,同样适用于AutoCAD的VBA兼容性--VBA 64 32 调用dll的区别
  8. win7系统激活(GPT分区)
  9. java中jre_java中的jre是什么?
  10. 安卓模拟器安装教程_雷电安卓模拟器v4.0.38绿色免安装版——墨涩网