当前位置: 首页 > 知识库问答 >
问题:

SpringMVC 4.2 CORS回归403

聂华翰
2023-03-14

我创建了一个清新简单的Spring MVC应用程序(用的是4.2.1.Release,现在切换到4.2.7.Release)。这个应用很简单:

网络。XML:

<servlet>
        <servlet-name>proxy</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>

    <init-param>
        <param-name>dispatchOptionsRequest</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:my-cool-context.xml</param-value>
    </init-param>        
</servlet>
<servlet-mapping>   
    <servlet-name>proxy</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

背景:

<context:component-scan base-package="my.supercool.company.app"/>
<mvc:cors>
    <mvc:mapping path="/**" allowed-methods="POST, OPTIONS" />
</mvc:cors>

和控制器

@Controller
@RequestMapping("/")
@CrossOrigin
public class MySupercoolController {
    @CrossOrigin
    @RequestMapping(path="test", method = RequestMethod.POST)
    @ResponseBody   
    private ResponseEntity<String> executePostProxy(HttpServletRequest request){
         return new ResponseEntity<String>("TEST", HttpStatus.OK);
    }
}

现在——控制器本身正在工作并返回我的文本,因此控制器被加载到上下文中。但是该endpoint的preflightRequest得到了403禁止响应,并且没有设置CORS响应heaeders。我正在使用JBOSS,但是我已经验证了OPTIONS请求到达Spring(正在执行FrameworkServlet doOptions方法,通过调试器检查)。在spring MVC中,我还应该为CORS配置什么吗?

顺便说一句,上下文CORS-config和Annotation-config-我试图让它工作,所以我尝试使用xml、Annotation和两者。

共有1个答案

唐高卓
2023-03-14

看来,这也是必要的:

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**");
    }
}
 类似资料:
  • 回归方法是对数值型连续随机变量进行预测和建模的监督学习算法。其特点是标注的数据集具有数值型的目标变量。 常用的回归方法包括 线性回归:使用超平面拟合数据集 最近邻算法:通过搜寻最相似的训练样本来预测新样本的值 决策树和回归树:将数据集分割为不同分支而实现分层学习 集成方法:组合多个弱学习算法构造一种强学习算法,如随机森林(RF)和梯度提升树(GBM)等 深度学习:使用多层神经网络学习复杂模型

  • 1 保序回归   保序回归解决了下面的问题:给定包含n个数据点的序列 y_1,y_2,...,y_n , 怎样通过一个单调的序列 beta_1,beta_2,...,beta_n 来归纳这个问题。形式上,这个问题就是为了找到   大部分时候,我们会在括号前加上权重w_i。解决这个问题的一个方法就是 pool adjacent violators algorithm(PAVA) 算法。粗略的讲,PA

  • 1 基本概念 1.1 生存数据   生存数据就是关于某个体生存时间的数据。生存时间就是死亡时间减去出生时间。例如,以一个自然人的出生为“出生”,死亡为“死亡”。 那么,死亡时间减去出生时间,就是一个人的寿命,这是一个典型的生存数据。类似的例子,还可以举出很多。所有这些数据都有一个共同的特点, 就是需要清晰定义的:出生和死亡 。如果用死亡时间减去出生时间,就产生了一个生存数据。因为死亡一定发生在出生

  • 回顾下我们前面SVM分类模型中,我们的目标函数是让$$frac{1}{2}||w||22$$最小,同时让各个训练集中的点尽量远离自己类别一边的的支持向量,即$$y_i(w bullet phi(x_i )+ b) geq 1$$。如果是加入一个松弛变量$$xi_i geq 0$$,则目标函数是$$frac{1}{2}||w||_22 +Csumlimits{i=1}^{m}xi_i$$,对应的约束

  • K分类,第k类的参数为$$\theta_k$$, 组成二维矩阵$$\theta_{k*n}$$ 概率: $$p(c=k|x;\theta)=\frac {exp(\thetaT_kx)} {\sum _{l=1} K exp(\theta^T_l x)}$$, k=1,2,....K 似然 函数: 对数似然: 随机梯度:  在前面的logistic regression博文Deep learnin

  • 逻辑回归是一个分类算法,它可以处理二元分类以及多元分类。虽然它名字里面有“回归”两个字,却不是一个回归算法。那为什么有“回归”这个误导性的词呢?个人认为,虽然逻辑回归是分类模型,但是它的原理里面却残留着回归模型的影子,本文对逻辑回归原理做一个总结。 1. 从线性回归到逻辑回归 我们知道,线性回归的模型是求出输出特征向量Y和输入样本矩阵X之间的线性关系系数θ,满足Y=Xθ。此时我们的Y是连续的,所以

  • Logistic 回归 概述 Logistic 回归 或者叫逻辑回归 虽然名字有回归,但是它是用来做分类的。其主要思想是: 根据现有数据对分类边界线(Decision Boundary)建立回归公式,以此进行分类。 须知概念 Sigmoid 函数 回归 概念 假设现在有一些数据点,我们用一条直线对这些点进行拟合(这条直线称为最佳拟合直线),这个拟合的过程就叫做回归。进而可以得到对这些点的拟合直线方

  • 前几节介绍的线性回归模型适用于输出为连续值的情景。在另一类情景中,模型输出可以是一个像图像类别这样的离散值。对于这样的离散值预测问题,我们可以使用诸如softmax回归在内的分类模型。和线性回归不同,softmax回归的输出单元从一个变成了多个,且引入了softmax运算使输出更适合离散值的预测和训练。本节以softmax回归模型为例,介绍神经网络中的分类模型。 分类问题 让我们考虑一个简单的图像