网站做端口映射,中山建设局网站首页,个人网站名字可以用哪些,装修平台网站建设项目描述
临近学期结束#xff0c;还是毕业设计#xff0c;你还在做java程序网络编程#xff0c;期末作业#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下#xff0c;你想解决的问…项目描述
临近学期结束还是毕业设计你还在做java程序网络编程期末作业老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下你想解决的问题今天给在家介绍一篇基于Springboot的旅游网站设计与实现。
功能需求
随着我国人民生活水平的不断提高旅游已成为人们生活的重要活动通过旅游网站进行旅游景点查询旅游线路预订等可以为游客出行提供极大的方便。 旅游网站的设计是面向现实需求的一个实用系统本课题的目标是为游客和旅游网站提供一个友好的、便捷的交流平台。能实现网站前端的相关旅游信息的查询与展示以及后端的数据库增删改查功能能满足一般用户的旅游攻略需求。
具备以下功能
本旅游网站基于MVC模式开发分为前端和后端。前端是一个信息展示网站可以给用户提供基本的旅游信息查询功能主要分为五个模块旅游咨询模块旅游线路模块线路查询模块热点线路模块后端是管理模块可以实现对前端网站的模块管理、内容管理和用户管理等功能。
旅游咨询模块 地点查询搜索地名关键字会显示景点。 酒店查询通过所示酒店名显示其价格。 线路查询搜索地名显示路线。旅游线路模块 线路查询功能输入地名可以查找到不同路线图。 线路删除功能删除已有的线路。 线路添加功能输入地名插入对应路线图。 线路修改功能修改添加错误的路线名及路线图。线路查询模块 用户通过输入地名可以查询到对应地点的路线图。热点线路模块 热点路线查询功能点击到热点路线板块会显示热点路线地名。 热点路线删除功能对已存在的热点路线进行删除。后端管理模块 管理人员能够对整个的系统进行管理包含:用户管理、旅行社管理、酒店管理、路线管理预定支付管理、留言管理。 用户管理:管理员能够对用户进行查看和删除。 旅行社管理:对旅行社的信息进行增添、改正、删除。
系统设计 部分效果图
登录注册界面
用户首页
后端功能截图 开发架构
B/S架构即浏览器/服务器结构Browser指的是Web浏览器很少数的事务逻辑是在前端中实现的主要的事务逻辑是在服务器端中实现B/S架构的系统不需要特别的安装有Web浏览器就可以。 B/S架构的分层 与C/S架构的两层不同B/S架构有三层分别为表现层、逻辑层和数据层。 1表现层完成用户和后台的交互实现最终查询结果的输出。 2逻辑层利用服务器实现客户端的应用逻辑。 3数据层接受客户端请求后独立的进行各种计算。 B/S架构图如下图2.2所示。 图2.2 B/S架构图 B/S架构的优点 1客户端上免安装有Web浏览器即可。 2可直接放在广域网上实现多用户访问的目的交互性强。 3BS架构不用升级客户端升级服务器就行。 B/S架构的缺点 1在跨浏览器上B/S架构不太优秀。 2在速度以及安全性上需花费巨额设计成本。 3BS的交互是请求-响应模式需要刷新页面。
部分代码 public Result login(SysUser sysUser, HttpServletResponse response) {SysUser sysUserByUsrname sysUserRepository.findSysUserByUsername(sysUser.getUsername());if (sysUserByUsrname null) {return ResultGenerator.genFailResult(用户名错误);} else {if (sysUser.getPassword().equals(sysUserByUsrname.getPassword())) {CookieUitl.set(response, sysUsername, sysUser.getUsername(), 3600);return ResultGenerator.genSuccessResult();} else {return ResultGenerator.genFailResult(密码错误);}}}public void logout(HttpServletRequest request, HttpServletResponse response) {Cookie cookie CookieUitl.get(request, sysUsername);if (cookie ! null) {CookieUitl.set(response, sysUsername, null, 0);}}public PageUser getUserPage(Pageable pageable) {PageUser userPage userRepository.findAll((root, query, cb) - {ListPredicate predicates new ArrayList();query.where(predicates.toArray(new Predicate[]{}));query.orderBy(cb.desc(root.get(id)));return null;}, pageable);return userPage;}Transactional(rollbackFor Exception.class)public Result saveUser(User user) {System.out.println(user.getId());if (StringUtils.isEmpty(user.getId())) {//没有id的情况user.setId(IdGenerator.id());} else {User oldUser getUserById(user.getId());user.setUsername(oldUser.getUsername());user.setName(oldUser.getName());oldUser.setPassword(user.getPassword());}userRepository.saveAndFlush(user);return ResultGenerator.genSuccessResult();}public User getUserById(String id) {User user userRepository.findById(id).orElseThrow(() - new ServiceException(用户ID错误));return user;}public PageHotel getHotelPage(Pageable pageable) {PageHotel hotelPage hotelRepository.findAll((root, query, cb) - {ListPredicate predicates new ArrayList();query.where(predicates.toArray(new Predicate[]{}));query.orderBy(cb.desc(root.get(createDate)));return null;}, pageable);return hotelPage;}Transactional(rollbackFor Exception.class)public Result saveHotel(Hotel hotel) {if (StringUtils.isEmpty(hotel.getId())) {//没有id的情况hotel.setId(IdGenerator.id());hotel.setStatus(StatusEnum.DOWM_STATUS.getCode());hotel.setCreateDate(new Date());int i random.nextInt(100);hotel.setImage(MY_kezhan_0 (i % 8 1));} else {//有id的情况Hotel oldHotel getHotelById(hotel.getId());hotel.setStatus(oldHotel.getStatus());hotel.setCreateDate(oldHotel.getCreateDate());hotel.setImage(oldHotel.getImage());}hotelRepository.saveAndFlush(hotel);return ResultGenerator.genSuccessResult();}public Hotel getHotelById(String id) {Hotel hotel hotelRepository.findById(id).orElseThrow(() - new ServiceException(酒店ID错误!));return hotel;}public Result updateStatus(String id) {Hotel hotel getHotelById(id);if (hotel.getStatus().equals(StatusEnum.DOWM_STATUS.getCode())) {//改变状态hotel.setStatus(StatusEnum.UP_STATUS.getCode());} else {hotel.setStatus(StatusEnum.DOWM_STATUS.getCode());}hotelRepository.saveAndFlush(hotel);return ResultGenerator.genSuccessResult();}public PageAttractions getAttractionsPage(Pageable pageable) {PageAttractions attractionsPage attractionsRepository.findAll((root, query, cb) - {ListPredicate predicates new ArrayList();query.where(predicates.toArray(new Predicate[]{}));query.orderBy(cb.desc(root.get(createDate)));return null;}, pageable);return attractionsPage;}public Attractions getAttractionsById(String id) {Attractions attractions attractionsRepository.findById(id).orElseThrow(() - new ServiceException(景点ID错误));return attractions;}public Result updateAttractionsStatus(String id) {Attractions attractions getAttractionsById(id);if (attractions.getStatus().equals(StatusEnum.DOWM_STATUS.getCode())) {//改变状态attractions.setStatus(StatusEnum.UP_STATUS.getCode());} else {attractions.setStatus(StatusEnum.DOWM_STATUS.getCode());}attractionsRepository.saveAndFlush(attractions);return ResultGenerator.genSuccessResult();}
安装部署需求
eclipse、idea运行启动
系统部署
系统开发后在生产环境配置项目运行环境具体步骤如下 安装linux或者windows10操作系统 安装JDK1.8并配置环境变量 安装MySQL5.7版本以上版本数据库创建数据库并执行脚本创建表 在IDEA中编辑进行打包 下载并配置Tomcat8.0服务器配置系统服务上传项目打包文件
本项目用到的技术和框架
1开发工具ideal、tomcat 2使用的语言Java、JSP、Javascript、html、CSS 3操作系统windows操作系统 4数据库Mysql
本项目中的关键点
此系统的开发采用java语言开发基于B/S结构这些开发环境使系统更加完善。使用到的工具和技术都是开源免费的。
环境工具
开发工具 Eclipse/IDEA 语言 JDK1.8 、jsp、Springboot 、mybatis 硬件笔记本电脑 软件Tomcat8.0 Web服务器、Navicat数据库客户端、MySQL 操作系统Windows 10 其它软件截图工具、常用浏览器