旅游网站后台信息管理

您所在的位置:网站首页 简单的旅游攻略图 旅游网站后台信息管理

旅游网站后台信息管理

2024-07-13 18:17| 来源: 网络整理| 查看: 265

前言   🎄:CSDN的小伙伴们大家好,今天跟大家分享我做的一个小项目,旅游网站的后台管理系统,仅实现了简单的增删改查功能。如果这篇文章对你有用,麻烦给我点个小赞以示鼓励吧🎄   🏡:博客主页:空山新雨后的java知识图书馆   ☀️:昨晚重庆挂大风,不知道各位小伙伴感受到了没有。   📝:为学有难易乎?学之,则难者亦易矣;不学则易者亦难矣。 ——彭端叔📝   📖上一篇文章:力扣算法题📖   👏欢迎大家一起学习,进步。加油👊 在这里插入图片描述

文章目录 一、旅游门户网项目介绍二、本项目大致需要学会的技术三、后台网页演示四、项目注意事项五、代码链接:

  

一、旅游门户网项目介绍   随着计算机及网络技术的飞速发展,全民经济水平的提高,为丰富业余生活,各种各样的娱乐活动层出不穷,越来越多的人会选择以旅游的方式来提升工作生活的品质,而旅游网为大众提供了舒适、便捷的旅行路线,并提供酒店预订服务,为“驴友们” 节省了大把的旅游规划时间,真正做到说走就走的旅行。   前台功能 ![在这里插入图片描述](https://img-blog.csdnimg.cn/637850cfeaf1423a87a3a796b7ca5fd5.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56m65bGx5paw6Zuo5ZCOfg==,size_20,color_FFFFFF,t_70,g_se,x_16)

  项目结构图↑   前台页面主要就是注意Servlet对前台数据的接收,处理,返回前台页面展示即可。注意表单提交以及数据库操作时候的一些小细节。

  后台系统项目结构图↓ 在这里插入图片描述   

在这里插入图片描述

二、本项目大致需要学会的技术

掌握Mysql基本增删改查操作 掌握JDBC操作 HTML&CSS&JS基本使用 掌握Servlet技术 了解MVC架构思想 掌握Redis非关系型数据库使用 Ajax技术以及maven工具的使用。   

三、后台网页演示

视频演示 在这里插入图片描述

四、项目注意事项

  由于酒店的数据我没去做真实性的数据插入,我用的是旅游网的数据,各位自己在做的时候可以将它改过来,当然,操作都是一致的。

  做项目的时候,需要理清楚整个项目的业务逻辑,前台提交请求,需要提交哪些数据到后台,后台需要对哪些数据做处理,处理后并返回什么样的数据。   写代码的时候一定需要做好注释,避免代码量过大之后,自己看不清楚代码的逻辑。   编写代码的时候按着MVC的架构来做一般很少会出现重大错误。所以出现错误极大可能会是粗心缺少了某个符号。   在做修改部分的时候,会遇到一个问题,前台页面提交表单数据,如果他提交整条数据过去,比如修改用户信息,他提交了一个用户对象到后台,后台去做修改处理,但是修改有一个前提条件是对已有的数据进行修改,如果前台传递过来的是一个user对象,那么你只可能通过user对象的某一个属性对数据库表进行修改,将UID放到前台貌似不太好看,如果不那么做的话就只能是通过user的某个唯一的属性进行修改,那这个属性本身就无法进行修改,因此我们可以使用表单input标签的一个隐藏域的属性,type = hidden,这样,在前台数据获取的时候将UID隐藏的添加并传递给后台进行数据修改,这样,前台也不会看到UID,也能对user的所有属性进行修改。 在这里插入图片描述 在这里插入图片描述   新增的时候注意需要对表单提交进行验证,必须保证输入框有值才能对表单进行提交。后台查到的数据结果需要分类进行显示。   修改的时候注意管理员选择的数据要做一个回显的操纵,提升用户的体验。   查询的时候需要对数据做分页操作,分页显示的操作代码部分演示:

DOCTYPE html> 查询用户信息页面 .curPage { background-color: #ffc900; } 用户信息列表展示 选项 01 选项 02 编号 用户名 密码 真实姓名 生日 性别 电话 邮箱 激活状态 激活码 Trident Internet Explorer 4.0 Win 95+ 4 X 共 页12条 当前第页 首页 上一页 1 2 3 4 5 6 7 8 9 10 下一页 末页 $(document).ready(function () { $('.footable').footable(); $('.footable2').footable(); }); $(function () { load(null); }); function load(currentPage) { $.get("user/pageQuery",{currentPage:currentPage},function (pageBean) { $("#totalCount").html(pageBean.totalCount); $("#totalPage").html(pageBean.totalPage); $("#currentPage_span").html(pageBean.currentPage); // alert(pageBean.totalPage) /* * 首页 上一页 1 2 3 4 5 6 7 8 9 10 下一页 末页 * */ //展示所有页码目,页码从一开始 var lis = ''; //首页就是第一页,currentPage可以传数据,也可以不传 var firstPage = ' 首页'; //上一页就是pageBean.currentPage-1 var prePage = pageBean.currentPage - 1; //判断边界,当退到了第一页的时候,就归为1 if (prePage = pageBean.totalPage) { nextPage = pageBean.totalPage; } var afterPage = '下一页'; //末页就是最后一页 var lastPage = '末页'; lis += afterPage; lis += lastPage; //展示 $("#ulPattern").html(lis); /* id="tbody_user" * Trident Internet Explorer 4.0 Win 95+ 4 X * */ var user_lis = ""; // alert(pageBean.list.length); for (var i = 0; i 0) { currentPage = Integer.parseInt(currentPageStr); } else { //这种情况是当第一次传入currentPage的时候是没有参数进来的,需要给一个默认值 currentPage = 1; } int pageSize = 0; if (pageSizeStr != null && pageSizeStr.length() > 0) { pageSize = Integer.parseInt(pageSizeStr); } else { //默认值为10,默认每页显示10条数据 pageSize = 10; } //调用service方法,查询pageBean对象, PageBean userPageBean = service.pageQuery(currentPage, pageSize); // System.out.println(routePageBean); //写为JSON传递回客户端 writeValue(userPageBean, response); }

service

/** * @Date 2022/4/11 16:39 * @Param * @param currentPage * @param pageSize * @Return PageBean * @MetodName pageQuery * @Author wang * @Description 分页展示用户信息 */ @Override public PageBean pageQuery(int currentPage, int pageSize) { //创建pageBean对象 PageBean pageBean = new PageBean(); //存入参数 //设置当前页码 pageBean.setCurrentPage(currentPage); //设置每页显示的条目数 pageBean.setPageSize(pageSize); //设置总的记录数 // System.out.println("service 中的rname:" + rname); int totalCount = userDao.findTotalCount(); pageBean.setTotalCount(totalCount); //设置当前页码显示的数据的集合 //设置查询的起点数:当前页码-1 再乘上每页显示的条目数 int start = (currentPage -1 ) *pageSize; List userList = userDao.findByPage(start, pageSize); pageBean.setList(userList); // for (int i = 0; i < userList.size(); i++) { // System.out.println(userList.get(i)); // } //计算总页码,总页码%pagesize是否等于0,等于0则总记录数/pagesize的结果就是总页数 //如果不是就是totalCount/pageSize + 1; int totalPage = totalCount % pageSize == 0 ? totalCount/pageSize : totalCount /pageSize + 1; pageBean.setTotalPage(totalPage); return pageBean; }

dao

private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource()); /** * @Date 2022/4/11 16:44 * @Param * @Return int * @MetodName findTotalCount * @Author wang * @Description 该方法用于查找总的用户数量 */ @Override public int findTotalCount() { String sql = "select count(*) from tab_user"; Integer totalCount = template.queryForObject(sql, Integer.class); return totalCount; } /** * @Date 2022/4/11 16:44 * @Param * @param start * @param pageSize * @Return List * @MetodName findByPage * @Author wang * @Description 该方法用于分页进行查找用户信息 */ @Override public List findByPage(int start, int pageSize) { String sql = "select * from tab_user limit ?,?"; List users = template.query(sql, new BeanPropertyRowMapper(User.class), start, pageSize); return users; }

  删除直接获取UID到后台删除即可,注意前台要加一个是否删除的提示信息

function deleteUser(uid) { if (confirm("您确定要删除这条记录吗?")){ $.post("user/deleteUser",{uid:uid},function (data) { if (data.flag){ alert("删除成功!") location.reload(); }else { alert(data.errorMsg) location.reload(); } }); } }

使用confirm函数即可。

在这里插入图片描述

五、代码链接:

链接:https://pan.baidu.com/s/1n50J7mikb3K0QQWtUnGkDw 提取码:74zm 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3