Java Spring登錄練習詳解

編寫Massage類和User類(方便後面使用)

  • Massage類:主要用來表示用戶登錄情況的反饋
  • User類:作為查詢到的用戶模板
//---------------------Massage-----------------------
public class Massage {
    //登錄成功狀態碼和提示信息
    //此處省略set/get/toString/構造器這些方法
    private int logincode;
	private String loginmsg;
}
//-------------------User.java-----------------------
public class User{
//用戶名和密碼此處省略set/get/toString/構造器這些方法
    private String uname;
    private String upsw;
}

此處省略set/get/toString/構造器這些方法,記得生成一下~

三層內容

  • UserController.java
  • UserService.java
  • UserDao.java
//-----------------UserDao.java----------------------
@Repository
public class LoginDao {
    //定義用戶名和密碼
    private final String UNAME="admin";
    private final String UPSW="admin";
    //通過用戶名查詢
    public User bynameselectpsw(String name){
        //判讀是否是空值
        if(name!=null && name.length()!=0 && UNAME.equals(name)){
            User user=new User();
            user.setUname(UNAME);
            user.setUpsw(UPSW);
            return user;
        }
        return null;
    }
}
//-----------------UserService.java------------------
@Service
public class LoginService {
    @Autowired
    LoginDao dao;
    //編寫邏輯層對密碼和用戶名的判斷
    public  Massage loginCheck(String uname,String psw){
        Massage msg=new Massage();
        //判斷密碼和賬號是否為空
        if(uname==null || uname.length()==0){
            msg.setLoginmsg("用戶名不能為空");
            msg.setLogincode(0);
            return msg;
        }
        if(psw==null || psw.length()==0){
            msg.setLoginmsg("密碼不能為空");
            msg.setLogincode(0);
            return msg;
        }
        //判斷是否有此用戶
        User user=dao.bynameselectpsw(uname);
        System.out.println(user);
        if(user==null){
            msg.setLoginmsg("無此用戶~");
            msg.setLogincode(0);
            return msg;
        }
        //對密碼進行判斷
        if(user.getUpsw()!=psw){
            msg.setLoginmsg("密碼不正確~");
            msg.setLogincode(0);
            return msg;
        }
        //以上都沒觸發則登錄成功
        msg.setLoginmsg("登錄成功~");
        msg.setLogincode(1);
        return msg;
    }
}
//-----------------UserController.java---------------
@Controller
public class LoginController  {
    @Autowired
    LoginService service;
    public Massage controller(String name, String psw){
        Massage msg=service.loginCheck(name,psw);
        return msg;
    }
}

以上便是主要內容瞭,就差連接數據庫與前端頁面

編寫測試文件

public class LoginTest {
    @Test
    public void test(){
        //獲取核心配置文件
        ApplicationContext app=new ClassPathXmlApplicationContext("spring.xml");
        //獲取Controller對象
        LoginController lg= app.getBean("loginController",LoginController.class);
       // Massage msg=lg.controller("admin","admin");
        Massage msg=lg.controller("","");
        System.out.println(msg);
    }
}

結果展示:密碼和賬號為空時

在這裡插入圖片描述

結果展示:密碼為空時

在這裡插入圖片描述

結果展示:登陸成功~

在這裡插入圖片描述

pom.xml和spring.xml配置

 <!-- 添加Spring框架的核心依賴 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.2.4.RELEASE</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api -->
    <dependency>
      <groupId>javax.annotation</groupId>
      <artifactId>javax.annotation-api</artifactId>
      <version>1.3.2</version>
    </dependency>

一定要開啟自動掃描:在配置文件spring.xml中添加語句:

<context:component-scan base-package="com.yjxxt"></context:component-scan>

總結

本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: