前言:前面的一节中讲了用idea创建SpringBoot项目,并且开发了登录的页面,这一节就讲后台登陆的编码
搭建后台
- 创建实体类User,在有@SpringBootApplication标记的主类的同级中创建一个po包,然后创建一个User类,代码如下:
package com.ldc.org.project.po;
public class User {
int id;
String username;
String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
这个类用于封装用户的信息,当然实际项目中肯定没有那么简单,这里只是简单建一个实体类
- 然后就是创建相应客户端的实体类了,在于po包同级中创建result包,然后在包中创建一个名字为Result的实体类,代码如下:
package com.ldc.org.project.result;
/**
* 响应前端实体类
*/
public class Result {
//响应码
private int code;
// 响应的信息
private String message;
// 响应的数据
private Object Object;
public Result(int code,String message,Object Object) {
this.code = code;
this.message = message;
this.Object = Object;
}
public Result(int code,String message) {
this.code = code;
this.message = message;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Object getObject() {
return Object;
}
public void setObject(Object Object) {
Object = Object;
}
}
这个类的具体作用已经在代码中解释得很清楚了,这里就不再赘述了
- 并且在次包中创建一个Response枚举用于响应状态码信息得封装,代码如下:
package com.ldc.org.project.result;
/**
* 创建一个响应得状态码以及相应信息得枚举类
*/
public enum Response {
SUCCESS(200,"请求成功!"),
SERVERFAIL(500,"服务器异常!"),
NOTFOUND(404,"找不到请求资源!"),
;
private Response(int code, String message) {
this.code = code;
this.message = message;
}
private int code;
private String message;
public int getCode() {
return code;
}
public String getMessage() {
return message;
}
}
然后就是获得请求了,在同级包中再创建一个包名字为controller,然后再创建一个名字为LoginController得类来处理用户得请求,代码如下:
package com.ldc.org.project.controller;
import com.ldc.org.project.po.User;
import com.ldc.org.project.result.Response;
import com.ldc.org.project.result.Result;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.util.HtmlUtils;
import java.util.Objects;
@Controller
public class LoginController {
@CrossOrigin
@PostMapping(value = "demo/login")
@ResponseBody
public Result login(@RequestBody User user) {
String username = user.getUsername();
if (!Objects.equals("admin", username) || !Objects.equals("admin", user.getPassword())) {
String message = "账号密码错误";
return new Result(Response.SUCCESS.getCode(),Response.SUCCESS.getMessage());
} else {
return new Result(Response.SERVERFAIL.getCode(),Response.SERVERFAIL.getMessage());
}
}
}
这里就直接设定死登陆得账号密码,因为还没有于数据库交互,然后直接返回。
- 然后再application.properties中配置端口号
server.port=8080
测试项目
启动项目,然后访问:localhost:8080/#/login,如下登陆页面
输入admin/admin,然后直接跳转到主页,若是输入其它,则不跳转
说明测试成功,到此为止这个基本就跑通了,然后还会继续,敬请期待
更多得教程请关注:非科班得科班