Java Spring登錄練習(xí)詳解
編寫Massage類和User類(方便后面使用)
- Massage類:主要用來表示用戶登錄情況的反饋
- User類:作為查詢到的用戶模板
//---------------------Massage-----------------------
public class Massage {
//登錄成功狀態(tài)碼和提示信息
//此處省略set/get/toString/構(gòu)造器這些方法
private int logincode;
private String loginmsg;
}
//-------------------User.java-----------------------
public class User{
//用戶名和密碼此處省略set/get/toString/構(gòu)造器這些方法
private String uname;
private String upsw;
}
此處省略set/get/toString/構(gòu)造器這些方法,記得生成一下~
三層內(nèi)容
- 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;
//編寫邏輯層對(duì)密碼和用戶名的判斷
public Massage loginCheck(String uname,String psw){
Massage msg=new Massage();
//判斷密碼和賬號(hào)是否為空
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;
}
//對(duì)密碼進(jìn)行判斷
if(user.getUpsw()!=psw){
msg.setLoginmsg("密碼不正確~");
msg.setLogincode(0);
return msg;
}
//以上都沒觸發(fā)則登錄成功
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;
}
}
以上便是主要內(nèi)容了,就差連接數(shù)據(jù)庫(kù)與前端頁(yè)面
編寫測(cè)試文件
public class LoginTest {
@Test
public void test(){
//獲取核心配置文件
ApplicationContext app=new ClassPathXmlApplicationContext("spring.xml");
//獲取Controller對(duì)象
LoginController lg= app.getBean("loginController",LoginController.class);
// Massage msg=lg.controller("admin","admin");
Massage msg=lg.controller("","");
System.out.println(msg);
}
}
結(jié)果展示:密碼和賬號(hào)為空時(shí)

結(jié)果展示:密碼為空時(shí)

結(jié)果展示:登陸成功~

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>
一定要開啟自動(dòng)掃描:在配置文件spring.xml中添加語句:
<context:component-scan base-package="com.yjxxt"></context:component-scan>
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Spring?Boot接口支持高并發(fā)具體實(shí)現(xiàn)代碼
這篇文章主要給大家介紹了關(guān)于Spring?Boot接口支持高并發(fā)具體實(shí)現(xiàn)的相關(guān)資料,在SpringBoot項(xiàng)目中通常我們沒有處理并發(fā)問題,但是使用項(xiàng)目本身還是支持一定的并發(fā)量,需要的朋友可以參考下2023-08-08
Spring裝配Bean之用Java代碼安裝配置bean詳解
這篇文章主要給大家介紹了關(guān)于Spring裝配Bean之用Java代碼安裝配置bean的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10
java Long類型轉(zhuǎn)為String類型的兩種方式及區(qū)別說明
這篇文章主要介紹了java Long類型轉(zhuǎn)為String類型的兩種方式及區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
MyBatis-Plus 修改和添加自動(dòng)填充時(shí)間方式
這篇文章主要介紹了MyBatis-Plus 修改和添加自動(dòng)填充時(shí)間方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08

