博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅
Java项目精品实战案例《100套》
Java微信小程序项目实战《100套》
系统介绍:
现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本旅游攻略网站就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此旅游攻略网站利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了旅游景点基础数据的管理,新闻的展示,酒店预定等功能。旅游攻略网站的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化
在分析并得出使用者对程序的功能要求时,就可以进行程序设计了。如图4.2展示的就是管理员功能结构图,管理员主要负责填充旅游景点和其类别信息,并对已填充的数据进行维护,包括修改与删除,管理员也需要添加自驾游攻略信息,酒店信息等。
程序上交给用户进行使用时,需要提供程序的操作流程图,这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。
程序操作流程图
功能截图: 5.1.1 景点管理如图5.1显示的就是景点管理页面,此页面提供给管理员的功能有:添加景点,删除景点,修改景点。
图5.1 景点管理页面
5.1.2 景点收藏管理如图5.2显示的就是景点收藏管理页面,此页面提供给管理员的功能有:查看景点收藏。
图5.2 景点收藏管理页面
5.1.3 酒店管理如图5.3显示的就是酒店管理页面,此页面提供给管理员的功能有:酒店新增,酒店修改,酒店删除。
图5.3 酒店管理页面
5.1.4 酒店留言管理如图5.4显示的就是酒店留言管理页面,此页面提供给管理员的功能有:查看酒店留言,删除留言。
图5.4 酒店留言管理页面
5.2前台首页功能模块旅游网站,在旅游网站可以查看自驾游攻略,景点,酒店,路线,新闻等信息,如图5-17所示。
图5-17系统首页界面图
登录、注册,通过注册填写用户账号、用户姓名、密码、联系电话、电子邮箱等信息进行注册操作,如图5-18所示。
图5-18登录、注册界面图
自驾游攻略,在自驾游攻略详情页面可以查看攻略名,攻略类型,攻略发表时间,攻略详情,如图5-19所示。
图5-19攻略信息界面图
个人中心,在个人中心页面可以查看用户账号、用户姓名、密码、性别、联系电话、身份证号等如图5-20所示。
图5-20个人中心界面图
景点收藏页面,在个人中心中景点收藏菜单中如图5-22所示。
图5-22景点收藏页面列表
代码实现: /** * 登录相关 */@RequestMapping("users")@RestControllerpublic class UserController{@Autowiredprivate UserService userService;@Autowiredprivate TokenService tokenService;/** * 登录 */@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String role, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper().eq("username", username));if(user != null){if(!user.getRole().equals(role)){return R.error("权限不正常");}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);}else{return R.error("账号或密码或权限不对");}}/** * 注册 */@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){//ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper().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().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 params,UserEntity user){EntityWrapper ew = new EntityWrapper();PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put("data", page);}/** * 信息 */@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){Integer id = (Integer)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().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 Integer[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}} 论文参考: 源码获取:大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻
精彩专栏推荐订阅:在下方专栏👇🏻
2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅
Java项目精品实战案例《100套》
Java微信小程序项目实战《100套》