`

允许跨域访问的过滤器

    博客分类:
  • java
 
阅读更多

在web.xml文件中加入一个过滤器:

<filter>
		<filter-name>CorsFilter</filter-name>
		<filter-class>cn.test.CorsFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>CorsFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

 过滤器如下

package cn.test;

import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
 
 
public class CorsFilter implements Filter {
 
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
 
    }
 
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
       System.out.println("允许跨域");
    	HttpServletResponse httpResponse = (HttpServletResponse) servletResponse;
        httpResponse.addHeader("Access-Control-Allow-Origin", "*");
        httpResponse.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
        httpResponse.setHeader("Access-Control-Allow-Methods", "GET, PUT, DELETE, POST");
        filterChain.doFilter(servletRequest, servletResponse);
    }
 
    @Override
    public void destroy() {
 
    }
}

 因为今天装了个swaggerapi/swagger-ui,装的docker镜像

写道
sudo docker pull swaggerapi/swagger-ui
sudo docker run -p 80:8080 swaggerapi/swagger-ui

 然后不知道把想显示的json传上去,所以只好又起了个服务,用来提供json让swagger-ui,这时就需要解决跨域问题了。

分享到:
评论

相关推荐

    js+jsp+json+tomcat跨域访问

    在JSP页面中,需要设置响应头允许跨域访问。可以使用以下代码: ```jsp response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, ...

    js跨域访问后台

    例如,在Java的Spring框架中,可以通过过滤器或注解来设置这些响应头。 ### 总结 本文主要介绍了JS跨域访问后台的相关知识点,包括了跨域的概念、原因、解决方案以及具体的实现方法。通过理解和应用这些知识点,...

    解决跨域过滤器CORSFilter

    当浏览器检测到相应的CORS响应头时,会允许跨域请求的执行。 1. CORS的基本原理: CORS包含两个阶段:预检请求(Preflight Request)和实际请求。预检请求是浏览器首先发送一个OPTIONS请求,检查服务器是否允许...

    springmvc跨域处理和过滤器方式跨域处理主要代码

    Spring MVC提供了多种解决跨域问题的方法,其中两种常见的策略是使用CORS(Cross-Origin Resource Sharing)配置和Filter过滤器。 ### CORS配置 CORS是一种标准的W3C规范,它允许服务器放宽同源策略的限制。在...

    CORS跨域访问框架jra包

    接着,配置过滤器的初始化参数,比如设置允许的源、方法、头部和凭证。 ```xml &lt;filter-name&gt;CORSFilter &lt;filter-class&gt;com.thetransactioncompany.cors.CORSFilter&lt;/filter-class&gt; &lt;param-name&gt;cors....

    服务端跨域访问处理.rar

    "cors-filter-1.7.1.jar"是实现CORS过滤器的库,它允许我们定义哪些请求可以跨域访问我们的服务。"java-property-utils-1.9.1.jar"则是辅助库,可能用于读取配置或处理属性文件。将这两个jar包添加到项目的类路径中...

    Spring Boot实现跨域访问实现代码

    本文将通过实例代码,介绍 Spring Boot 实现跨域访问的知识,并详细介绍 Spring Boot 服务器端设置允许跨域访问的方法。 首先,需要了解什么是跨域访问。跨域访问是指从一个域名下的网页去请求另一个域名下的资源,...

    关于过滤器和监听器的使用模板

    过滤器是Servlet规范的一部分,允许开发者在请求到达目标资源(如Servlet或JSP页面)之前和之后进行拦截和处理。它主要执行以下任务: 1. **数据转换**:例如,将文本格式的数据转换为XML或JSON。 2. **安全控制**...

    tomcat跨域访问问题

    当Tomcat服务器返回的响应头中包含`Access-Control-Allow-Origin`字段,且其值与请求的源匹配时,浏览器才会允许跨域访问。 解决Tomcat的跨域问题有几种方法: 1. **修改web.xml配置**:在Tomcat的每个Web应用的...

    过滤器或拦截器跨域CORS处理

    在这个场景下,它会在响应中添加必要的CORS头,如`Access-Control-Allow-Origin`、`Access-Control-Allow-Methods`和`Access-Control-Allow-Headers`等,允许指定的源进行跨域访问。 1. 实现`doFilter`方法,对每个...

    JAVA的AJAX跨域访问

    在Java的Servlet容器中,可以通过修改Servlet过滤器或直接在Servlet中添加响应头来实现CORS支持。以下是一个示例代码片段,展示了如何在Servlet中设置CORS响应头: ```java protected void doGet...

    几个有用的过滤器 小技巧

    在Java EE开发中,过滤器(Filter)是一个非常重要的组件,它允许我们在数据处理和请求转发之间进行干预,实现如登录验证、字符编码转换、日志记录等多种功能。本资源包含了一些实用的过滤器小技巧,以下是这些过滤...

    cesium在Tomcat部署后,跨域访问问题解决.zip

    在这个Context元素内,添加`&lt; Valve &gt;`子元素,配置CORS过滤器。例如: ```xml allowCredentials="true" allowedHeaders="*" allowedMethods="GET, POST, PUT, DELETE, OPTIONS" allowedOrigins="*" /&gt; `...

    ASP.NET MVC中设置跨域访问问题

    在ASP.NET MVC框架中,跨域访问问题是一个常见的开发挑战,主要是由于浏览器的同源策略所限制。同源策略规定,JavaScript只能与相同协议、主机和端口的资源进行交互,以防止恶意脚本跨站执行。然而,在实际应用中,...

    arcgis api for js 4.x 在tomcat离线部署后,跨域访问问题

    过滤器中设置允许的源和请求头,并在请求处理之前添加相应的响应头。 解决跨域问题后,还需要确保 ArcGIS API for JS 4.x 的配置正确。可能需要调整服务端口、URL等,以确保与Tomcat服务器的通信畅通。此外,对于...

    ArcGIS Server10.2.1跨域设置.7z

    3. **配置CORS策略**:在ArcGIS Server的管理界面或通过REST API设置跨域策略,可能需要指定哪些服务允许跨域访问,以及允许的HTTP方法(GET、POST等)。 4. **重启服务**:保存更改后,重启ArcGIS Server以使新配置...

    Geoserver解决Tomcat跨域问题文件.rar

    在描述中提到的文件——"cors-filter-1.7.jar"和"java-property-utils-1.9.jar"是用于实现跨域资源共享(CORS)过滤器的关键组件。CORS是一种机制,它使用额外的HTTP头部来告诉浏览器允许一个域上的Web应用访问另一...

    tomcat跨域访问

    "tomcat跨域访问"这个主题就是关于如何配置Tomcat服务器,使其允许来自不同源(比如Vue.js开发环境)的跨域请求。 首先,理解同源策略是关键。同源策略是浏览器的一项安全机制,它限制了Web页面只能读取来自同一源...

    跨域访问禁止以及使用JSONP实现跨域的示例

    在两个Tomcat服务器之间进行跨域访问演示,我们可以设置CORS(Cross-Origin Resource Sharing)头信息,允许特定的跨域请求。在Tomcat的配置文件(如server.xml)中,我们可以通过添加过滤器或在Servlet中设置响应头...

Global site tag (gtag.js) - Google Analytics