| 参数名称 | 类型 | 是否必须 |
|---|---|---|
| num1 | Integer | 是 |
| num2 | Integer | 是 |
响应数据:
calc.html<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>加法计算器</title>
</head>
<body>
<h1>简易计算器</h1>
<!-- 表单提交地址 /calc/sum,请求方式post -->
<form action="calc/sum" method="post">
数字1:<input type="text" name="num1">
数字2:<input type="text" name="num2">
<input type="submit" value="点击相加">
</form>
</body>
</html>
访问地址:http://127.0.0.1:8080/calc.html
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/calc")
public class CalcController {
@RequestMapping("/sum")
public String sum(Integer num1, Integer num2){
Integer total = num1 + num2;
return "<h1>计算结果:" + total + "</h1>";
}
}
| 参数名称 | 类型 | 是否必须 |
|---|---|---|
| username | String | 是 |
| password | String | 是 |
响应数据:
响应内容:
响应数据:
import jakarta.servlet.http.HttpSession;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/user")
public class LoginController {
// 登录校验接口
@RequestMapping("/login")
public boolean login(String userName, String password, HttpSession session){
// 判断账号密码是否为空
if(!StringUtils.hasLength(userName) || !StringUtils.hasLength(password)){
return false;
}
// 模拟数据库账号密码
if("zhangsan".equals(userName) && "123456".equals(password)){
// 登录成功,存入session
session.setAttribute("loginUser", userName);
return true;
}
return false;
}
// 获取当前登录用户
@RequestMapping("/getLoginUser")
public String getLoginUser(HttpSession session){
// getSession(false):无会话不创建新session
String user = (String) session.getAttribute("loginUser");
return user == null ? "" : user;
}
}
注意:
"admin".equals(username)采用AJAX
login.html
<body>
<h1>用户登录</h1>
用户名:<input name="username" type="text" id="username">
密码:<input name="password" type="password" id="password">
<input type="button" value="登录" onclick="login()">
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
<script> function login() {
$.ajax({
type: "post",
url: "user/login",
data: {
username: $("#username").val(),
password: $("#password").val()
},
//http请求成功
success: function(result){
if(result){
//密码正确,跳转
location.href = "index.html";
}else{
//密码错误
alert("账户或密码错误");
} }
});
}
</script>
</body>
index.html
<body>
登录人: <p id="loginUser"></p>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
<script> $.ajax({
type:"get",
url: "/user/getLoginUser",
success:function (username){
$("#loginUser").text(username);
}
})
</script>
</body>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
Lombok主要作用是自动生成get、set、toString等方法,生命周期只在源码阶段。
| 注解 | 作用 |
|---|---|
| @Data | 综合注解:自动生成getter、setter、toString、equals、hashCode、无参构造 |
| @Getter/@Setter | 单独生成get/set方法 |
| @NoArgsConstructor | 无参构造方法 |
| @AllArgsConstructor | 全参构造方法 |
| @NonNull | 属性非空校验 |
注意:
@Data = @Getter+@Setter+toString()+equals()+hashCode()@Data生成的内容非常多,可以使用下面的注解生成具体的函数@Getter/@Setter既是类注解,也是属性注解。放在类上表示对所有属性生成getter和setter方法;放在属性上,表示单独对这个属性生成getter和setter
Content-Type: application/json以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。
您可能感兴趣的文章: