系统采用SSM框架,前端使用css、js等,主要功能包括:查询特价电影或最新电影、以及分类查看、查看销售排行、公告、订票、下单、评论等,以及管理员管理相关功能
**
- 首页如下
**
系统后端为SSM框架,主要配置如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd"> <!-- 启用自动扫描 --> <context:component-scan base-package="com"></context:component-scan> <!-- 启用springmvc相关Annotation的处理器 --> <mvc:annotation-driven /> <!-- 采用注释的方式配置bean --> <context:annotation-config /> <!--proxy-target-class="true"强制使用cglib代理 如果为false则spring会自动选择 --> <aop:aspectj-autoproxy proxy-target-class="true" /> <!-- 配置dbcp数据源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="org.gjt.mm.mysql.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/movie?useUnicode=true&characterEncoding=UTF-8" /> <property name="username" value="root" /> <property name="password" value="root" /> <!-- 队列中的最小等待数 --> <property name="minIdle" value="1"></property> <!-- 队列中的最大等待数 --> <property name="maxIdle" value="5"></property> <!-- 最长等待时间,单位毫秒 --> <property name="maxWait" value="3000"></property> <!-- 最大活跃数 --> <property name="maxActive" value="5"></property> <property name="initialSize" value="3"></property> </bean> <!-- 配置mybitasSqlSessionFactoryBean --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="classpath:mybatis.xml"></property> <!-- 扫描entity包 使用别名 --> <property name="typeAliasesPackage" value="com.entity" /> </bean> <!-- 配置扫描DAO接口包,动态实现DAO接口,注入到spring容器中 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 注入sqlSessionFactory --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> <!-- 给出需要扫描DAO接口包 --> <property name="basePackage" value="com.dao" /> </bean> <!-- 配置SqlSessionTemplate --> <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" /> </bean> <!-- 事务配置 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 允许静态资源请求,否则css、js、图片等资源无法加载显示 --> <mvc:annotation-driven/> <!-- 扫描包,这样的话该包下带有@Controller的注解将作为Bean注册进Spring容器 --> <context:component-scan base-package="com.controller"/> <!-- 定义跳转的文件的前后缀 ,视图模式配置 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 这里的配置是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 --> <property name="prefix" value="/" /> <property name="suffix" value=".jsp" /> </bean> <!-- 支持上传文件 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="104857600" /> <property name="maxInMemorySize" value="4096" /> <property name="defaultEncoding" value="UTF-8"></property> </bean> </beans>
后端采用controller层接受前端请求:
// 按条件查询数据 (模糊查询) @RequestMapping("queryFilmByCond.action") public String queryFilmByCond(String cond, String name, String number) { Film film = new Film(); if (cond != null) { if ("filmname".equals(cond)) { film.setFilmname(name); } if ("image".equals(cond)) { film.setImage(name); } if ("cateid".equals(cond)) { film.setCateid(name); } if ("price".equals(cond)) { film.setPrice(name); } if ("recommend".equals(cond)) { film.setRecommend(name); } if ("thestart".equals(cond)) { film.setThestart(name); } if ("theend".equals(cond)) { film.setTheend(name); } if ("hits".equals(cond)) { film.setHits(name); } if ("sellnum".equals(cond)) { film.setSellnum(name); } if ("contents".equals(cond)) { film.setContents(name); } } List<String> nameList = new ArrayList<String>(); List<String> valueList = new ArrayList<String>(); nameList.add(cond); valueList.add(name); PageHelper.getPage(this.filmService.getFilmByLike(film), "film", nameList, valueList, 10, number, this.getRequest(), "query"); name = null; cond = null; return "admin/queryfilm"; }
**
- 下面是特价电影:
**
**
- 分类查看电影:
**
**
- 电影详情:
**
**
- 在电影详情中可以查看电影的情况,可以定不同档次的座位:
**
**
- 后台的首页
**
**
- 其他的后台功能
**
**
- 下面就是项目的结构和数据库:
**
好了,上面就是系统的实现,如果大家有什么问题,可以私信交流学习。