亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

如何在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

延边| 依兰县| 隆尧县| 岑溪市| 仲巴县| 万宁市| 芮城县| 城固县| 凉山| 宁都县| 丽江市| 清苑县| 东明县| 梁平县| 玉树县| 冀州市| 将乐县| 三明市| 五莲县| 石首市| 建瓯市| 诸暨市| 舒兰市| 克拉玛依市| 区。| 北流市| 海丰县| 铜鼓县| 邯郸市| 军事| 甘孜县| 南丰县| 蒙自县| 长乐市| 景泰县| 雷山县| 宁国市| 平果县| 廊坊市| 通化市| 原阳县|