JAVAWeb项目 微型商城项目-------(六)管理员登录
管理员登录
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项目 微型商城项目-------(六)管理员登录相关推荐
- 「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目
我的想法很简单,就是做一个大家都能运行的商城项目,而不是缺胳膊少腿的项目,不求有多么完善,也不求有多少技术栈,我目前的想法就是大家都可以运行它.使用它,至于完善它嘛,给我点时间哈. 本项目开源地址: ...
- SpringBoot项目电脑商城项目实战(适合刚学完SpringBoot的初学者)
今天来分享一个SpringBoot项目,该项目是哔哩哔哩袁庭新老师讲的springboot电脑商城项目,里面的东西涉及到很多基础,统一异常处理,统一结果集返回,登录注册,上传文件等. 另外项目里使用的 ...
- 基于SpringBoot的项目:商城项目
1)该博客内容为B站UP主的免费课程,想直接学习该视频的可以点击:传送门.这位老师讲解得很细致. 2)该课程的文档和源码的下载链接为:传送门. 3)本文博客的markdown资源的下载链接为:传送门. ...
- [vue移动端项目] 严选商城项目 使用vue+vant做的移动端商城小项目
文章目录 项目准备 安装 amfe-flexible 安装 第三方插件 postcss-pxtorem 配置vue.config.js reset.css 重置样式表 安装less 预编译语言 安装v ...
- Spring Boot 大型线上商城项目实战教程
写给读者 凭借 Spring Boot 本身的优越性及在企业开发应用中的不断推广普及,该领域技术人才在招聘市场深受欢迎.2018 年 Spring Boot 2 正式版的发布,引起社区对该技术的关注度 ...
- Vue3教程:Vue3 开源商城项目重构计划正式启动!
我打算用 Vue3 写一个商城项目,目前已经开始着手开发,测试完成后正式开源到 GitHub,让大家也可以用现成的 Vue3 大型商城项目源码来练练手. 1 Vue3 来了 今年上半年,我用 Vue ...
- Vue+Spring Boot 前后端分离的商城项目开源啦!
1 新蜂商城 Vue 移动端版本开源啦! 去年开源新蜂商城项目后,就一直在计划这个项目 Vue 版本的改造,2020 年开始开发并且自己私下一直在测试,之前也有文章介绍过测试过程和存在的问题,修改完成 ...
- python美多商城项目百度网盘_美多商城项目(六)
正文共: 4850字 4图 预计阅读时间: 13分钟 每日分享 Never let success get to your head, and never let failure get to you ...
- Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十六(商品排序,Thymeleaf快速入门,商品详情页的展示)
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十六(商品详情页的展示) 一.商品排序 1.完善页面信息 这是用来做排序的,默认按照综合排序 ...
- JavaEE学习日志(七十三): 黑马商城项目(六)
JavaEE学习日志持续更新----> 必看!JavaEE学习路线(文章总汇) JavaEE学习日志(七十三) 黑马商城项目(六) 今天任务 在线支付 准备工作 前端 OrdersDao Ord ...
最新文章
- Qt Creator 运行s60 Emulator
- 横流式冷却塔计算风量_研讨丨卓展标准高效制冷机房技术之影响冷却塔效率的几个因素...
- 波音737-800座位图哪个好_「科普」汽车哪个座位才安全?很多人都不知道
- 收藏 | 使用Pytorch从头实现Canny边缘检测
- DOM对象和jquery对象相互转换
- java线程池测试,Java线程池【测试Markdown样式】
- ML_集成学习与Boosting模型
- 话说网页长啥样,到底谁说了算??
- html页面上传图片回显,html js 上传图片并回显
- 基因编辑最新进展2021年5月
- 实现WinForm的DataGridView折叠功能(非原创,仅供收藏)
- Fly.js HTTP 请求解决方案
- 2021年陕西省安全员C证考试内容及陕西省安全员C证考试资料
- 2020年有寓意的领证日期_2020年领证日期怎么选
- 【资源】什么是原生广告 What Is Native Advertising?
- 知名站长工具服务商:爱站网突然关站
- 吉时利keithley2600脉冲信号测试软件,忆阻器测试|半导体测试
- geany配置python lint_Linux强大IDE——Geany配置说明
- 著作权的内容 | Charmi‘s legal expression
- 【翻译】 A survey of transfer learning迁移学习综述
热门文章
- 因项目需要做——ubuntu16.04 双网卡绑定
- [多媒体] m3u8简介
- Windows Azure Storage (5) Windows Azure Drive
- C#:WebBrowser中伪造referer,为何对流量统计器无效?
- Android UI组件----ListView列表控件详解
- 一公司的面试题(泛型和数组的问题)
- 3.企业安全建设指南(金融行业安全架构与技术实践) --- 安全规划
- 9.企业安全建设入门(基于开源软件打造企业网络安全) --- SOC系统建设
- 10. zf workflow
- 31. Element previousSibling 属性