Java项目:52 springboot基于SpringBoot的旅游网站的设计与实现013

作者主页:舒克日记

简介:Java领域优质创作者、Java项目、学习资料、技术互助

文中获取源码

项目介绍

旅游网站主要功能如下:

1.用户管理:注册、登录、退出、修改密码;

2.分类显示:显示旅游路线的分类;

3.旅游路线显示:按分类查询旅游路线、通过关键字搜索旅游路线、查看旅游路线的详细信息;

4.购物车管理:向购物车中添加旅游路线、修改购物车中旅游路线数量、删除购物车中旅游路线、我的购物车;

5.订单管理:通过购物车中生成订单、查看我的订单、查看某个订单的详细、订单支付、取消未付款订单。

6.首页:提供一个网站首页,该网站用户的登录,注册,所有旅游路线的一级分类,热门旅游路线和最新旅游路线的展示等。

7.旅游路线管理:旅游路线的上架、下架。

环境要求

1.运行环境:最好是java jdk1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.tomcat环境:Tomcat7.x,8.X,9.x版本均可

4.硬件环境:windows7/8/10 4G内存以上;或者Mac OS;

5.是否Maven项目:是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven.项目

6.数据库:MySql5.7/8.0等版本均可;

技术栈

运行环境:jdk8 + tomcat9 + mysql5.7 + windows10

服务端技术:Spring Boot+ Mybatis +VUE

使用说明

1.使用Navicati或者其它工具,在mysql中创建对应sq文件名称的数据库,并导入项目的sql文件;

2.使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;

3.将项目中config-propertiesi配置文件中的数据库配置改为自己的配置,然后运行;

运行指导

idea导入源码空间站顶目教程说明(Vindows版)-ssm篇:

http://mtw.so/5MHvZq

源码地址:http://codegym.top

运行截图

文档截图微信截图_20240309164034

项目截图

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

代码

package com.work.controller;import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.work.common.utils.BaseUtil;
import com.work.common.utils.JsonUtil;
import com.work.common.utils.MD5Util;
import com.work.pojo.SystemUpset;
import com.work.pojo.User;
import com.work.service.SystemUpsetService;
import com.work.service.UserService;@Controller
@RequestMapping("/manager/login")
public class ManagerLoginController extends BaseUtil {@Resourceprivate UserService userService;@Resourceprivate SystemUpsetService systemUpsetService;/*** 管理后台登陆接口* * @param request* @param response* @param ga*/@RequestMapping("/dologin")public void doLogin(HttpServletRequest request, HttpServletResponse response, User user) throws Exception {User serverUser = (User) request.getSession().getAttribute("serverUser");if(serverUser == null){if(user.getUserId() == null){output(response,JsonUtil.buildFalseJson(1,"账号不能为空"));}else{if(user.getPassword().equals("") || user.getPassword() == null){output(response,JsonUtil.buildFalseJson(1,"密码不能为空"));}else{User userInfo = userService.getUserById(user.getUserId());if(userInfo == null || userInfo.getUserLeven() != 1){output(response,JsonUtil.buildFalseJson(1,"账号不正确或系统不存在该用户"));}else{if(!userInfo.getPassword().equals(MD5Util.MD5Encode(user.getPassword(),"utf-8"))){output(response,JsonUtil.buildFalseJson(1,"您输入的密码不正确,请重试")); }else{//判断账号是否被禁用if(userInfo.getIsEffect() != 1){output(response,JsonUtil.buildFalseJson(1,"对不起您的账号已被禁用"));}else{//执行登陆后台的逻辑request.getSession().setAttribute("serverUser",userInfo);output(response, JsonUtil.buildFalseJson(0, "登陆成功,欢迎登录兼职平台管理系统"));}}}}}}else{output(response, JsonUtil.buildFalseJson(0, "登陆成功,欢迎登录兼职平台管理系统"));}}@RequestMapping("/goIndex")public ModelAndView goHome(ModelAndView mv, HttpServletRequest request,SystemUpset systemUpset) {User serverUser = (User) request.getSession().getAttribute("serverUser");if (serverUser == null) { // 已退出mv.setViewName("server/login");} else {List<SystemUpset> systems = systemUpsetService.getSystemUpsetList(systemUpset, 0, 10);if(systems.size() > 0){mv.addObject("system", systems.get(0));}else{mv.addObject("system", null);}mv.setViewName("server/index");}mv.addObject("serverUser", serverUser);return mv;}@RequestMapping("/goServerLogin")public ModelAndView goHome(ModelAndView mv) {mv.setViewName("server/login");return mv;}@RequestMapping("/goMain")public ModelAndView goMain(ModelAndView mv, HttpServletRequest request) {mv.setViewName("server/main");return mv;}@RequestMapping("/dologout")public void managerLogOut(ModelAndView modelView, HttpServletRequest request, HttpServletResponse response) {request.getSession().invalidate();output(response, JsonUtil.buildFalseJson(0, "退出成功"));}@RequestMapping("/goUpdatePassword")public ModelAndView goUpdatePassword(HttpServletRequest request, ModelAndView mv) {mv.setViewName("server/updatePwd");return mv;}//修改密码@RequestMapping("/updatePassword") public void updatePassword(HttpServletRequest request,HttpServletResponse response,String rePassword, String password){User serverUser = (User) request.getSession().getAttribute("serverUser");User user = new User();if(password.equals(rePassword)){user.setUserId(serverUser.getUserId());user.setPassword(MD5Util.MD5Encode(password,"utf-8"));userService.updateUser(user);request.getSession().invalidate();output(response,JsonUtil.buildFalseJson(0, "修改密码成功"));}else{output(response,JsonUtil.buildFalseJson(1, "前后密码不一致"));}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/541687.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

openstack(T)启动实例状态为错误,如何解决

---基本服务得是正常的 ---1.在web界面看是什么错误 点击你的实例名称&#xff0c;在概况里面去查看 当时我的error &#xff1a;编码500 消息 No valid host was found. 错误原因 1&#xff1a;资源不足 2&#xff1a;未开启虚拟机cpu虚拟化 解决&#xff1a; 1.资源不…

百度飞桨大模型训练营:人工智能与大语言模型

文章目录 生成式AI、提示词工程和零代码应用开发人工智能概念机器学习深度学习 大语言模型大语言模型为什么大大语言模型为什么通用大语言模型的灵魂Transformer之前Transformer的优势 Transformer内部原理第一步——数据预处理第二步——编码器第三步——解码器第四步——Line…

人工智能技术应用笔记(七):速度快一倍!低显卡用户福音来了——可本地部署的轻量级SD(Stable Diffusion Forge)

本篇为《人工智能技术应用》专栏的第七篇。希望以学习笔记的形式和大家一起了解和探索人工智能技术的实际应用。 《本地部署轻量级SD实操》 今天介绍一款在原stable diffusion webui基础上经过代码优化&#xff0c;结构重组之后的轻量级产品————Stable Diffusion WebUI For…

java-ssm-jsp基于java的校园疫情管理系统

java-ssm-jsp基于java的校园疫情管理系统 获取源码——》公主号&#xff1a;计算机专业毕设大全

前端文件流、切片下载和上传

前端文件流、切片下载和上传技术在提升文件传输效率和优化用户体验方面发挥着关键作用。这些技术不仅可以帮助解决大文件传输过程中可能遇到的问题&#xff0c;如网络超时、内存溢出等&#xff0c;还能通过并行传输和断点续传等功能&#xff0c;提高传输速度和稳定性。 一、前端…

java算法第23天 | ● 669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树

669. 修剪二叉搜索树 思路&#xff1a; 这道题和删除节点异曲同工。不过要注意避坑&#xff1a;当遍历到不在范围内的节点时&#xff0c;不要直接返回null或直接返回其左或右孩子&#xff0c;而是继续对其左或右孩子做递归。 /*** Definition for a binary tree node.* public…

显示蛋白质的疏水贴片/疏水口袋(hydrophobic patch)

首先以一篇文章为例:Langmuir 2022, 38, 6191−6200 其中有图: 其中黄色部分为输水口袋。 用到的软件为:SWISS 首先打开软件 1.file-open pdb-file 2.可以通过控制面板选择要忽视的残基(点击残基,红色即为选中) 点击这里: 选中“ignore selected residues”。 3. …

探索CorelDRAW软件2024最新中文版的强大魅力,让你的电脑数码设计更上一层楼!

在当今日益发展的数字化时代&#xff0c;设计已成为连接创意与现实之间的桥梁&#xff0c;而CorelDRAW软件则是设计师们手中的得力助手。特别是随着CorelDRAW 2024最新中文版的发布&#xff0c;这一设计工具的魅力和功能得到了进一步的提升&#xff0c;为广大设计师们提供了前所…

使用js地图选点

主要使用到的类&#xff1a; 1. BMap 基类(不多说&#xff0c;自己看文档) 2. Polygon (多边形覆盖物) 3. Marker(热点标注) 4. Polyline (绘制折线) 简单说下思路&#xff1a; 第一步&#xff1a; 对 Map 添加click事件。 获取当前点击的 坐标并生成 热点。 将热点 存储…

功能问题:如何用Docker部署一个后端项目?

大家好&#xff0c;我是大澈&#xff01; 本文约1800字&#xff0c;整篇阅读大约需要3分钟。 关注微信公众号&#xff1a;“程序员大澈”&#xff0c;免费加入问答群&#xff0c;一起交流技术难题与未来&#xff01; 现在关注公众号&#xff0c;免费送你 ”前后端入行大礼包…

【学习】CMMI评估认证的意义和需要注意的问题

​ CMMI认证是软件能力成熟度集成模型&#xff0c;是软件行业中的一种质量管理体系&#xff0c;旨在评估软件开发组织的成熟度和能力&#xff0c;以帮助企业提高软件质量、降低成本、控制风险&#xff0c;并获得更好的商业效益。 一、CMMI评估认证的意义 1. 提高软件质量&am…

YOLOv8_seg-Openvino和ONNXRuntime推理【CPU】

纯检测系列&#xff1a; YOLOv5-Openvino和ONNXRuntime推理【CPU】 YOLOv6-Openvino和ONNXRuntime推理【CPU】 YOLOv8-Openvino和ONNXRuntime推理【CPU】 YOLOv7-Openvino和ONNXRuntime推理【CPU】 YOLOv9-Openvino和ONNXRuntime推理【CPU】 跟踪系列&#xff1a; YOLOv5/6/7-O…