Pertanyaan Cara menambahkan Access-Control-Allow-Origin ke server jetty


Saya punya server jetty untuk menjalankan layanan web saya. Baru-baru ini saya mengembangkan program untuk mengkonsumsi layanan web dan mengalami masalah Access-Control-Allow-Origin.

Bagaimana saya bisa menambahkan Access-Control-Allow-Origin: * ke server tertanam jetty.

di bawah ini adalah kode webappcontext.

public WebAppContext buildWebAppContext(){
    webAppContext = new WebAppContext();
    webAppContext.setDescriptor(webAppContext + "/WEB-INF/web.xml");
    webAppContext.setResourceBase(".");
    webAppContext.setContextPath("/posApplication");
    webAppContext.setAttribute("webContext", webAppContext);
    return webAppContext;
}

Terima kasih.


6
2018-04-16 12:51


asal


Jawaban:


Siapkan org.eclipse.jetty.servlets.CrossOriginFilter di aplikasi web Anda.

Pertanyaan / jawaban lama tentang topik: https://stackoverflow.com/a/8454168/775715

Lihat Jetty Hub Dokumentasi di Penggunaan CrossOriginFilter:

Mulai cepat

  1. Ambil sendiri salinannya jetty-servlets.jar.

  2. Menempatkan jetty-servlets.jar di dalam kamu WEB-INF/lib

  3. Tambahkan yang berikut ini ke Anda WEB-INF/web.xml

<filter>
    <filter-name>cross-origin</filter-name>
    <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
    <init-param>
        <param-name>allowedOrigins</param-name>
        <param-value>*</param-value>
    </init-param>
    <init-param>
        <param-name>allowedMethods</param-name>
        <param-value>GET,POST,HEAD</param-value>
    </init-param>
    <init-param>
        <param-name>allowedHeaders</param-name>
        <param-value>X-Requested-With,Content-Type,Accept,Origin</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>cross-origin</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

12
2018-04-16 17:38



Solusi untuk masalah CORS ini adalah menggunakan ekstensi di browser chrome / chromium. di sini adalah tautan untuk ekstensi.

https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?utm_source=chrome-app-launcher-info-dialog

Tidak perlu menambahkan header apa pun di kode sisi server (yang jelas akan berfungsi tetapi mungkin bukan ide yang baik).


1
2018-05-17 06:45