基于SpingBoot和Thymelaf框架的旅游网设计
今天给大家介绍的是一个旅游网设计,界面美观、功能丰富,适合编程开发者的学习和课设作业的参考,话不多说上图:
使用的技术
后端:JAVA开发语言,SpringBoot框架,MySql数据库
前端:html页面,Thymeleaf框架
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
Thymeleaf是一款用于渲染 XML/XHTML/HTML5内容的模板引擎。它与JSP,Velocity,FreeMaker等模板引擎类似,也可以轻易地与 Spring MVC 等 Web 框架集成。与其它模板引擎相比,Thymeleaf 最大的特点是,即使不启动 Web 应用,也可以直接在浏览器中打开并正确显示模板页面 。
实现的功能
普通用户和管理员两种角色。
普通用户可以浏览网站,包括首页的轮播图、热门酒店、景点、路线,
注册账号以后可以预定酒店、景区、路线等。
管理员可以管理用户、酒店、景点、攻略、路线等。
部分代码展示
public Page<Hotel> reserveHotelListUI(String searchName, Pageable pageable) {//查询启用的酒店列表Page<Hotel> hotelPage = hotelRepository.findAll((root, query, cb) -> {List<Predicate> predicates = new ArrayList<>();//status状态,查询状态为0,启动的酒店predicates.add((cb.equal(root.get("status"), 0)));//酒店name模糊查询if (!StringUtils.isEmpty(searchName)) {predicates.add((cb.like(root.get("name"), "%" + searchName + "%")));}query.where(predicates.toArray(new Predicate[]{}));query.orderBy(cb.desc(root.get("createDate")));return null;}, pageable);return hotelPage;}public Hotel findHotelById(String id) {return hotelRepository.findById(id).orElseThrow(() -> new ServiceException("酒店id错误!"));}public Page<Attractions> reserveAttractionsListUI(String searchName, Pageable pageable) {//查询启用的景点列表Page<Attractions> attractionsPage = attractionsRepository.findAll((root, query, cb) -> {List<Predicate> predicates = new ArrayList<>();//status状态,查询状态为0,启动的景点predicates.add((cb.equal(root.get("status"), 0)));//景点name模糊查询if (!StringUtils.isEmpty(searchName)) {predicates.add((cb.like(root.get("name"), "%" + searchName + "%")));}query.where(predicates.toArray(new Predicate[]{}));query.orderBy(cb.desc(root.get("createDate")));return null;}, pageable);return attractionsPage;}public Attractions findAttractionsById(String id) {return attractionsRepository.findById(id).orElseThrow(() -> new ServiceException("景点id错误!"));}public List<UserHotel> getReserveHotelByUser(HttpServletRequest request) {Cookie cookie = CookieUitl.get(request, "username");if (cookie == null) {throw new ServiceException("未能获得正确的用户名");}User user = userRepository.findUserByUsername(cookie.getValue());return userHotelRepository.findUserHotelsByUser(user);}@Transactional(rollbackFor = Exception.class)public Result cancelReserve(HttpServletRequest request, String id) {Cookie cookie = CookieUitl.get(request, "username");if (cookie == null) {throw new ServiceException("用户没有登录!");}Hotel hotel = findHotelById(id);User user = userRepository.findUserByUsername(cookie.getValue());UserHotel userHotel = userHotelRepository.findUserHotelByHotelAndUser(hotel, user);//存在值就是取消预约.不存在值就是预约if (userHotel != null) {userHotelRepository.delete(userHotel);} else {UserHotel newUserHotel = new UserHotel();newUserHotel.setId(IdGenerator.id());newUserHotel.setCreateDate(new Date());newUserHotel.setUser(user);newUserHotel.setHotel(hotel);userHotelRepository.saveAndFlush(newUserHotel);}return ResultGenerator.genSuccessResult();}public Boolean isReserveHotel(HttpServletRequest request, String id) {Cookie cookie = CookieUitl.get(request, "username");if (cookie != null) {User user = userRepository.findUserByUsername(cookie.getValue());Hotel hotel = findHotelById(id);UserHotel userHotel = userHotelRepository.findUserHotelByHotelAndUser(hotel, user);//每个酒店只能预约一次if (userHotel != null) {return true;}}return false;}
演示视频
基于SpingBoot框架的旅游网设计
基于SpingBoot和Thymelaf框架的旅游网设计相关推荐
- 【java毕业设计】基于JAVA+JSP+strust2的电子政务网设计与实现(毕业论文+程序源码)——电子政务网
基于JAVA+JSP+strust2的电子政务网设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于JAVA+JSP+strust2的电子政务网设计与实现,文章末尾附有本毕业设计的论文和源码下 ...
- HTML5期末大作业:旅游出行网站设计——旅游网设计(15页) HTML+CSS+JavaScript 学生DW网页设计作业成品 学生旅游网站模板
HTML5期末大作业:旅游出行网站设计--旅游网设计(15页) HTML+CSS+JavaScript 学生DW网页设计作业成品 学生旅游网站模板 常见网页设计作业题材有 个人. 美食. 公司. 学校 ...
- asp毕业设计——基于asp+access的在线人才招聘网设计与实现(毕业论文+程序源码)——人才招聘网
基于asp+access的在线人才招聘网设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的在线人才招聘网设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下 ...
- (附源码)基于vue框架潮牌官网设计与实现 毕业设计010955
摘 要 随着社会的发展,计算机的优势和普及使得潮牌官网的开发成为必需.潮牌官网主要是借助计算机,通过对首页.站点管理(轮播图.公告栏)用户管理(管理员.注册用户)内容管理(潮流资讯.资讯分类)商城管理 ...
- 基于vue框架潮牌官网设计与实现毕业设计源码010955
摘 要 随着社会的发展,计算机的优势和普及使得潮牌官网的开发成为必需.潮牌官网主要是借助计算机,通过对首页.站点管理(轮播图.公告栏)用户管理(管理员.注册用户)内容管理(潮流资讯.资讯分类)商城管 ...
- (附源码)基于vue框架潮牌官网设计与实现 毕业设计010955
摘 要 随着社会的发展,计算机的优势和普及使得潮牌官网的开发成为必需.潮牌官网主要是借助计算机,通过对首页.站点管理(轮播图.公告栏)用户管理(管理员.注册用户)内容管理(潮流资讯.资讯分类)商城管理 ...
- (附源码)基于vue框架潮牌官网设计与实现 毕业设计 010955
摘 要 随着社会的发展,计算机的优势和普及使得潮牌官网的开发成为必需.潮牌官网主要是借助计算机,通过对首页.站点管理(轮播图.公告栏)用户管理(管理员.注册用户)内容管理(潮流资讯.资讯分类)商城管 ...
- H5静态网页设计与制作_川西旅游网设计作品(HTML+CSS+jQuery)
[导语]大学生网页作业旅游网一共5种不同页面样式,川西旅游题材并采用flex布局方式,内置轮播.选项卡切换.css动效.缩略图移入放大等多种特效.不仅如此,还有网页截图展示,源码在线下载,在线解答 ...
- 基于java springboot+mybaits-plus+vue云旅游网站设计与实现
最近开发了一个基于springboot+mybaits-plus+vue的云旅游项目,项目非常的nice.具体的介绍看下面吧. 目录 一.项目简介 二.技术组合 三.环境 四.功能简介 1.前台功能: ...
最新文章
- 在 CUDA C/C++ kernel中使用内存
- 在matlab中清除command history中的内容
- ubuntu 安装redis
- ArcGIS自定义高程
- 前端学习(2375):项目介绍结束
- 替换WordPress调用的Google前端库为360镜像的库
- 数据结构--队列Queue--打印杨辉三角
- C++11新特性探究:显式override和final
- oracle sqlarea表结构,oracle v$sqlarea 分析SQL语句使用资源情况
- 01-Angularjs开发环境搭建
- java第二天学习笔记
- 解决PHPstudy(PHP工具箱)中host文件无法保存的问题
- python实现excel表格图片识别,并转换成excel文件
- 疑犯追踪第一季/全集Person Of Interest迅雷下载
- 计算机控制的仓库定位系统,(边江文档教材)智能立体仓库物品定位的plc自动控制系统.doc...
- 手撕力扣之贪心法:买卖股票的最佳时机 II、最大子序和、跳跃游戏、跳跃游戏 II、分发饼干、划分字母区间、重构字符串、分发糖果、种花问题、加油站
- mysql to sqlserver_mysql to sqlserver
- 软件测试学习资料大全
- 漫话NFT——NFT的应用场景
- 思科《计算机网络》第三章考试答案