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

2024-03-16 02:12

本文主要是介绍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, "前后密码不一致"));}}
}

这篇关于Java项目:52 springboot基于SpringBoot的旅游网站的设计与实现013的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/813975

相关文章

Spring Boot整合Redis注解实现增删改查功能(Redis注解使用)

《SpringBoot整合Redis注解实现增删改查功能(Redis注解使用)》文章介绍了如何使用SpringBoot整合Redis注解实现增删改查功能,包括配置、实体类、Repository、Se... 目录配置Redis连接定义实体类创建Repository接口增删改查操作示例插入数据查询数据删除数据更

Java Lettuce 客户端入门到生产的实现步骤

《JavaLettuce客户端入门到生产的实现步骤》本文主要介绍了JavaLettuce客户端入门到生产的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录1 安装依赖MavenGradle2 最小化连接示例3 核心特性速览4 生产环境配置建议5 常见问题

Java使用Swing生成一个最大公约数计算器

《Java使用Swing生成一个最大公约数计算器》这篇文章主要为大家详细介绍了Java使用Swing生成一个最大公约数计算器的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下... 目录第一步:利用欧几里得算法计算最大公约数欧几里得算法的证明情形 1:b=0情形 2:b>0完成相关代码第二步:加

linux ssh如何实现增加访问端口

《linuxssh如何实现增加访问端口》Linux中SSH默认使用22端口,为了增强安全性或满足特定需求,可以通过修改SSH配置来增加或更改SSH访问端口,具体步骤包括修改SSH配置文件、增加或修改... 目录1. 修改 SSH 配置文件2. 增加或修改端口3. 保存并退出编辑器4. 更新防火墙规则使用uf

Java 的ArrayList集合底层实现与最佳实践

《Java的ArrayList集合底层实现与最佳实践》本文主要介绍了Java的ArrayList集合类的核心概念、底层实现、关键成员变量、初始化机制、容量演变、扩容机制、性能分析、核心方法源码解析、... 目录1. 核心概念与底层实现1.1 ArrayList 的本质1.1.1 底层数据结构JDK 1.7

Java Map排序如何按照值按照键排序

《JavaMap排序如何按照值按照键排序》该文章主要介绍Java中三种Map(HashMap、LinkedHashMap、TreeMap)的默认排序行为及实现按键排序和按值排序的方法,每种方法结合实... 目录一、先理清 3 种 Map 的默认排序行为二、按「键」排序的实现方式1. 方式 1:用 TreeM

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

C++中unordered_set哈希集合的实现

《C++中unordered_set哈希集合的实现》std::unordered_set是C++标准库中的无序关联容器,基于哈希表实现,具有元素唯一性和无序性特点,本文就来详细的介绍一下unorder... 目录一、概述二、头文件与命名空间三、常用方法与示例1. 构造与析构2. 迭代器与遍历3. 容量相关4

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

C++中悬垂引用(Dangling Reference) 的实现

《C++中悬垂引用(DanglingReference)的实现》C++中的悬垂引用指引用绑定的对象被销毁后引用仍存在的情况,会导致访问无效内存,下面就来详细的介绍一下产生的原因以及如何避免,感兴趣... 目录悬垂引用的产生原因1. 引用绑定到局部变量,变量超出作用域后销毁2. 引用绑定到动态分配的对象,对象