仿小米商城——后台查询全部用户、权限更改

本文详细介绍了如何在前端页面展示所有用户信息,包括姓名、性别、电话号码、地区及用户类型,并实现管理员权限的设置与取消。通过使用c:if标签进行条件渲染,以及在DAO层、Service层和Web层实现数据查询与更新,展示了完整的用户管理流程。

效果展示
在这里插入图片描述

获取所有用户

前端页面

<c:if test="${not empty users}">
	<c:forEach items="${users}" var="user" varStatus="vs">
		<tr>
			<td><input name="ids" type="checkbox" value="" /></td>
			<td>${vs.count}</td>
			<td>${user.name}</td>
			<td>
				<c:if test="${user.sex==0}"></c:if>
				<c:if test="${user.sex==1}"></c:if>
			</td>
			<td>${user.phoneNumber}</td>
			<td>${user.area}</td>
			<td>
				<c:if test="${user.manager==0}"><font color="blue">普通用户</font></c:if>
				<c:if test="${user.manager==1}"><font color="red">管理员</font></c:if>
			</td>
			<td>${user.name}</td>
			<td style="text-align: center;"><img src="/xm_upload/${user.photo}" width="
			</td>
		</tr>
	</c:forEach>
</c:if>

<c:if test="${not empty users}"> c:if标签 是对集合进行判断,如果为空则不展示,不为空则进行展示
性别和是否管理员这两项在数据库中都是存储的0和1,在前台展示的时候需要通过c:if进行判断
图片的展示是在tomcat中映射本地硬盘,得到一个虚拟路径xm_upload,图片的数据库字段存储的仅为图片名称,在前台显示的时候,虚拟路径+图片名称即可显示图片
在数据库中查询所有用户,返回list集合,存入session中,前台获取session中的数据进行展示
dao层

//查询所有用户
	public List<User> getUsers() {
		QueryRunner qr = new QueryRunner(C3p0Utils.getDataSource());
		String sql = "select * from user";
		try {
			return qr.query(sql, new BeanListHandler<User>(User.class) );
		} catch (SQLException e) {
			e.printStackTrace();
			return null;
		}
	}

service层

public List<User> getUsers() {
		return userDao.getUsers();
	}

web层

public String getUsers(HttpServletRequest request, HttpServletResponse response){
		//调用业务层处理
		UserService userService = new UserServiceImpl();
		List<User> users = userService.getUsers();
		//结果展示
		request.getSession().setAttribute("users", users);
		//返回到页面
		return "admin/user_list";
	}

权限管理

管理员可设置/取消管理员权限,这一功能主要涉及的是数据库中是否为管理员字段这一个值的改变
前端

<c:if test="${user.manager==0}">
	<a href="${pageContext.request.contextPath}/user?method=updateRole&manager=1&uid=${user.uid}">
	<font color="red">设置为管理员</font></a>
</c:if>
<c:if test="${user.manager==1}">
	<a href="${pageContext.request.contextPath}/user?method=updateRole&manager=0&uid=${user.uid}">
	<font color="blue">设置为普通用户</font></a>
</c:if>

通过访问地址向服务器传递参数0非管理员1管理员
dao层

//更改用户权限
	public void updateRole(int manager, int uid) {
		QueryRunner qr = new QueryRunner(C3p0Utils.getDataSource());
		String sql = "update user set manager=? where uid=?";
		Object[] param = {manager,uid};
		try {
			qr.update(sql, param);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

service层

public void updateRole(int manager, int uid) {
		userDao.updateRole(manager, uid);
	}

web层

//更改用户权限
	public void updateRole(HttpServletRequest request, HttpServletResponse response) {
		String m = request.getParameter("manager");
		Integer manager = Integer.valueOf(m);
		System.out.println(manager);
		String u = request.getParameter("uid");
		Integer uid = Integer.valueOf(u);
		System.out.println(uid);
		UserService userService = new UserServiceImpl();
		userService.updateRole(manager, uid);
	}

注:dao层和service层均省略了接口

不要用win搭建 最好是Linux 空间需求:PHP5.3+Mysql 1、上传源码将源码压缩包上传至空间(需要空间支持在线解压,推荐),或将源码解压后上传到空间。本人用的是宝塔面板,嘻嘻嘻2、恢复数据访问 您的域名/ebak 帐号:admin 密码:123456 恢复数据 恢复完成后将 ebak 文件夹改名或删除第一步登陆进去以后参数设置把你的数据库地址填写进去再点恢复数据选择一个目录20160309那个导入的数据库点xiaomi恢复,完毕就可以去网站文件里改了数据库配置了修改data/config.php,后台PC 端入口: 域名/admin后台手机端入口: 域名/mobile/admin默认帐号密码均为:admin admin888。 模板 常见修改说明 https://www.lanzous.com/i429l4f最后大家有需要改的地方建议用noteped++修改,不要用记事本找不到文 不要用win搭建 最好是Linux 空间需求:PHP5.3+Mysql 1、上传源码将源码压缩包上传至空间(需要空间支持在线解压,推荐),或将源码解压后上传到空间。本人用的是宝塔面板,嘻嘻嘻2、恢复数据访问 您的域名/ebak 帐号:admin 密码:123456 恢复数据 恢复完成后将 ebak 文件夹改名或删除第一步登陆进去以后参数设置把你的数据库地址填写进去再点恢复数据选择一个目录20160309那个导入的数据库点xiaomi恢复完毕就可以去网站文件里改了数据库配置了修改data/config.php 后台PC 端入口: 域名/admin后台手机端入口: 域名/mobile/admin默认帐号密码均为:admin admin888 模板 常见修改说明 https://www.lanzous.com/i429l4f最后大家有需要改的地方建议用noteped++修改,不要用记事本找不到文件地址可以用ctrl+f解压以后把目录填进去,输入要查找的代码就可以,还有地方不会改的,可以问我。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值