怎么用Java开发用户后台管理系统(java,开发技术)

时间:2024-05-07 05:24:29 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

主要功能

管理员登录功能、管理员列表操作、用户列表操作、订单管理

登录功能

设计思路:前端页面获取输入的数据,然后发送Ajax请求,在servlet中获取数据并调用service层中的方法进行处理,service层中调用dao层的实现方法,最终servlet返回一个结果集,判断登录是否成功。

login.html主要功能代码:

<script>$(function(){$("#btn_login").click(function(){//获取数据letusername=$("#username").val();letpassword=$("#password").val();//数据处理$.post("admin/login",{username:username,password:password},function(result){if(result.flag){location.href="index.html";}else{alert(result.errorMsg);}});});})</script>

servlet中功能代码:

//登录publicvoidlogin(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//获取用户名和密码Stringusername=request.getParameter("username");Stringpassword=request.getParameter("password");//封装管理员对象Administratoradmin=newAdministrator();admin.setAname(username);admin.setPassword(password);//创建结果对象ResultInforesultInfo=newResultInfo();//调用service查询Administratoradministrator=service.login(admin);if(administrator==null){resultInfo.setFlag(false);resultInfo.setErrorMsg("用户名或密码错误!");}if(administrator!=null&&!administrator.getStatus().equals("Y")){resultInfo.setFlag(false);resultInfo.setErrorMsg("该账户未激活!");}if(administrator!=null&&administrator.getStatus().equals("Y")){resultInfo.setFlag(true);//设置sessionrequest.getSession().setAttribute("username",administrator.getAname());}//调用父类中定义的方法,转json数据后回传writeValue(resultInfo,response);}

service层中代码实现:

@OverridepublicAdministratorlogin(Administratoradministrator){returndao.login(administrator);}

dao层中代码实现:

@OverridepublicAdministratorlogin(Administratoradministrator){Administratoradmin=null;try{Stringsql="SELECT*FROMadministratorWHEREaname=?ANDPASSWORD=?";admin=template.queryForObject(sql,newBeanPropertyRowMapper<>(Administrator.class),administrator.getAname(),administrator.getPassword());}catch(Exceptione){}returnadmin;}

实现效果:

怎么用Java开发用户后台管理系统

管理员列表

设计思路:数据操作与登录功能大同小异,实现了管理员的增删改查,在此重点介绍分页、模糊查询。

admin_list.html主要功能代码:

<script>$(function(){letname=null;$("#btn_search").click(function(){name=$('#admin_name').val();load(null,name)//取消按钮的默认跳转行为导致会刷新页面returnfalse;})load(null,name);});functionload(currentPage,admin_name){//发送ajax请求,请求route/pageQuery,传递cid$.get("admin/pageQuery",{currentPage:currentPage,admin_name:admin_name},function(pb){//定义字符letlis="";//计算上一页的页码letbeforeNum=pb.currentPage-1;if(beforeNum<=0){beforeNum=1;}letbeforePage='<aclass="prev"href="javascript:load('+beforeNum+',\''+admin_name+'\')"rel="externalnofollow">&lt;&lt;</a>';lis+=beforePage;//定义开始位置begin,结束位置endletbegin;letend;if(pb.totalPage<10){//总页码不足10页begin=1;end=pb.totalPage;}else{//总页码超过10页begin=pb.currentPage-5;end=pb.currentPage+4;//前边不足5个,后边补齐if(begin<1){begin=1;end=begin+9;}if(end>pb.totalPage){end=pb.totalPage;begin=end-9;}}//展示分页页码for(leti=begin;i<=end;i++){letli;//判断当前页码是否等于i,创建页码的liif(pb.currentPage===i){li='<aclass="num"href="javascript:load('+i+',\''+admin_name+'\')"rel="externalnofollow"rel="externalnofollow"><spanclass="current">'+i+'</span></a>';}else{li='<aclass="num"href="javascript:load('+i+',\''+admin_name+'\')"rel="externalnofollow"rel="externalnofollow">'+i+'</a>';}//拼接字符串lis+=li;}//计算下一页的页码letnextNum=pb.currentPage+1;if(nextNum>=pb.totalPage){nextNum=pb.totalPage;}letnextPage='<aclass="next"href="javascript:load('+nextNum+',\''+admin_name+'\')"rel="externalnofollow">&gt;&gt;</a>';lis+=nextPage;//将lis内容设置到ul$("#pageNum").html(lis);//列表数据展示letadmin_lis="";for(leti=0;i<pb.list.length;i++){letadmin=pb.list[i];letli;if(admin.status==="Y"){li='<tr>\n'+'<td>\n'+'<inputtype="checkbox"name="checkedId"id="checkedId"lay-skin="primary">\n'+'<divclass="layui-unselectlayui-form-checkbox"lay-skin="primary"><iclass="layui-iconlayui-icon-ok"></i></div>'+'</td>\n'+'<td>'+admin.aid+'</td>\n'+'<td>'+admin.aname+'</td>\n'+'<td>'+admin.phone+'</td>\n'+'<td>'+admin.email+'</td>\n'+'<td>'+admin.role+'</td>\n'+'<td>'+admin.date+'</td>\n'+'<tdclass="td-status">\n'+'<spanclass="layui-btnlayui-btn-normallayui-btn-mini">已启用</span></td>\n'+'<tdclass="td-manage">\n'+'<aonclick="member_stop(this,'+admin.aid+')"href="javascript:;"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"title="启用">\n'+'<iclass="layui-icon">&#xe601;</i>\n'+'</a>\n'+'<atitle="编辑"onclick="xadmin.open(\'编辑管理员\',\'admin-edit.html?aid='+admin.aid+'\',600,500)"href="javascript:;"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow">\n'+'<iclass="layui-icon">&#xe642;</i>\n'+'</a>\n'+'<atitle="删除"onclick="member_del(this,\'要删除的id\')"href="javascript:;"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow">\n'+'<iclass="layui-icon">&#xe640;</i>\n'+'</a>\n'+'</td>\n'+'</tr>';}elseif(admin.status==="N"){li='<tr>\n'+'<td>\n'+'<inputtype="checkbox"name="checkedId"id="checkedId"lay-skin="primary">\n'+'<divclass="layui-unselectlayui-form-checkbox"lay-skin="primary"><iclass="layui-iconlayui-icon-ok"></i></div>'+'</td>\n'+'<td>'+admin.aid+'</td>\n'+'<td>'+admin.aname+'</td>\n'+'<td>'+admin.phone+'</td>\n'+'<td>'+admin.email+'</td>\n'+'<td>'+admin.role+'</td>\n'+'<td>'+admin.date+'</td>\n'+'<tdclass="td-status">\n'+'<spanclass="layui-btnlayui-btn-normallayui-btn-mini">已停用</span></td>\n'+'<tdclass="td-manage">\n'+'<aonclick="member_stop(this,'+admin.aid+')"href="javascript:;"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"title="停用">\n'+'<iclass="layui-icon">&#xe62f;</i>\n'+'</a>\n'+'<atitle="编辑"onclick="xadmin.open(\'编辑管理员\',\'admin-edit.html?aid='+admin.aid+'\',600,500)"href="javascript:;"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow">\n'+'<iclass="layui-icon">&#xe642;</i>\n'+'</a>\n'+'<atitle="删除"onclick="member_del(this,\'要删除的id\')"href="javascript:;"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow"rel="externalnofollow">\n'+'<iclass="layui-icon">&#xe640;</i>\n'+'</a>\n'+'</td>\n'+'</tr>';}admin_lis+=li;}//设置列表数据$("#admin_msg").html(admin_lis);});}</script>

servlet中功能代码:

//分页、模糊查询publicvoidpageQuery(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//接收参数StringcurrentPageStr=request.getParameter("currentPage");//接收admin_name管理员名称Stringadmin_name=request.getParameter("admin_name");//判断admin_name是否为nullif(admin_name!=null&&!"null".equals(admin_name)&&admin_name.length()>0){admin_name=newString(admin_name.getBytes("iso-8859-1"),"utf-8");}else{admin_name="";}intcurrentPage=0;//当前页码,不传递参数,默认为1if(currentPageStr!=null&&currentPageStr.length()>0){currentPage=Integer.parseInt(currentPageStr);}else{currentPage=1;}//每页显示条数,默认为5intpageSize=5;//调用service查询PageBean对象PageBean<Administrator>pb=service.pageQuery(currentPage,pageSize,admin_name);//将pageBean对象序列化为json,返回writeValue(pb,response);}

service层中代码实现:

@OverridepublicPageBean<Administrator>pageQuery(intcurrentPage,intpageSize,Stringadmin_name){//封装PageBeanPageBean<Administrator>pb=newPageBean<>();//设置当前页码pb.setCurrentPage(currentPage);//设置每页显示条数pb.setPageSize(pageSize);//设置总记录数inttotalCount=dao.findTotalCount(admin_name);pb.setTotalCount(totalCount);//设置当前页显示的数据集合intstart=(currentPage-1)*pageSize;//开始的记录数List<Administrator>list=dao.findByPage(start,pageSize,admin_name);pb.setList(list);//设置总页数=总记录数/每页显示条数inttotalPage=totalCount%pageSize==0?totalCount/pageSize:(totalCount/pageSize)+1;pb.setTotalPage(totalPage);returnpb;}

dao层中代码实现:

@OverridepublicintfindTotalCount(Stringadmin_name){//定义sql模板Stringsql="SELECTCOUNT(*)FROMadministratorWHERE1=1";StringBuildersb=newStringBuilder(sql);//条件List<Object>params=newArrayList<>();if(admin_name!=null&&admin_name.length()>0){sb.append("andanamelike?");params.add("%"+admin_name+"%");}sql=sb.toString();returntemplate.queryForObject(sql,Integer.class,params.toArray());}@OverridepublicList<Administrator>findByPage(intstart,intpageSize,Stringadmin_name){Stringsql="SELECT*FROMadministratorWHERE1=1";StringBuildersb=newStringBuilder(sql);//条件List<Object>params=newArrayList<>();//判断参数是否有值if(admin_name!=null&&admin_name.length()>0){sb.append("andanamelike?");params.add("%"+admin_name+"%");}//分页条件sb.append("limit?,?");params.add(start);params.add(pageSize);//转字符串sql=sb.toString();returntemplate.query(sql,newBeanPropertyRowMapper<>(Administrator.class),params.toArray());}

实现效果:

怎么用Java开发用户后台管理系统

用户列表

设计思路:与管理员列表设计思路基本类似。

实现效果:

怎么用Java开发用户后台管理系统

订单管理

设计思路:与管理员列表设计思路基本类似。

怎么用Java开发用户后台管理系统

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:怎么用Java开发用户后台管理系统的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:让APP变快的6个设计方案是什么下一篇:

3 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18