如何设计一个基于SSM的旅游网站管理系统
本文介绍一下最近开发的一套旅游网站,有前端页面和后台管理。希望对大家有帮助。本项目是基于Java语言的SSM框架作为后台进行设计,页面采用JSP,前端使用的是JS、CSS、JQUEY、BootStrap来实现并设计页面;数据库采用目前比较流行的MYSQL数据库进行信息存储,应用服务器采用Tomcat8.0。
系统架构图:
数据结构图:
景点库:
景点详情:
旅游线路:
线路详情:
酒店列表:
酒店详情:
前台个人管理:
后台登陆:
后台管理页面:
景点管理:
线路活动管理:
酒店管理:
后台管理员可以对前端的信息进行添加、修改、发布、删除、查看等操作。
主要包括旅游线路管理、景点信息管理、订单管理、留言评论管理、酒店管理、管理员登录退出模块。
酒店管理控制器代码:
@Controller
@RequestMapping("/hotel")
public class HotelController {
@Autowired
private HotelService hotelService ;/**
* 旅游酒店前台:分页查询
*/
@RequestMapping("/pageQuery")
@ResponseBody
public PageBean<Hotel> pageQuery(String currentPage,String pageSize,String cid){int cids = 3;//类别id
//2.处理参数
if(cid != null && cid.length() > 0 && !"null".equals(cid)){
cids = Integer.parseInt(cid);
}
int currentPages = 0;//当前页码,如果不传递,则默认为第一页
if(currentPage != null && currentPage.length() > 0){
currentPages = Integer.parseInt(currentPage);
}else{
currentPages = 1;
}int pageSizes = 0;//每页显示条数,如果不传递,默认每页显示5条记录
if(pageSize != null && pageSize.length() > 0){
pageSizes = Integer.parseInt(pageSize);
}else{
pageSizes = 5;
}//3. 调用service查询PageBean对象
PageBean<Hotel> pb = hotelService.pageQuery(cids, currentPages, pageSizes);//4. 将pageBean对象序列化为json,返回
return pb;
}/**
* 根据id查询一个旅游酒店的详细信息
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/findOne")
@ResponseBody
public Hotel findOne(String tid){
//1.调用service查询hotel对象
Hotel hotel = hotelService.findOne(tid);
//2.转为json写回客户端
return hotel;
}/**
* 首页查询旅游酒店酒店
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/findAll")
@ResponseBody
public ResultInfo findAll(String limit){
int limitNum = 12;
if (limit != null && limit.length() > 0) {
limitNum = Integer.parseInt(limit);
}
List<Hotel> hotels = new ArrayList<>();boolean flag = true;
try {
hotels = hotelService.findAll(limitNum);} catch (Exception ex) {
flag = false;
ex.printStackTrace();
}
ResultInfo info = new ResultInfo();
info.setData(hotels);
info.setFlag(true);return info;
}/**
* 后台管理:旅游酒店酒店
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/findAdminAll")
public ModelAndView findAdminAll(String currentPage,String pageSize,String cid) {int cids = 3;//类别id
//2.处理参数
if(cid != null && cid.length() > 0 && !"null".equals(cid)){
cids = Integer.parseInt(cid);
}
int currentPages = 0;//当前页码,如果不传递,则默认为第一页
if(currentPage != null && currentPage.length() > 0){
currentPages = Integer.parseInt(currentPage);
}else{
currentPages = 1;
}int pageSizes = 0;//每页显示条数,如果不传递,默认每页显示5条记录
if(pageSize != null && pageSize.length() > 0){
pageSizes = Integer.parseInt(pageSize);
}else{
pageSizes = 5;
}
//3. 调用service查询PageBean对象
PageBean<Hotel> pb = hotelService.pageQueryAdmin(cids, currentPages, pageSizes);ModelAndView mv = new ModelAndView();
mv.addObject("pb", pb);
mv.setViewName("/admin/pages/hotel-list.jsp");
return mv;
}/**
* 后台管理:旅游酒店酒店添加
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/addHotel")
public String addHotel(HttpServletRequest request,Hotel hotel, MultipartFile myFile) throws ServletException, IOException, ParseException {
String path = request.getServletContext().getRealPath("/img/product/small/");
String newFileName = "";
if(myFile!=null&&!myFile.isEmpty()) {
String fileName = myFile.getOriginalFilename();
String suffix = fileName.substring(fileName.lastIndexOf("."));
newFileName = UUID.randomUUID() + suffix;
File file = new File(path + newFileName);
try{
myFile.transferTo(file);
}catch (Exception ex){
ex.printStackTrace();;
}}
hotel.setTdate(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
hotel.setTimg("/img/product/small/"+newFileName);//执行添加功能
boolean result = hotelService.addHotel(hotel);return "redirect:/hotel/findAdminAll";
}/**
* 后台旅游酒店管理:修改查询单个酒店初始化
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/findHotelByRid")
public ModelAndView findHotelByRid(String rid){
Hotel hotel = hotelService.findOne(rid);
ModelAndView mv = new ModelAndView();
mv.addObject("hotel", hotel);
mv.setViewName("/admin/pages/hotel-update.jsp");
return mv;
}/**
* 后台管理:旅游酒店酒店添加
*
* @param request
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/addHotelImages")
public String addHotelImages(HttpServletRequest request,String tid,@RequestParam("myFiles") MultipartFile[] myFiles) throws IOException{HotelImg hotelImg = new HotelImg();
hotelImg.setTid(Integer.parseInt(tid));String path = request.getServletContext().getRealPath("/img/product/size6/");
for (MultipartFile multipartFile:myFiles) {
if(!multipartFile.isEmpty()&&multipartFile.getSize()>0) {
String fileName = multipartFile.getOriginalFilename();
String suffix = fileName.substring(fileName.lastIndexOf("."));
String newFileName = UUID.randomUUID() + suffix;
File file = new File(path + newFileName);
multipartFile.transferTo(file);
hotelImg.setSmallPic("/img/product/size6/" + newFileName);
hotelImg.setBigPic("/img/product/size6/" + newFileName);
//循环插入图片
hotelService.addHotelImgs(hotelImg);
}
}//跳转到
return "redirect:/hotel/findAdminAll";}
/**
* 后台管理:旅游酒店酒店下架---酒店不要删除,因为有关联的订单
* @param request
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/updateHotel")
public String updateHotel(HttpServletRequest request,Hotel hotel,String nowimg,MultipartFile myFile) throws IOException {
String path = request.getServletContext().getRealPath("/img/product/small/");if(myFile!=null&&!myFile.isEmpty()) {
String fileName = myFile.getOriginalFilename();
String suffix = fileName.substring(fileName.lastIndexOf("."));
String newFileName = UUID.randomUUID() + suffix;
File file = new File(path + newFileName);
myFile.transferTo(file);
hotel.setTdate(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
hotel.setTimg("img/product/small/"+newFileName);
}else{
hotel.setTimg(nowimg);
}
hotel.setTdate(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
//执行修改功能
boolean result = hotelService.updateHotel(hotel);
return "redirect:/hotel/findAdminAll";}
/**
* 后台旅游酒店管理:旅游酒店下线
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/updateFlag")
public String updateFlag(String rid, String rflag){
hotelService.updateFlag(rid,rflag);return "redirect:/hotel/findAdminAll";
}}
如何设计一个基于SSM的旅游网站管理系统相关推荐
- 基于SSM实现旅游网站管理系统
项目编号:BS-PT-008 本项目是基于Java语言的SSM框架作为后台进行设计,页面采用JSP,前端使用的是JS.CSS.JQUEY.BootStrap来实现并设计页面:数据库采用目前比较流行的M ...
- 基于ssm农产品销售网站管理系统获取(java毕业设计)
基于ssm农产品销售网站管理系统 ssm农产品销售网站管理系统基于java编程语言,mysql数据库和ssm框架设计,本系统主要分为用户和管理员两个角色,用户注册和登陆系统,查看,搜索农产品,查询农产 ...
- (附源码)ssm南昌旅游网站管理系统 毕业设计 101407
南昌旅游网站管理系统 摘要 随着社会的发展,社会的各行各业都在利用信息化时代的优势.计算机的优势和普及使得各种信息系统的开发成为必需. 南昌旅游网站管理系统设计,主要的模块包括查看首页.公告内容(轮播 ...
- 基于SSM的旅游网站
文章目录 前言 一.本系统的技术栈是什么? 二.运行效果截图(部分) 1.首页 2.景点列表页 3.景点详情页 4.用户登录页 5.用户个人中心-我的订单 6.用户写游记 7.后台主页 8.后台景点管 ...
- 精品基于SSM的旅游信息管理系统的设计与实现
<旅游信息管理系统的设计与实现>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 使用技术: 开发语言:Java 框架:ssm 前端技术:JavaScript.Jsp ...
- 期未课程设计:基于SSM的产品销售管理系统
项目编号:KS005 本项目基于SSM框架(spring+springmvc+mybatis)进行开发实现,前端使用bootstrap+jsp来进行页面的开发实现,数据库采用MYSQL,开发工具为ec ...
- 基于SSM的员工考勤管理系统
项目描述 这个项目是一个基于SSM的员工考勤管理系统. 系统功能包括: 人事管理 排版管理 考勤管理 考勤处理 考勤统计 项目技术栈 SpringMVC.Spring.MyBatis.MySQL5.7 ...
- 今天给在家介绍一篇基于jsp的旅游网站设计与实现
项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等.这里根据疫情当下,你 ...
- 基于java(ssm)旅游网站系统源码成品(java毕业设计)
基于java(ssm)旅游网站系统 旅游网站系统是基于java编程语言,mysql数据库,ssm框架和idea开发工具设计,本系统分为用户和管理员两个角色,用户注册登陆后查看旅游景点,景点购买门票,查 ...
最新文章
- 表单向导 css实现 步骤指引器
- 055_Descriptions描述列表
- 小波的秘密6_小波包的理解
- 【原创】oracle的tpc-c测试及方法
- 【计算机网络复习 数据链路层】3.6.1 局域网
- LG新能源新设首席数字官 首任是英伟达前数据科学家
- 洛谷 P1918保龄球
- J2EE的核心API与组件
- Ghost配置6——首页太阳系动画效果
- vsftpd 配置-掉坑记
- 干货 | 120 道机器学习面试题!备战春招
- CSV用excel打开乱码
- oracle sap 英克,中普审计软件内置350多个财务软件接口(新)-2015.9.16
- 2022全新趣盒iapp源码带后台非常好看UI
- CMD 乱码怎样解决
- 经纬财富:沧州散户炒白银必读
- 服务器端查看图片库 eog
- Mac Android Studio Flutter环境配置之第一个Futter项目
- 微信搜一搜中的智能问答技术
- 【3Dsmax】入门
热门文章
- lg-1 x 怎么算_怎么从基金经理的持仓预估我们的收益(一)
- 如何使汉字转换为国际化的ascii码
- 盘点2017年上半年移动互联网安全事件
- android 普通对话框,android 普通对话框
- Visual Studio Code之xml编辑器安装
- C++求数组中和为定值的组合
- 为什么选择MUI框架
- 计算机系统导论与计算机导论,计算机系统导论之学习心得.doc
- Android 实践:做一款可用的天气 APP
- OpenCV安装成功,但是无法导入 cv2 的指定模块 -- Ubuntu Anaconda 环境一键安装 opencv