本文介绍一下最近开发的一套旅游网站,有前端页面和后台管理。希望对大家有帮助。本项目是基于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的旅游网站管理系统相关推荐

  1. 基于SSM实现旅游网站管理系统

    项目编号:BS-PT-008 本项目是基于Java语言的SSM框架作为后台进行设计,页面采用JSP,前端使用的是JS.CSS.JQUEY.BootStrap来实现并设计页面:数据库采用目前比较流行的M ...

  2. 基于ssm农产品销售网站管理系统获取(java毕业设计)

    基于ssm农产品销售网站管理系统 ssm农产品销售网站管理系统基于java编程语言,mysql数据库和ssm框架设计,本系统主要分为用户和管理员两个角色,用户注册和登陆系统,查看,搜索农产品,查询农产 ...

  3. (附源码)ssm南昌旅游网站管理系统 毕业设计 101407

    南昌旅游网站管理系统 摘要 随着社会的发展,社会的各行各业都在利用信息化时代的优势.计算机的优势和普及使得各种信息系统的开发成为必需. 南昌旅游网站管理系统设计,主要的模块包括查看首页.公告内容(轮播 ...

  4. 基于SSM的旅游网站

    文章目录 前言 一.本系统的技术栈是什么? 二.运行效果截图(部分) 1.首页 2.景点列表页 3.景点详情页 4.用户登录页 5.用户个人中心-我的订单 6.用户写游记 7.后台主页 8.后台景点管 ...

  5. 精品基于SSM的旅游信息管理系统的设计与实现

    <旅游信息管理系统的设计与实现>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 使用技术: 开发语言:Java 框架:ssm 前端技术:JavaScript.Jsp ...

  6. 期未课程设计:基于SSM的产品销售管理系统

    项目编号:KS005 本项目基于SSM框架(spring+springmvc+mybatis)进行开发实现,前端使用bootstrap+jsp来进行页面的开发实现,数据库采用MYSQL,开发工具为ec ...

  7. 基于SSM的员工考勤管理系统

    项目描述 这个项目是一个基于SSM的员工考勤管理系统. 系统功能包括: 人事管理 排版管理 考勤管理 考勤处理 考勤统计 项目技术栈 SpringMVC.Spring.MyBatis.MySQL5.7 ...

  8. 今天给在家介绍一篇基于jsp的旅游网站设计与实现

    项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等.这里根据疫情当下,你 ...

  9. 基于java(ssm)旅游网站系统源码成品(java毕业设计)

    基于java(ssm)旅游网站系统 旅游网站系统是基于java编程语言,mysql数据库,ssm框架和idea开发工具设计,本系统分为用户和管理员两个角色,用户注册登陆后查看旅游景点,景点购买门票,查 ...

最新文章

  1. 表单向导 css实现 步骤指引器
  2. 055_Descriptions描述列表
  3. 小波的秘密6_小波包的理解
  4. 【原创】oracle的tpc-c测试及方法
  5. 【计算机网络复习 数据链路层】3.6.1 局域网
  6. LG新能源新设首席数字官 首任是英伟达前数据科学家
  7. 洛谷 P1918保龄球
  8. J2EE的核心API与组件
  9. Ghost配置6——首页太阳系动画效果
  10. vsftpd 配置-掉坑记
  11. 干货 | 120 道机器学习面试题!备战春招
  12. CSV用excel打开乱码
  13. oracle sap 英克,中普审计软件内置350多个财务软件接口(新)-2015.9.16
  14. 2022全新趣盒iapp源码带后台非常好看UI
  15. CMD 乱码怎样解决
  16. 经纬财富:沧州散户炒白银必读
  17. 服务器端查看图片库 eog
  18. Mac Android Studio Flutter环境配置之第一个Futter项目
  19. 微信搜一搜中的智能问答技术
  20. 【3Dsmax】入门

热门文章

  1. lg-1 x 怎么算_怎么从基金经理的持仓预估我们的收益(一)
  2. 如何使汉字转换为国际化的ascii码
  3. 盘点2017年上半年移动互联网安全事件
  4. android 普通对话框,android 普通对话框
  5. Visual Studio Code之xml编辑器安装
  6. C++求数组中和为定值的组合
  7. 为什么选择MUI框架
  8. 计算机系统导论与计算机导论,计算机系统导论之学习心得.doc
  9. Android 实践:做一款可用的天气 APP
  10. OpenCV安装成功,但是无法导入 cv2 的指定模块 -- Ubuntu Anaconda 环境一键安装 opencv