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

作者主页:源码空间codegym

简介: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

运行截图

文档截图

项目截图








代码

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 {
	@Resource
	private UserService userService;
	@Resource
	private 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, "前后密码不一致"));
		}
	}
}
相关推荐
魔道不误砍柴功1 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_2341 小时前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨1 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
种树人202408191 小时前
如何在 Spring Boot 中启用定时任务
spring boot
测开小菜鸟3 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
P.H. Infinity4 小时前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
生命几十年3万天4 小时前
java的threadlocal为何内存泄漏
java
caridle4 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
^velpro^4 小时前
数据库连接池的创建
java·开发语言·数据库
苹果醋34 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx