ssm框架之登陆平台功能

让人想犯罪 __ 提交于 2020-03-01 17:28:24

首先打开idea创建项目搭建框架。
在这里插入图片描述
登陆平台功能 需要验证账号密码 而且有三种状态 登陆成功/账号不存在或账号错误/密码错误

判断账号是否存在 需要查询全部账号
然后进行查找判断

配置sql语句的 UserinfoMapper.xml
在这里插入图片描述
SQL语句需要开发者自定义,这里面就是配置sql语句的文件,sql语句都写这里面!!!

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.gongmao.dao.IUserInfoDao" >
    <!--登陆-->
    <select id="doLogin" parameterType="String" resultType="com.gongmao.bean.UserInfo">
        select * from tb_user where username=#{username}
    </select>
    <!--全部查询-->
    <select id="findAll" resultType="com.gongmao.bean.UserInfo">
        select * from tb_user
    </select>
</mapper>

接下来开始写Java部分了!!!
在这里插入图片描述

  1. 数据库访问层(这里我使用了查询结果的分页,关于分页插件的使用方法请听下回分解)
public interface IUserInfoDao {

    //验证登陆
    //查询Select
    UserInfo doLogin(String username);

    //全部查询
    List<UserInfo> findAll();
  1. 业务逻辑层
public interface IUserInfoService {
    
    //登陆
    UserInfo doLogin(String username);

    //全部查询
    List<UserInfo> findAll(Integer page,Integer size);
  1. UserInfoServiceImpl
@Service
public class UserInfoServiceImpl implements IUserInfoService {

    //通过对象名
    //@Resource(name="u1")
    // 通过类名去注入
    @Autowired
    private IUserInfoDao userInfoDao;
    
    //登陆
    @Override
    public UserInfo doLogin(String username) {
        return userInfoDao.doLogin(username);
    }

    //分页查询
    @Override
    public List<UserInfo> findAll(Integer page,Integer size) {
        PageHelper.startPage(page,size);
        return userInfoDao.findAll();
    }
  1. 表现层/控制器
@Controller
@RequestMapping("/user")
public class UserInfoController {

    @Autowired
    private IUserInfoService userInfoService;
    
    //登陆
    @RequestMapping("/doLogin.do")
    public ModelAndView doLogin(String username, String password, ModelAndView modelAndView){
        //1.调用service,查询得到结果
        UserInfo userInfo = userInfoService.doLogin(username);

        //2.判断
        if (userInfo != null){
            if (userInfo.getPassword().equals(password)){
                System.out.println("密码正确,登陆成功!");
                String name=username;
                modelAndView.addObject("name",name); //添加到模型对象(可以为null)
                modelAndView.setViewName("aside");//跳转到指定的页面 跳转方式转发
                modelAndView.setViewName("main");
            }else {
                System.out.println("密码错误,登陆失败!");
                modelAndView.addObject("type","密码错误,登陆失败");
                modelAndView.setViewName("../login");
            }
        }else{
            System.out.println("用户不存在,请重新输入");
            System.out.println(userInfo);
            modelAndView.addObject("type","用户不存在,请重新输入");
            modelAndView.setViewName("../login");
        }
        return modelAndView;
    }
    
    //全部查询
    //所有需要返回数据到页面显示的全部都需要封装到ModeAndView中
    @RequestMapping("/findAll.do")
    public ModelAndView findAll(@RequestParam(defaultValue = "1") Integer page,
                                @RequestParam(defaultValue = "5") Integer size){
        //调用service中的方法,得到查询的结果
        List<UserInfo> userInfoList=userInfoService.findAll(page,size);

        //把得到的数据存放到PageInfo中
        PageInfo pageInfo=new PageInfo(userInfoList);

        ModelAndView mv=new ModelAndView();
        mv.addObject("pageInfo",pageInfo);
        mv.setViewName("user-list");
        return mv;
    }

然后就是js部分了!!!
在这里插入图片描述
找到
在这里插入图片描述
填写完整在这里插入图片描述
${pageContext.request.contextPath}/user/doLogin.do
为啥是doLogin.do 因为在控制器层 登陆功能的方法调用
在这里插入图片描述
登陆功能完结撒花!!!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!