How to set the domain? of cookie in the vue+java local localhost address java of the front-end and back-end separation project

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 "";
    }
}



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 "";
    }
}


Menu