项目介绍

本项目为前后台项目,首先分为管理员和普通用户,游客。
游客可以进入首页,必须注册成为普通用户才能进行影片的购买。管理员和普通用户进行分权限登录,登录后进入不同页面。

普通用户登录后进入首页,首页有影片推荐,用户可以点击进入购买页面,有电影院选座功能,可以加入购物车。用户可以修改自己的个人信息,用户还可以对该影片进行评价或者查看该影片已有的评价。

管理员登录后进入后台管理系统,可以对影片信息进行增删改查的点击,还可以对订单进行处理,对用户的评价进行回复。

管理员角色包含以下功能:

管理员登陆,用户管理,管理员管理,影片管理,订单管理,电影评论管理等功能。

用户角色包含以下功能:
用户首页,用户登陆注册,查看电影以及评论,选择座位,加入购物车,订单付款,查看订单,查看以及修改个人信息,评价电影等功能。

环境需要

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版本;

6.是否Maven项目: 否;

技术栈

1. 后端:Spring SpringMVC Struts Hibernate

2. 前端:JSP+css+javascript+bootstrap+jQuery

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中config/jdbc.properties配置文件中的数据库配置改为自己的配置;

4. 运行项目,分别登录前后台;

运行截图

前台界面

java 座位表生成 java选座位_java

java 座位表生成 java选座位_java_02

java 座位表生成 java选座位_json_03

java 座位表生成 java选座位_json_04

java 座位表生成 java选座位_ssh_05

java 座位表生成 java选座位_java_06

后台界面

java 座位表生成 java选座位_ssh_07

java 座位表生成 java选座位_json_08

java 座位表生成 java选座位_json_09

java 座位表生成 java选座位_开发语言_10

java 座位表生成 java选座位_java_11

相关代码 

CartAction

package com.my.pro.action;

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

import org.apache.struts2.ServletActionContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;

import com.opensymphony.xwork2.ActionSupport;

import net.sf.json.JSONObject;

import com.my.pro.dto.Cart;
import com.my.pro.dto.CartItem;
import com.my.pro.model.Film;
import com.my.pro.model.FilmSeat;
import com.my.pro.service.FilmSeatService;
import com.my.pro.service.FilmService;

@Controller("cartAction")
@Scope("prototype")
public class CartAction extends ActionSupport {
	// 接收pid
	private Integer pid;
	// 接收数量count
	private Integer count;
	
	private String z;
	
	public String getZ() {
		return z;
	}

	public void setZ(String z) {
		this.z = z;
	}

	private int z1;//是否有人坐 0:无 1:有
	private int z2;//是否有人坐 0:无 1:有
	private int z3;//是否有人坐 0:无 1:有
	private int z4;//是否有人坐 0:无 1:有
	private int z5;//是否有人坐 0:无 1:有
	private int z6;//是否有人坐 0:无 1:有
	private int z7;//是否有人坐 0:无 1:有
	private int z8;//是否有人坐 0:无 1:有
	private int z9;//是否有人坐 0:无 1:有
	private int z10;//是否有人坐 0:无 1:有
	private int z11;//是否有人坐 0:无 1:有
	private int z12;//是否有人坐 0:无 1:有
	private int z13;//是否有人坐 0:无 1:有
	private int z14;//是否有人坐 0:无 1:有
	private int z15;//是否有人坐 0:无 1:有
	private int z16;//是否有人坐 0:无 1:有
	private int z17;//是否有人坐 0:无 1:有
	private int z18;//是否有人坐 0:无 1:有
	private int z19;//是否有人坐 0:无 1:有
	private int z20;//是否有人坐 0:无 1:有
	private int z21;//是否有人坐 0:无 1:有
	private int z22;//是否有人坐 0:无 1:有
	private int z23;//是否有人坐 0:无 1:有
	private int z24;//是否有人坐 0:无 1:有
	private int z25;//是否有人坐 0:无 1:有
	private int z26;//是否有人坐 0:无 1:有
	private int z27;//是否有人坐 0:无 1:有
	private int z28;//是否有人坐 0:无 1:有
	private int z29;//是否有人坐 0:无 1:有
	private int z30;//是否有人坐 0:无 1:有
	
	public int getZ1() {
		return z1;
	}

	public void setZ1(int z1) {
		this.z1 = z1;
	}

	public int getZ2() {
		return z2;
	}

	public void setZ2(int z2) {
		this.z2 = z2;
	}

	public int getZ3() {
		return z3;
	}

	public void setZ3(int z3) {
		this.z3 = z3;
	}

	public int getZ4() {
		return z4;
	}

	public void setZ4(int z4) {
		this.z4 = z4;
	}

	public int getZ5() {
		return z5;
	}

	public void setZ5(int z5) {
		this.z5 = z5;
	}

	public int getZ6() {
		return z6;
	}

	public void setZ6(int z6) {
		this.z6 = z6;
	}

	public int getZ7() {
		return z7;
	}

	public void setZ7(int z7) {
		this.z7 = z7;
	}

	public int getZ8() {
		return z8;
	}

	public void setZ8(int z8) {
		this.z8 = z8;
	}

	public int getZ9() {
		return z9;
	}

	public void setZ9(int z9) {
		this.z9 = z9;
	}

	public int getZ10() {
		return z10;
	}

	public void setZ10(int z10) {
		this.z10 = z10;
	}

	public int getZ11() {
		return z11;
	}

	public void setZ11(int z11) {
		this.z11 = z11;
	}

	public int getZ12() {
		return z12;
	}

	public void setZ12(int z12) {
		this.z12 = z12;
	}

	public int getZ13() {
		return z13;
	}

	public void setZ13(int z13) {
		this.z13 = z13;
	}

	public int getZ14() {
		return z14;
	}

	public void setZ14(int z14) {
		this.z14 = z14;
	}

	public int getZ15() {
		return z15;
	}

	public void setZ15(int z15) {
		this.z15 = z15;
	}

	public int getZ16() {
		return z16;
	}

	public void setZ16(int z16) {
		this.z16 = z16;
	}

	public int getZ17() {
		return z17;
	}

	public void setZ17(int z17) {
		this.z17 = z17;
	}

	public int getZ18() {
		return z18;
	}

	public void setZ18(int z18) {
		this.z18 = z18;
	}

	public int getZ19() {
		return z19;
	}

	public void setZ19(int z19) {
		this.z19 = z19;
	}

	public int getZ20() {
		return z20;
	}

	public void setZ20(int z20) {
		this.z20 = z20;
	}

	public int getZ21() {
		return z21;
	}

	public void setZ21(int z21) {
		this.z21 = z21;
	}

	public int getZ22() {
		return z22;
	}

	public void setZ22(int z22) {
		this.z22 = z22;
	}

	public int getZ23() {
		return z23;
	}

	public void setZ23(int z23) {
		this.z23 = z23;
	}

	public int getZ24() {
		return z24;
	}

	public void setZ24(int z24) {
		this.z24 = z24;
	}

	public int getZ25() {
		return z25;
	}

	public void setZ25(int z25) {
		this.z25 = z25;
	}

	public int getZ26() {
		return z26;
	}

	public void setZ26(int z26) {
		this.z26 = z26;
	}

	public int getZ27() {
		return z27;
	}

	public void setZ27(int z27) {
		this.z27 = z27;
	}

	public int getZ28() {
		return z28;
	}

	public void setZ28(int z28) {
		this.z28 = z28;
	}

	public int getZ29() {
		return z29;
	}

	public void setZ29(int z29) {
		this.z29 = z29;
	}

	public int getZ30() {
		return z30;
	}

	public void setZ30(int z30) {
		this.z30 = z30;
	}

	@Autowired
	private FilmService  filmService;
	
	@Autowired
	private FilmSeatService  filmSeatService;


	public void setPid(Integer pid) {
		this.pid = pid;
	}

	public void setCount(Integer count) {
		this.count = count;
	}

	// 将购物项添加到购物车:执行的方法
	public String addCart() {
		// 封装一个CartItem对象.
		CartItem cartItem = new CartItem();
		// 设置数量:
		cartItem.setCount(count);
		// 根据pid进行查询商品:
		Film film = filmService.getById(pid);
		  String hql = "from FilmSeat where film.id  = :filmId order by id desc";
   	      Map<String,Object> alias = new HashMap<String,Object>();
  		   alias.put("filmId", film.getId());
		FilmSeat filmSeat=filmSeatService.getOneByHql(hql, alias);
        JSONObject jsonObject = JSONObject.fromObject(z);//
        String z1=jsonObject.getString("z1");
        String z2=jsonObject.getString("z2");
        String z3=jsonObject.getString("z3");
        String z4=jsonObject.getString("z4");
        String z5=jsonObject.getString("z5");
        String z6=jsonObject.getString("z6");
        String z7=jsonObject.getString("z7");
        String z8=jsonObject.getString("z8");
        String z9=jsonObject.getString("z9");
        String z10=jsonObject.getString("z10");
        String z11=jsonObject.getString("z11");
        String z12=jsonObject.getString("z12");
        String z13=jsonObject.getString("z13");
        String z14=jsonObject.getString("z4");
        String z15=jsonObject.getString("z15");
        String z16=jsonObject.getString("z16");
        String z17=jsonObject.getString("z17");
        String z18=jsonObject.getString("z18");
        String z19=jsonObject.getString("z19");
        String z20=jsonObject.getString("z20"); 
        String z21=jsonObject.getString("z21");
        String z22=jsonObject.getString("z22");
        String z23=jsonObject.getString("z23");
        String z24=jsonObject.getString("z24");
        String z25=jsonObject.getString("z25");
        String z26=jsonObject.getString("z26");
        String z27=jsonObject.getString("z27");
        String z28=jsonObject.getString("z28");
        String z29=jsonObject.getString("z29");
        String z30=jsonObject.getString("z30");
        String seat="";
        if (Integer.parseInt(z1)==1) {
        	seat+="第一排1号"+",";
		}
        if (Integer.parseInt(z2)==1) {
        	seat+="第一排2号"+",";
		}
        if (Integer.parseInt(z3)==1) {
        	seat+="第一排3号"+",";
		}
        if (Integer.parseInt(z4)==1) {
        	seat+="第一排4号"+",";
		}
        if (Integer.parseInt(z5)==1) {
        	seat+="第一排5号"+",";
		}
        if (Integer.parseInt(z6)==1) {
        	seat+="第一排6号"+",";
		}
        if (Integer.parseInt(z7)==1) {
        	seat+="第二排1号"+",";
		}
        if (Integer.parseInt(z8)==1) {
        	seat+="第二排2号"+",";
		}
        if (Integer.parseInt(z9)==1) {
        	seat+="第二排3号"+",";
		}
        if (Integer.parseInt(z10)==1) {
        	seat+="第二排4号"+",";
		}
        if (Integer.parseInt(z11)==1) {
        	seat+="第二排5号"+",";
		}
        if (Integer.parseInt(z12)==1) {
        	seat+="第二排6号"+",";
		}
        if (Integer.parseInt(z13)==1) {
        	seat+="第三排1号"+",";
		}
        if (Integer.parseInt(z14)==1) {
        	seat+="第三排2号"+",";
		}
        if (Integer.parseInt(z15)==1) {
        	seat+="第三排3号"+",";
		}
        if (Integer.parseInt(z16)==1) {
        	seat+="第三排4号"+",";
		}
        if (Integer.parseInt(z17)==1) {
        	seat+="第三排5号"+",";
		}
        if (Integer.parseInt(z18)==1) {
        	seat+="第三排6号"+",";
		}
        if (Integer.parseInt(z19)==1) {
        	seat+="第四排1号"+",";
		}
        if (Integer.parseInt(z20)==1) {
        	seat+="第四排2号"+",";
		}
        if (Integer.parseInt(z21)==1) {
        	seat+="第四排3号"+",";
		}
        if (Integer.parseInt(z22)==1) {
        	seat+="第四排4号"+",";
		}
        if (Integer.parseInt(z23)==1) {
        	seat+="第四排5号"+",";
		}
        if (Integer.parseInt(z24)==1) {
        	seat+="第四排6号"+",";
		}
        if (Integer.parseInt(z25)==1) {
        	seat+="第五排1号"+",";
		}
        if (Integer.parseInt(z26)==1) {
        	seat+="第五排2号"+",";
		}
        if (Integer.parseInt(z27)==1) {
        	seat+="第五排3号"+",";
		}
        if (Integer.parseInt(z28)==1) {
        	seat+="第五排4号"+",";
		}
        if (Integer.parseInt(z29)==1) {
        	seat+="第五排5号"+",";
		}
        if (Integer.parseInt(z30)==1) {
        	seat+="第五排6号";
		}
       
        if (filmSeat.getZ1()==0) {
        	filmSeat.setZ1(Integer.parseInt(z1));
		}else{
			filmSeat.setZ1(1);
		}
        if (filmSeat.getZ2()==0) {
        	filmSeat.setZ2(Integer.parseInt(z2));
		}else{
			filmSeat.setZ2(1);
		}
        if (filmSeat.getZ3()==0) {
        	filmSeat.setZ3(Integer.parseInt(z3));
		}else{
			filmSeat.setZ3(1);
		}
        if (filmSeat.getZ4()==0) {
        	filmSeat.setZ4(Integer.parseInt(z4));
		}else{
			filmSeat.setZ4(1);
		}
        if (filmSeat.getZ5()==0) {
        	filmSeat.setZ5(Integer.parseInt(z5));
		}else{
			filmSeat.setZ5(1);
		}
        if (filmSeat.getZ6()==0) {
        	filmSeat.setZ6(Integer.parseInt(z6));
		}else{
			filmSeat.setZ6(1);
		}
        if (filmSeat.getZ7()==0) {
        	filmSeat.setZ7(Integer.parseInt(z7));
		}else{
			filmSeat.setZ7(1);
		}
        if (filmSeat.getZ8()==0) {
        	filmSeat.setZ8(Integer.parseInt(z8));
		}else{
			filmSeat.setZ8(1);
		}
        if (filmSeat.getZ9()==0) {
        	filmSeat.setZ9(Integer.parseInt(z9));
		}else{
			filmSeat.setZ9(1);
		}
        if (filmSeat.getZ10()==0) {
        	filmSeat.setZ10(Integer.parseInt(z10));
		}else{
			filmSeat.setZ10(1);
		}
        if (filmSeat.getZ11()==0) {
        	filmSeat.setZ11(Integer.parseInt(z11));
		}else{
			filmSeat.setZ11(1);
		}
        if (filmSeat.getZ12()==0) {
        	filmSeat.setZ12(Integer.parseInt(z12));
		}else{
			filmSeat.setZ12(1);
		}
        if (filmSeat.getZ13()==0) {
        	filmSeat.setZ13(Integer.parseInt(z13));
		}else{
			filmSeat.setZ13(1);
		}
        if (filmSeat.getZ14()==0) {
        	filmSeat.setZ14(Integer.parseInt(z14));
		}else{
			filmSeat.setZ14(1);
		}
        if (filmSeat.getZ15()==0) {
        	filmSeat.setZ15(Integer.parseInt(z15));
		}else{
			filmSeat.setZ15(1);
		}
        if (filmSeat.getZ16()==0) {
        	filmSeat.setZ16(Integer.parseInt(z16));
		}else{
			filmSeat.setZ16(1);
		}
        if (filmSeat.getZ17()==0) {
        	filmSeat.setZ17(Integer.parseInt(z17));
		}else{
			filmSeat.setZ17(1);
		}
        if (filmSeat.getZ18()==0) {
        	filmSeat.setZ8(Integer.parseInt(z8));
		}else{
			filmSeat.setZ18(1);
		}
        if (filmSeat.getZ19()==0) {
        	filmSeat.setZ19(Integer.parseInt(z19));
		}else{
			filmSeat.setZ19(1);
		}
        if (filmSeat.getZ20()==0) {
        	filmSeat.setZ20(Integer.parseInt(z20));
		}else{
			filmSeat.setZ20(1);
		}
        if (filmSeat.getZ21()==0) {
        	filmSeat.setZ21(Integer.parseInt(z21));
		}else{
			filmSeat.setZ21(1);
		}
        if (filmSeat.getZ22()==0) {
        	filmSeat.setZ22(Integer.parseInt(z22));
		}else{
			filmSeat.setZ22(1);
		}
        if (filmSeat.getZ23()==0) {
        	filmSeat.setZ23(Integer.parseInt(z23));
		}else{
			filmSeat.setZ23(1);
		}
        if (filmSeat.getZ24()==0) {
        	filmSeat.setZ24(Integer.parseInt(z24));
		}else{
			filmSeat.setZ24(1);
		}
        if (filmSeat.getZ25()==0) {
        	filmSeat.setZ25(Integer.parseInt(z25));
		}else{
			filmSeat.setZ25(1);
		}
        if (filmSeat.getZ26()==0) {
        	filmSeat.setZ26(Integer.parseInt(z26));
		}else{
			filmSeat.setZ6(1);
		}
        if (filmSeat.getZ27()==0) {
        	filmSeat.setZ27(Integer.parseInt(z27));
		}else{
			filmSeat.setZ27(1);
		}
        if (filmSeat.getZ28()==0) {
        	filmSeat.setZ28(Integer.parseInt(z28));
		}else{
			filmSeat.setZ28(1);
		}
        if (filmSeat.getZ29()==0) {
        	filmSeat.setZ29(Integer.parseInt(z29));
		}else{
			filmSeat.setZ29(1);
		}
        if (filmSeat.getZ30()==0) {
        	filmSeat.setZ30(Integer.parseInt(z30));
		}else{
			filmSeat.setZ30(1);
		}
		filmSeat.setZ2(Integer.parseInt(z2));
		filmSeat.setZ3(Integer.parseInt(z3));
		filmSeat.setZ4(Integer.parseInt(z4));
		filmSeat.setZ5(Integer.parseInt(z5));
		filmSeat.setZ6(Integer.parseInt(z6));
		filmSeat.setZ7(Integer.parseInt(z7));
		filmSeat.setZ8(Integer.parseInt(z8));
		filmSeat.setZ9(Integer.parseInt(z9));
		filmSeat.setZ10(Integer.parseInt(z10));
		filmSeat.setZ11(Integer.parseInt(z11));
		filmSeat.setZ12(Integer.parseInt(z12));
		filmSeat.setZ13(Integer.parseInt(z13));
		filmSeat.setZ14(Integer.parseInt(z14));
		filmSeat.setZ15(Integer.parseInt(z15));
		filmSeat.setZ16(Integer.parseInt(z16));
		filmSeat.setZ17(Integer.parseInt(z17));
		filmSeat.setZ18(Integer.parseInt(z18));
		filmSeat.setZ19(Integer.parseInt(z19));
		filmSeat.setZ20(Integer.parseInt(z20));
		filmSeat.setZ21(Integer.parseInt(z21));
		filmSeat.setZ22(Integer.parseInt(z22));
		filmSeat.setZ23(Integer.parseInt(z23));
		filmSeat.setZ24(Integer.parseInt(z24));
		filmSeat.setZ25(Integer.parseInt(z25));
		filmSeat.setZ26(Integer.parseInt(z26));
		filmSeat.setZ27(Integer.parseInt(z27));
		filmSeat.setZ28(Integer.parseInt(z28));
		filmSeat.setZ29(Integer.parseInt(z29));
		filmSeat.setZ30(Integer.parseInt(z30));
//		filmSeatService.update(filmSeat);
		cartItem.setFilmSeat(filmSeat);
		cartItem.setSeat(seat);
		// 设置商品:
		cartItem.setFilm(film);
		// 将购物项添加到购物车.
		// 购物车应该存在session中.
		Cart cart = getCart();
		cart.addCart(cartItem);

		return "addCart";
	}

	// 清空购物车的执行的方法:
	public String clearCart(){
		// 获得购物车对象.
		Cart cart = getCart();
		// 调用购物车中清空方法.
		cart.clearCart();
		return "clearCart";
	}
	
	// 从购物车中移除购物项的方法:
	public String removeCart(){
		// 获得购物车对象
		Cart cart = getCart();
		// 调用购物车中移除的方法:
		cart.removeCart(pid);
		// 返回页面:
		return "removeCart";
	}
	
	// 我的购物车:执行的方法
	public String myCart(){
		Cart cart = (Cart) ServletActionContext.getRequest().getSession()
				.getAttribute("cart");
		if (cart == null) {
			this.addActionMessage("亲!您还没有购物!");
			return "myCart";
		}else{
		   return "myCart";
		}
	}
	
	/**
	 * 获得购物车的方法:从session中获得购物车.
	 * @return
	 */
	private Cart getCart() {
		Cart cart = (Cart) ServletActionContext.getRequest().getSession()
				.getAttribute("cart");
		if (cart == null) {
			cart = new Cart();
			ServletActionContext.getRequest().getSession()
					.setAttribute("cart", cart);
		}
		return cart;
	}
}