• 计算机毕业设计ssm+vue+elementUI基于html的戒烟网站


    项目介绍

    大量研究证据表明,戒烟可降低或消除吸烟导致的健康危害。任何人在任何年龄戒烟均可获益,且戒烟越早、持续时间越长,健康获益就越大。随着时代发展人们对健康也越来越重视,更多的人参与到了戒烟的行列中来,本系统正是出于这样的目的而开发的
    本网站设计了2种角色:管理员,用户。通过此网站,用户可以对首页,用户分享,论坛交流,公告文章,个人中心,后台管理等功能进行操作;管理员可以对网站所有功能进行管理,包括管理用户的基本信息。该网站大大提高戒烟效率,节约了大量的时间和精力

    开发环境

    开发语言:Java
    框架:ssm
    技术:JSP
    JDK版本:JDK1.8
    服务器:tomcat7
    数据库:mysql 5.7(一定要5.7版本)
    数据库工具:Navicat11
    开发软件:eclipse/myeclipse/idea
    Maven包:Maven3.3.9
    浏览器:谷歌浏览器

    功能介绍

    本网站设计了2种角色:管理员,用户。通过此网站,用户可以对首页,用户分享,论坛交流,公告文章,个人中心,后台管理等功能进行操作;管理员可以对网站所有功能进行管理,包括管理用户的基本信息
    请添加图片描述

    相关代码

    /**
     * 登录相关
     */
    @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);
        	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
        	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
        		return R.error("用户名已存在。");
        	}
            userService.updateById(user);//全部更新
            return R.ok();
        }
    
        /**
         * 删除
         */
        @RequestMapping("/delete")
        public R delete(@RequestBody Long[] ids){
            userService.deleteBatchIds(Arrays.asList(ids));
            return R.ok();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140

    效果图

    请添加图片描述
    请添加图片描述
    请添加图片描述
    请添加图片描述
    1 绪论 6
    1.1项目背景 6
    1.2项目意义 6
    1.3项目研究的目的和方法 6
    1.3.1项目的研究目的 6
    1.3.2开发方法及步骤 6
    2 开发平台介绍 8
    2.1平台开发环境 8
    2.1.1硬件平台 8
    2.1.2软件平台 8
    2.2相关技术 8
    2.2.1 B/S结构 8
    2.2.2 Java语言简介 9
    2.2.3 Vue.js介绍 10
    2.2.4 MySql数据库 10
    2.2.5 MySQL环境配置 10
    2.2.6 Ssm框架 11
    3需求分析 12
    3.1对功能上的需求 12
    3.2对性能的规定 12
    3.3网站现状分析 13
    3.4网站设计规则与运行环境 13
    4网站设计 15
    4.1总体设计 15
    4.2数据库设计 15
    4.2.1概念模型设计 15
    4.2.2数据库表结构 16
    5网站详细设计与实现 21
    5.1网站功能模块 21
    5.2管理员功能模块 22
    5.3用户功能模块 25
    网站的调试和测试 27
    结 论 28
    参考文献 29
    致 谢 30

  • 相关阅读:
    代码随想录算法训练营第二十一天 | LeetCode 235. 二叉搜索树的最近公共祖先、701. 二叉搜索树中的插入操作、450. 删除二叉搜索树中的节点
    ubuntu的so库,上面有一个箭头的显示,怎么办?并且还找不到这个软连接。
    Spring 事务失效的场景
    three.js学习笔记(十六)——汹涌的海洋
    Anaconda使用教程(新手友好)
    2023首都师范大学计算机考研信息汇总
    【机器学习】:基于决策树与随机森林对数据分类
    Android耗电量测试
    BL808:【M1s DOCK开发板】与LVGL 使用体验
    【面试复习】Python基础复习
  • 原文地址:https://blog.csdn.net/qq_1262330535/article/details/127935075