如何设计一个基于SSM的旅游网站管理系统

简介: 如何设计一个基于SSM的旅游网站管理系统

本文介绍一下最近开发的一套旅游网站,有前端页面和后台管理。希望对大家有帮助。本项目是基于Java语言的SSM框架作为后台进行设计,页面采用JSP,前端使用的是JS、CSS、JQUEY、BootStrap来实现并设计页面;数据库采用目前比较流行的MYSQL数据库进行信息存储,应用服务器采用Tomcat8.0。


系统架构图:

image.png

数据结构图:

image.png

景点库:

image.png

景点详情:

image.png

旅游线路:

image.png

线路详情:

image.png

酒店列表:

image.png

酒店详情:

image.png

前台个人管理:

20200424225602151.png

后台登陆:

image.png

后台管理页面:

image.png

景点管理:

image.png

线路活动管理:

image.png

酒店管理:

image.png

image.png

后台管理员可以对前端的信息进行添加、修改、发布、删除、查看等操作。

主要包括旅游线路管理、景点信息管理、订单管理、留言评论管理、酒店管理、管理员登录退出模块。

酒店管理控制器代码:

@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";
    }
}


相关文章
|
7月前
|
存储 Java 关系型数据库
ssm026校园美食交流系统(文档+源码)_kaic
本文介绍了基于Java语言和MySQL数据库的校园美食交流系统的设计与实现。该系统采用B/S架构和SSM框架,旨在提高校园美食信息管理的效率与便捷性。主要内容包括:系统的开发背景、目的及内容;对Java技术、MySQL数据库、B/S结构和SSM框架的介绍;系统分析部分涵盖可行性分析、性能分析和功能需求分析;最后详细描述了系统各功能模块的具体实现,如登录、管理员功能(美食分类管理、用户管理等)和前台首页功能。通过此系统,管理员可以高效管理美食信息,用户也能方便地获取和分享美食资讯,从而提升校园美食交流的管理水平和用户体验。
|
7月前
|
安全 Java 关系型数据库
ssm019社区文化宣传网站(文档+源码)_kaic
社区文化宣传网站采用JSP技术和Mysql数据库开发,旨在通过现代化技术手段提升社区文化的宣传效果。系统开发过程中,首先进行需求分析,明确主要功能,随后进行总体设计与详细设计,涵盖系统结构、数据结构、功能和安全设计等方面。系统详细设计包括前台首页、管理员及用户功能模块,确保操作简便、页面简洁,具备良好的可读性、实用性和扩展性。整个开发过程注重系统的稳定性和安全性,最终通过功能测试优化系统性能,为后续维护和类似系统开发提供参考。关键词:社区文化宣传网站、JSP技术、Mysql数据库。
|
6月前
|
Java 关系型数据库 MySQL
weixin050高校体育场管理系统+ssm(文档+源码)_kaic
本文针对高校体育场管理系统的开发与实现进行详细介绍。随着经济快速发展,人们对手机软件需求增加,高校体育场管理系统应运而生。系统采用JAVA技术、Mysql数据库和SSM框架等成熟技术,通过分析功能需求、可行性及性能,设计出包含管理员、用户和学生角色的功能模块。系统实现用户注册登录、信息管理等功能,简化传统手工统计模式,提高管理效率,满足用户对信息获取的及时性与准确性需求。
weixin050高校体育场管理系统+ssm(文档+源码)_kaic
|
Java 数据库连接 Maven
手把手教你如何搭建SSM框架、图书商城系统案例
这篇文章是关于如何搭建SSM框架以及实现一个图书商城系统的详细教程,包括了项目的配置文件整合、依赖管理、项目结构和运行效果展示,并提供了GitHub源码链接。
手把手教你如何搭建SSM框架、图书商城系统案例
|
6月前
|
前端开发 Java 关系型数据库
基于ssm的社区物业管理系统,附源码+数据库+论文+任务书
社区物业管理系统采用B/S架构,基于Java语言开发,使用MySQL数据库。系统涵盖个人中心、用户管理、楼盘管理、收费管理、停车登记、报修与投诉管理等功能模块,方便管理员及用户操作。前端采用Vue、HTML、JavaScript等技术,后端使用SSM框架。系统支持远程安装调试,确保顺利运行。提供演示视频和详细文档截图,帮助用户快速上手。
218 17
|
6月前
|
前端开发 Java 关系型数据库
基于ssm的超市会员(积分)管理系统,附源码+数据库+论文,包安装调试
本项目为简单内容浏览和信息处理系统,具备管理员和员工权限。管理员可管理会员、员工、商品及积分记录,员工则负责积分、商品信息和兑换管理。技术框架采用Java编程语言,B/S架构,前端使用Vue+JSP+JavaScript+Css+LayUI,后端为SSM框架,数据库为MySQL。运行环境为Windows,JDK8+Tomcat8.5,非前后端分离的Maven项目。提供演示视频和详细文档,购买后支持免费远程安装调试。
281 19
|
6月前
|
前端开发 JavaScript Java
[Java计算机毕设]基于ssm的OA办公管理系统的设计与实现,附源码+数据库+论文+开题,包安装调试
OA办公管理系统是一款基于Java和SSM框架开发的B/S架构应用,适用于Windows系统。项目包含管理员、项目管理人员和普通用户三种角色,分别负责系统管理、请假审批、图书借阅等日常办公事务。系统使用Vue、HTML、JavaScript、CSS和LayUI构建前端,后端采用SSM框架,数据库为MySQL,共24张表。提供完整演示视频和详细文档截图,支持远程安装调试,确保顺利运行。
244 17
|
6月前
|
前端开发 Java 关系型数据库
基于ssm的网络直播带货管理系统,附源码+数据库+论文
该项目为网络直播带货网站,包含管理员和用户两个角色。管理员可进行主页、个人中心、用户管理、商品分类与信息管理、系统及订单管理;用户可浏览主页、管理个人中心、收藏和订单。系统基于Java开发,采用B/S架构,前端使用Vue、JSP等技术,后端为SSM框架,数据库为MySQL。项目运行环境为Windows,支持JDK8、Tomcat8.5。提供演示视频和详细文档截图。
153 10
|
6月前
|
前端开发 Java 关系型数据库
基于ssm的台球厅管理系统,附源码+数据库+论文
本项目为新锐台球厅管理系统,支持管理员和会员两种角色。管理员可进行会员管理、台球桌管理、订单管理等;会员可查看台球桌、预约、购买商品等。技术框架基于Java,采用B/S架构,前端使用Vue+HTML+JavaScript+CSS+LayUI,后端使用SSM框架,数据库为MySQL。运行环境为Windows,JDK8+MySQL5.7+Tomcat8.5。提供演示视频及详细文档截图。
|
6月前
|
存储 Java 关系型数据库
ssm150旅游网站的设计与实现+jsp(文档+源码)_kaic
本旅游网站基于现代经济快节奏发展和信息化技术的升级,采用SSM框架、Java语言及Mysql数据库开发。它实现了景点、新闻、酒店、飞机票和火车票管理等功能,帮助管理者高效处理大量数据信息,提升工作效率。系统界面简洁美观,功能布局合理,同时提供了数据安全解决方案,确保信息的安全性和可靠性。该网站不仅提高了事务处理效率,还实现了数据的整体化、规范化与自动化管理。关键词:旅游网站;SSM框架;Mysql;自动化。

热门文章

最新文章