管理员登录

1.定义管理员操作的DAO

- 定义Admin管理员的vo类需要有get ,set,方法,toString方法
- 定义IAdminDAO接口,只需要登录的操作方法        `public interface IAdminDAO extends IDAO<String, Admin> {//登录方法    public boolean findLogin(Admin vo) throws Exception;//更新登录日期public boolean doUpdatelastdate(String aid) throws Exception;}`
- 定义AdminDAOImpl继承IAdminDAO接口实现方法- DAOFactory(通过DAO工厂实例化)`public static AdminDAOImpl getIAdminDAOInstance() {return new AdminDAOImpl(); `

2.定义业务层操作

    -管理员登录属于后台业务层所以和前台注册,登录分开 保存到    service.back包中-定义IAdminServiceback接口 ` /*** * @Title: login   * @Description: TODO(后台管理员登录操作)   * @param: @param vo* @param: @return* @param: @throws Exception      * @return: boolean      * @throws   调用 findLogin确定密码和用户名正确  doUpdatelastdate更新登录时间*/public boolean login(Admin vo) throws Exception;`-定义AdminServicebackImpl类实现    IAdminServiceback接口

3.编写AdminLoginServletBack类

    -业务实现类

                    注解设置servlet@WebServlet(name = "AdminLoginServletBack", urlPatterns = "/pages/AdminLoginServletBack/*")public class AdminLoginServletBack extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String path = "/pages/errors.jsp";// 获取地址*的部分转换为字符串String status = request.getRequestURI().substring(request.getRequestURI().lastIndexOf("/") + 1);System.out.println(status);if (status != null) {// 为空直接跳转到错误页面//如果登录到后台登录页面if ("login".equals(status)) {path = this.login(request);} else if ("logout".equals(status)) {path = this.logout(request);}}System.err.println("跳转网页" + path);request.getRequestDispatcher(path).forward(request, response);}

                 private String login(HttpServletRequest request) {String msg = null;String url = null;Admin vo = new Admin();String aid = request.getParameter("aid");String password = request.getParameter("password");String code = request.getParameter("code");// 验证码String rand = (String) request.getSession().getAttribute("rand");//判断输入的有内容if (VakidateUtil.VakidateNoEmpty(aid) && VakidateUtil.VakidateNoEmpty(password)&& VakidateUtil.VakidateNoEmpty(code) && VakidateUtil.VakidateNoEmpty(rand)) {//判断验证码必须正确if (VakidateUtil.Vakidatesame(code, rand)) {vo.setAid(aid);vo.setPassword(new MD5Code().MD5Encode(password));try {//判断数据库内容匹配if (ServletBackFactory.getIAdminServiceback().login(vo)) {request.getSession().setAttribute("aid", aid);request.getSession().setAttribute("lastdate", vo.getLastdate());msg = "管理员登录成功";url = "/pages/back/admin/index.jsp";} else {msg = "管理员登录失败,请重新登录";// 该地址不受到过滤器限制url = "/pages/back/login.jsp";}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}} else {msg = "填写信息错误,请重新登录";url = "/pages/forward.jsp";}} else {msg = "验证码错误请重新输入";// 该地址不受到过滤器限制url = "/pages/back/login.jsp";}request.setAttribute("msg", msg);request.setAttribute("url", url);return "/pages/forward.jsp";}

              private String logout(HttpServletRequest request) {request.getSession().invalidate();request.setAttribute("msg", "管理员注销成功");request.setAttribute("url", "/pages/back/login.jsp");return "/pages/forward.jsp";}

4.建立后台登录页面

-略

5.建立管理员登录过滤器

-只检测管理员后台页面   `@WebFilter(filterName="AdminLoginFilter",urlPatterns="/pages/back/admin/*")public class AdminLoginFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {// TODO Auto-generated method stub}@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {HttpServletRequest request2 = (HttpServletRequest) request;// 取得sessionHttpSession hs = request2.getSession();if (hs.getAttribute("aid") != null) {// 没有登陆过// 放过chain.doFilter(request, response);} else {hs.setAttribute("mid", "你还没有登录,请登录");hs.setAttribute("photo", "/pages/back/login.jsp");request.getRequestDispatcher("/pages/forward.jsp").forward(request, response);}}@Overridepublic void destroy() {// TODO Auto-generated method stub}}`

JAVAWeb项目 微型商城项目-------(六)管理员登录相关推荐

  1. 「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

    我的想法很简单,就是做一个大家都能运行的商城项目,而不是缺胳膊少腿的项目,不求有多么完善,也不求有多少技术栈,我目前的想法就是大家都可以运行它.使用它,至于完善它嘛,给我点时间哈. 本项目开源地址: ...

  2. SpringBoot项目电脑商城项目实战(适合刚学完SpringBoot的初学者)

    今天来分享一个SpringBoot项目,该项目是哔哩哔哩袁庭新老师讲的springboot电脑商城项目,里面的东西涉及到很多基础,统一异常处理,统一结果集返回,登录注册,上传文件等. 另外项目里使用的 ...

  3. 基于SpringBoot的项目:商城项目

    1)该博客内容为B站UP主的免费课程,想直接学习该视频的可以点击:传送门.这位老师讲解得很细致. 2)该课程的文档和源码的下载链接为:传送门. 3)本文博客的markdown资源的下载链接为:传送门. ...

  4. [vue移动端项目] 严选商城项目 使用vue+vant做的移动端商城小项目

    文章目录 项目准备 安装 amfe-flexible 安装 第三方插件 postcss-pxtorem 配置vue.config.js reset.css 重置样式表 安装less 预编译语言 安装v ...

  5. Spring Boot 大型线上商城项目实战教程

    写给读者 凭借 Spring Boot 本身的优越性及在企业开发应用中的不断推广普及,该领域技术人才在招聘市场深受欢迎.2018 年 Spring Boot 2 正式版的发布,引起社区对该技术的关注度 ...

  6. Vue3教程:Vue3 开源商城项目重构计划正式启动!

    我打算用 Vue3 写一个商城项目,目前已经开始着手开发,测试完成后正式开源到 GitHub,让大家也可以用现成的 Vue3 大型商城项目源码来练练手. 1 Vue3 来了 今年上半年,我用 Vue ...

  7. Vue+Spring Boot 前后端分离的商城项目开源啦!

    1 新蜂商城 Vue 移动端版本开源啦! 去年开源新蜂商城项目后,就一直在计划这个项目 Vue 版本的改造,2020 年开始开发并且自己私下一直在测试,之前也有文章介绍过测试过程和存在的问题,修改完成 ...

  8. python美多商城项目百度网盘_美多商城项目(六)

    正文共: 4850字 4图 预计阅读时间: 13分钟 每日分享 Never let success get to your head, and never let failure get to you ...

  9. Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十六(商品排序,Thymeleaf快速入门,商品详情页的展示)

    Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十六(商品详情页的展示) 一.商品排序 1.完善页面信息 这是用来做排序的,默认按照综合排序 ...

  10. JavaEE学习日志(七十三): 黑马商城项目(六)

    JavaEE学习日志持续更新----> 必看!JavaEE学习路线(文章总汇) JavaEE学习日志(七十三) 黑马商城项目(六) 今天任务 在线支付 准备工作 前端 OrdersDao Ord ...

最新文章

  1. Qt Creator 运行s60 Emulator
  2. 横流式冷却塔计算风量_研讨丨卓展标准高效制冷机房技术之影响冷却塔效率的几个因素...
  3. 波音737-800座位图哪个好_「科普」汽车哪个座位才安全?很多人都不知道
  4. 收藏 | 使用Pytorch从头实现Canny边缘检测
  5. DOM对象和jquery对象相互转换
  6. java线程池测试,Java线程池【测试Markdown样式】
  7. ML_集成学习与Boosting模型
  8. 话说网页长啥样,到底谁说了算??
  9. html页面上传图片回显,html js 上传图片并回显
  10. 基因编辑最新进展2021年5月
  11. 实现WinForm的DataGridView折叠功能(非原创,仅供收藏)
  12. Fly.js HTTP 请求解决方案
  13. 2021年陕西省安全员C证考试内容及陕西省安全员C证考试资料
  14. 2020年有寓意的领证日期_2020年领证日期怎么选
  15. 【资源】什么是原生广告 What Is Native Advertising?
  16. 知名站长工具服务商:爱站网突然关站
  17. 吉时利keithley2600脉冲信号测试软件,忆阻器测试|半导体测试
  18. geany配置python lint_Linux强大IDE——Geany配置说明
  19. 著作权的内容 | Charmi‘s legal expression
  20. 【翻译】 A survey of transfer learning迁移学习综述

热门文章

  1. 因项目需要做——ubuntu16.04 双网卡绑定
  2. [多媒体] m3u8简介
  3. Windows Azure Storage (5) Windows Azure Drive
  4. C#:WebBrowser中伪造referer,为何对流量统计器无效?
  5. Android UI组件----ListView列表控件详解
  6. 一公司的面试题(泛型和数组的问题)
  7. 3.企业安全建设指南(金融行业安全架构与技术实践) --- 安全规划
  8. 9.企业安全建设入门(基于开源软件打造企业网络安全) --- SOC系统建设
  9. 10. zf workflow
  10. 31. Element previousSibling 属性