中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在java中解決請求跨域

發布時間:2021-05-21 16:23:58 來源:億速云 閱讀:159 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關如何在java中解決請求跨域,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1.使用攔截器,實現javax.servlet.Filter接口

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletResponse;

@WebFilter(filterName="CorsFilter" , urlPatterns="*.do")
public class CorsFilter implements Filter{

 @Override
 public void destroy() {
 }

 @Override
 public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
 throws IOException, ServletException {
 HttpServletResponse response = (HttpServletResponse) resp; 
 response.setHeader("Access-Control-Allow-Origin", "*"); //解決跨域訪問報錯 
  response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE"); 
  response.setHeader("Access-Control-Max-Age", "3600"); //設置過期時間 
  response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, client_id, uuid, Authorization"); 
  response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // 支持HTTP 1.1. 
  response.setHeader("Pragma", "no-cache"); // 支持HTTP 1.0. response.setHeader("Expires", "0"); 
  chain.doFilter(req, resp); 
 
 }

 @Override
 public void init(FilterConfig arg0) throws ServletException {
 }
}

如果想用xml的形式配置攔截器,可以刪除@WebFilter(filterName="CorsFilter" , urlPatterns="*.do"),然后在web.xml中添加下面的配置

<filter>
 <filter-name>CorsFilter</filter-name>
 <filter-class>com.huaming.filter.CorsFilter</filter-class>
</filter>
<filter-mapping>
 <filter-name>CorsFilter</filter-name>
 <url-pattern>*.do</url-pattern>
</filter-mapping>

2.使用注解的形式,配置org.springframework.web.filter.CorsFilter,通常springboot項目多數使用這種方式

import org.springframework.web.filter.CorsFilter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;

/**
 * 解決跨域問題springboot所需配置
 */
@Configuration
public class CORSConfiguration {
 
 @Bean
 public CorsFilter corsFilter() {
 //1.添加CORS配置信息
 CorsConfiguration config = new CorsConfiguration();
 //1) 允許的域,不要寫*,否則cookie就無法使用了
 config.addAllowedOrigin("*");
 config.addAllowedHeader("*"); // 允許任何頭
 config.addAllowedMethod("*"); // 允許任何方法(post、get等)
 //2) 是否發送Cookie信息
 config.setAllowCredentials(true);
 //3) 允許的請求方式
 config.addAllowedMethod("OPTIONS");
 config.addAllowedMethod("HEAD");
 config.addAllowedMethod("GET");
 config.addAllowedMethod("PUT");
 config.addAllowedMethod("POST");
 config.addAllowedMethod("DELETE");
 config.addAllowedMethod("PATCH");
 // 4)允許的頭信息
 config.addAllowedHeader("*");

 // 5)配置有效時長
 config.setMaxAge(3600*24L);

 //2.添加映射路徑,我們攔截一切請求
 UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
 configSource.registerCorsConfiguration("/**", config);

 //3.返回新的CorsFilter.
 return new CorsFilter(configSource); 
 }
}

Java可以用來干什么

Java主要應用于:1. web開發;2. Android開發;3. 客戶端開發;4. 網頁開發;5. 企業級應用開發;6. Java大數據開發;7.游戲開發等。

上述就是小編為大家分享的如何在java中解決請求跨域了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

根河市| 兴安盟| 西贡区| 探索| 新津县| 沙坪坝区| 金门县| 长阳| 东光县| 诸城市| 德格县| 中西区| 万全县| 嘉荫县| 张家港市| 万源市| 台北县| 大同市| 阳曲县| 平顺县| 长海县| 临猗县| 彭阳县| 铜川市| 龙州县| 上栗县| 秦皇岛市| 津南区| 凯里市| 常熟市| 三都| 青岛市| 昌图县| 红河县| 林西县| 竹溪县| 西吉县| 牡丹江市| 邹平县| 丽江市| 怀来县|