java后台解决跨域问题

摘要:
解决跨域问题的方式有很多,这里主要是添加注解的方式和采用添加拦截器的方法:方法一、springboot中只用在Controller类上添加一个“@CrossOrigin“注解就可以实现对当前controller的跨域访问了,当然这个标签也可以加到方法上。@CrossOriginpublicclassCommonController{}其他controller类继承以上这个类就可以解决跨域问题。注意

解决跨域问题的方式有很多,这里主要是添加注解的方式和采用添加拦截器的方法:

方法一、spring boot中只用在Controller类上添加一个“@CrossOrigin“注解就可以实现对当前controller 的跨域 访问了,当然这个标签也可以加到方法上。

@CrossOrigin
public classCommonController {

}

其他controller类继承以上这个类就可以解决跨域问题。

注意:“@CrossOrigin“注解要求jdk1.8以上版本

方法二、采用添加拦截器的方法

@Configuration
public class WebConfig extendsWebMvcConfigurerAdapter {
    @Autowired
    privateEnvConfig envConfig;
    @Override
    public voidaddInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(newHandlerInterceptor() {
            @Override
            public booleanpreHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
                    throwsException {
                boolean isTrue =envConfig.getIsDev();//判断是测试服才需要解决跨域问题
                if(isTrue) {
                    response.addHeader("Access-Control-Allow-Origin", "*");
response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS"); response.addHeader(
"Access-Control-Allow-Headers", "Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,token"); } return true; } @Override public voidpostHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throwsException { } @Override public voidafterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throwsException { } }); }
}

免责声明:文章转载自《java后台解决跨域问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇fastJSON 使用总结10,golang 错误处理,panic终止程序执行慎用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Spring Security4.1.3实现拦截登录后向登录页面跳转方式(redirect或forward)返回被拦截界面

一、看下内部原理 简化后的认证过程分为7步: 用户访问网站,打开了一个链接(origin url)。 请求发送给服务器,服务器判断用户请求了受保护的资源。 由于用户没有登录,服务器重定向到登录页面 填写表单,点击登录 浏览器将用户名密码以表单形式发送给服务器 服务器验证用户名密码。成功,进入到下一步。否则要求用户重新认证(第三步) 服务器对用户拥有的权...

Metasploit后门渗透Linux系统以及跨平台后门生成

Metasploit后门渗透Linux系统以及跨平台后门生成 Metasploit后门渗透Linux系统以及跨平台后门生成1.Metasploit对目标主机SSH爆破1.1爆破过程2.PHP后门生成3.JAVA后门生成4.LINUX后门生成5.Android后门生成☛参考文档☛2019-08-28 14:27:50 星期三 TOC 1.Metaspl...

python基础学习十 logging模块详细使用【转载】

  很多程序都有记录日志的需求,并且日志中包含的信息既有正常的程序访问日志,还可能有错误、警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等; 使用logging的优势: a)你可以控制消息的级别,过滤掉那些并不重要的消息。 b)你...

***微信 该连接无法访问问题解决办法

微信开发是提示: 该连接无法访问问题解决办法 解决: 1、第一个修改接口权限中的域名为你的业务服务器的域名 2、请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。 主要涉及的是 网页授权获取用户基本信息 http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.h...

ASP.NET中Get和Post的用法 Request.QueryString,Request.Form,Request.Params的区别

表单form的提交有两种方式,一种是get的方法,一种是post 的方法.看下面代码,理解ASP.NET Get和Post两种提交的区别:   代码 view plaincopy to clipboardprint?< form id="form1" method="get" runat="server"> < div>...

[OAuth]基于DotNetOpenAuth实现Client Credentials Grant

Client Credentials Grant是指直接由Client向Authorization Server请求access token,无需用户(Resource Owner)的授权。比如我们提供OpenAPI让大家可以获取园子首页最新随笔,只需验证一下Client是否有权限调用该API,不需要用户的授权。而如果Client需要进行发布博客的操作,就...