栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SSM米米商城项目笔笔记二(登录业务逻辑实现)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SSM米米商城项目笔笔记二(登录业务逻辑实现)

米米商城项目笔笔记二(登录业务逻辑实现)
  1. Service层业务逻辑实现

    由于在笔记一中已经完成了底层的搭建,所以可以直接上手service层代码的编写

    1. 在service包下创建AdminService业务逻辑层代码

      package com.zcl.service;
      
      import com.zcl.pojo.Admin;
      
      
      public interface AdminService {
          Admin login(String name,String pwd);
      }
      
      
    2. 同包下创建impl包并创建AdminServiceImpl接口实现类

      创建实现类之后一定到使用注解@Service注解,将当前的业务逻辑层的创建对象交给spring,项目启动的时候就会为我们创建对象

      在业务逻辑层一定会使用到mapper层的数据库访问,使用注解@Autowired容器创建mapper的对象

      package com.zcl.service.impl;
      
      import com.zcl.mapper.AdminMapper;
      import com.zcl.pojo.Admin;
      import com.zcl.pojo.AdminExample;
      import com.zcl.service.AdminService;
      import com.zcl.utils.MD5Util;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.stereotype.Service;
      
      import java.util.List;
      
      
      @Service
      public class AdminServiceImpl implements AdminService {
          // 在业务逻辑层中,一定会有数据访问层的对象
      
          @Autowired
          AdminMapper adminMapper;
      
          
          @Override
          public Admin login(String name, String pwd) {
              // 根据闯入的用户名或到DB中查询相应用户对象
              // 如果有条件,则一定要创建AdminExample的对象,用来封装条件
              AdminExample example = new AdminExample();
              
              example.createCriteria().andANameEqualTo(name);
      
              List list = adminMapper.selectByExample(example);
              //判断是否查询搭配数据
              if(list.size() > 0){
                  Admin admin = list.get(0);
                  // 因为密码存储的是密文形式,需要将对比的密码进行同算法加密再跟查询出的数据密码进行对比
                  String md5 = MD5Util.getMD5(pwd);
                  if(md5.equals(admin.getaPass())){
                      return admin;
                  }
              }
              return null;
          }
      }
      
      

      对于封装example数据可能不是很清除,多看两会就好了

  2. Controller层开发
    1. 在controller包下创建AdminAction登录控制器
    2. 在控制器类上使用注解@Controller告诉spring这是一个控制器【很重要】
    3. 在控制器类上使用注解@RequestMapping()设置访问控制器的路径
    4. 在方法上也使用上面3的注解设置访问路径
    5. 控制器需要接收登录名称和登录密码,所以查看登录表单的name属性,控制器上的接收参数一定要对应上,否则无法接受数据
    6. 登录成功之后还需要返回登录的用户信息展示在登录成功的页面或登录失败的提示,所以需要使用到HttpServletRequest传递数据
    package com.zcl.controller;
    
    import com.zcl.pojo.Admin;
    import com.zcl.service.AdminService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import javax.servlet.http.HttpServletRequest;
    
    
    @Controller
    @RequestMapping("/admin")
    public class AdminAction {
        // 所有的控制器,都一定会有Service层的对象
    
        @Autowired
        AdminService adminAction;
    
        @RequestMapping("login")
        public String login(String name, String pwd, HttpServletRequest request){
            Admin admin = adminAction.login(name, pwd);
            // 判断是否有数据
            if(admin!=null){
                request.setAttribute("admin",admin);
                return "main";
            }else{
                request.setAttribute("errmsg","用户名或密码错误请检查");
                return "login";
            }
        }
    }
    
    
  3. TomCat部署服务器
    1. 方式一:本地服务器
    2. 方式二:pox.xml集成服务器
    3. 启动项目:访问http://localhost:8080/admin/login.jsp
    4. 登录后可以正常访问商品管理了
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/877429.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号