当前位置: 首页 > news >正文

java基于ssm+vue+elementui的旅游线路分享管理系统

旅游景点路线网站管理系统,是基于java编程语言,ssm框架,mysql数据库制作的设计,本设计主要分为用户和管理员两个角色,用户的主要功能是注册登陆系统,查看旅游景点介绍,查看旅游路线介绍,查看新闻资讯和旅游资讯,收藏评价:管理员主要是可以对会员,景点,旅游,新闻资讯等进行管理。本系统文档齐全,功能复杂程度不高,适合作为要求不高的java毕业设计参考和学习。
请添加图片描述
环境需要
1.运行环境:最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。
2.IDE环境:IDEA,Eclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
后端:Spring+SpringMVC+Mybatis+Springboot
前端:vue+CSS+JavaScript+jQuery+elementui
请添加图片描述
基于ssm旅游景点管理系统

系统分为用户和管理员两个角色

用户的主要功能有:
1.用户注册和登陆系统
2.用户查看,搜索旅游景点列表,查看景点详情
3.用户查看旅游路线信息和详情介绍
4.用户查看旅游资讯
5.用户查看新闻资讯
6.用户在线评价留言和收藏
7.用户个人中心修改个人资料,修改密码
8.退出登陆

管理员的主要功能有:
1.管理员输入账户登陆后台
2.个人中心,管理员修改密码和账户信息
3.会员管理,对注册的用户信息进行添加,修改,删除,查询
4.景点分类管理,对景点的分类信息进行添加,修改,删除,查询
5.旅游景点管理,对旅游的景点进行添加,修改,删除,查询
6.旅游路线管理,对旅游的路线进行添加,查询,修改,删除
7.退出系统

请添加图片描述


/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

请添加图片描述
请添加图片描述
请添加图片描述
目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37

相关文章:

  • 最近公共祖先 LCA
  • Deterministic Policy Gradient Algorithms
  • Java8时间日期库DateTime API及示例
  • np.random.seed(), torch.manual_seed(args.seed)
  • 真真正正的九面阿里才定级 P6+ 支持背调,还不来看?(建议收藏)
  • Fedora 24 Beta 版发布下载!
  • k-NN分类算法详解与分析(k近邻分类算法)
  • 03-数据链路层
  • Maven进阶实战
  • C++引用用法学习笔记
  • linux下的动态静态库
  • [GXYCTF2019]禁止套娃
  • STM32CubeIDE实现基于STM32的LoRa通信程序移植(SPI接口)
  • JQuery系列之元素操作
  • BLEMotion-Kit 支蓝牙运动传感评估套件
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 2019年如何成为全栈工程师?
  • gitlab-ci配置详解(一)
  • httpie使用详解
  • Magento 1.x 中文订单打印乱码
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 简单实现一个textarea自适应高度
  • 力扣(LeetCode)357
  • 前端学习笔记之观察者模式
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 使用SAX解析XML
  • 手写一个CommonJS打包工具(一)
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 赢得Docker挑战最佳实践
  • 与 ConTeXt MkIV 官方文档的接驳
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • nb
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 我们雇佣了一只大猴子...
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​人工智能书单(数学基础篇)
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #pragma once
  • (26)4.7 字符函数和字符串函数
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (poj1.2.1)1970(筛选法模拟)
  • (Ruby)Ubuntu12.04安装Rails环境
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (转)Oracle 9i 数据库设计指引全集(1)
  • ***监测系统的构建(chkrootkit )
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .net core 6 redis操作类