1. 程式人生 > >ssm框架登入驗證

ssm框架登入驗證

整體思路: 1、不輸入名字,提示:請輸入使用者名稱 2、輸入名字,分兩種情況:不管輸不輸入密碼,都會先判斷使用者是否存在

  • 01、使用者不存在,不用判斷密碼了 提示:使用者不存在
  • 02、使用者存在,判斷密碼 密碼錯誤:提示密碼錯誤 密碼正確:重定向到指定頁面

實現步驟如下: 一、User類:

 private Integer id;
    private String name;
    private Integer age;
    private String sex;
    private String password;
    get、set方法省略、、、

二、Controller類(主要程式碼)

 @RequestMapping("login")
    public String login(@Param("name")String name,@Param("password")String password,Model model) {
        User user=userService.checkUser(name, password);
        if(name==null||"".equals(name)){  //沒有輸入姓名
            model.addAttribute("msg1","請輸入姓名");
        }else if(user==null||"".trim().equals(user)){ //輸入姓名但是姓名錯誤
            model.addAttribute("msg1","賬戶不存在,請先註冊");
            return "login";
        }else if(user!=null &(password==null||"".equals(password))){ //姓名正確,但沒有輸入密碼
            model.addAttribute("msg2","請輸入密碼");
        }else if(user!=null &!(user.getPassword().equals(password))) { //姓名正確,輸入密碼,但是密碼錯誤
            model.addAttribute("msg2","密碼錯誤");

        }else if (user!=null &user.getPassword().equals(password)){ //姓名密碼均正確
            return "redirect:/user/getAllUser";
        }
        return "login";
    }

三、Service介面實現類(Service介面類省略了)

@Service("userService")
public class UserServiceImpl implements IUserService {
    @Resource
    private IUserDao userDao;
 @Override
    public User checkUser(String name, String password) {
        return userDao.checkUser(name);
    }
}

四、Dao介面類

public interface IUserDao {
  public User checkUser(String name);
}

五、UserDao.xml

<?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">

<!-- 設定為IUserDao介面方法提供sql語句配置 -->
<mapper namespace="com.ssm.dao.IUserDao">
    <select id="checkUser" resultType="com.ssm.model.User" parameterType="String">
        select id,name,sex,age,password from user where name=#{name}
    </select>

</mapper>

六、login.jsp 登入失敗會有提示返回給jsp頁面, ${msg}用來接收返回來的錯誤資訊 登陸成功以後,轉到getAllUser,獲取全部使用者資訊

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>使用者登入</title>
</head>
<body>
<div style="width:100%;text-align:center">
    <h1>使用者登入</h1>
    <form action="${pageContext.request.contextPath }/user/login"  method="post">
        <span>${msg1}</span><br>
        姓名: <input type="text" name="name" ><br>
        <span>${msg2}</span><br>
        密碼: <input type="text" name="password"><br>
        <input type="submit" value="登入">
        <br>
    </form>
</div>
</body>
</html>

主要程式碼就是這樣,其他程式碼和上個專案一樣,只不過新增一個登入驗證就ok了