has been resolved
https://blog.csdn.net/heatdea.
https://blog.csdn.net/weixin_.
Code:
vue:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no">
<title>hello world</title>
</head>
<body>
<div id="app">
<h1>hello world</h1>
: <input type="text" v-model="username">
<button @click="submit"></button>
</div>
</body>
<script src="../static/js/vue.js"></script>
<script src="../static/js/axios.min.js"></script>
<script>
axios.defaults.baseURL = "http://localhost:8066"
axios.defaults.withCredentials=true;
new Vue({
el: "-sharpapp",
data() {
return {
username: ""
}
},
methods: {
submit() {
axios.post("login", {
username: this.username
}).then(function (response) {
console.log(response);
}).catch(function (error) {
console.log(error);
});
}
}
})
</script>
</html>
background java:
Cross-domain configuration:
@Configuration
public class CrossConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
//
registry.addMapping("/**")
//
.allowedOrigins("*")
//
.allowCredentials(true)
//
.allowedMethods("*")
//
.maxAge(3600);
}
}
cookieutil:
public class CookieUtils {
public static String getCookie(HttpServletRequest request, String cookieName) {
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals(cookieName)) {
return cookie.getValue();
}
}
}
return null;
}
public static void writeCookie(HttpServletResponse response, String cookieName, String value) {
Cookie cookie = new Cookie(cookieName, value);
cookie.setPath("/");
cookie.setMaxAge(5 * 60);
response.addCookie(cookie);
}
}
controller:
@RestController
public class LoginController {
final String TOKENX = "1234";
@PostMapping("login")
public String queryPoolList(@RequestBody User user, HttpServletResponse response,
@CookieValue(value = "token", required = false) String token) {
if (token == null) {
CookieUtils.writeCookie(response, "token", TOKENX);
} else {
System.out.println(token);
}
//
return "";
}
}