java springboot 入門二 (讀取配置文件/過濾器解決跨域問題)


1.讀取配置文件

2.處理跨域問題(過濾器/@CrossOrigin注解)

 

一 讀取配置文件

1.1@Value注解 默認讀取application.properties,中文會亂碼

1.2 @ConfigurationProperties @PropertySource

 

application.properties

server.port=8084

student.sno=007
student.sname=邦德
student.age=40

 

my.properties

student2.sno=007-2
student2.sname=邦德-2
student2.age=40-2
package com.ligy.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class Student {
    @Value("${student.sno}")
    private String sno;
    @Value("${student.sname}")
    private String sname;
    @Value("${student.age}")
    private String age;

    @RequestMapping("/test")
    @ResponseBody
    public String Test() {
        String result = "hello,world";
        String config = "sno=" + sno + "|sname=" + sname + "|age=" + age;

        result += config;

        return result;
    }


}
package com.ligy.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@ConfigurationProperties(prefix = "student2")
@PropertySource(value = "classpath:my.properties", encoding = "UTF-8")
@Component
public class Student2 {
    @Value("${student.sno}")
    private String sno;
    @Value("${student.sname}")
    private String sname;
    @Value("${student.age}")
    private String age;

    public String getSno() {
        return sno;
    }

    public void setSno(String sno) {
        this.sno = sno;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    @RequestMapping("/test2")
    @ResponseBody
    public String Test2() {
        String result = "hello,world";
        String config = "sno=" + sno + "|sname=" + sname + "|age=" + age;

        result += config;

        return result;
    }
}

 

 

 

 

二 處理跨域問題(過濾器、@CrossOrigin注解)

2.1html調用接口,報跨域問題

2.2解決跨域問題

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>菜鳥教程(runoob.com)</title>
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
    </script>
    <script>
        $(document).ready(function(){
            $("button").click(function(){
                $("#div1").load("http://localhost:8084/test2");
            });
        });
    </script>
</head>
<body>

<div id="div1"><h2>使用 jQuery AJAX 修改文本內容</h2></div>
<button>獲取外部內容</button>

</body>
</html>

 coreFilter

package com.ligy;


import org.springframework.stereotype.Component;

import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@Component
public class coreFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void destroy() {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) servletResponse;

        response.setHeader("Access-Control-Allow-Origin", "*");

        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, HEAD");

        response.setHeader("Access-Control-Max-Age", "3600");

        response.setHeader("Access-Control-Allow-Headers", "access-control-allow-origin, authority, content-type, version-info, X-Requested-With");


        filterChain.doFilter(servletRequest, servletResponse);
    }
}

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM