Java Spring3.1Cors。这个代码是什么意思?我不知道';我不明白作者为什么使用';分号';到那个位置
我一直在寻找一个在spring3.1上启用CORS的解决方案,几乎每个人都使用下面相同的代码Java Spring3.1Cors。这个代码是什么意思?我不知道';我不明白作者为什么使用';分号';到那个位置,java,spring,syntax,cors,Java,Spring,Syntax,Cors,我一直在寻找一个在spring3.1上启用CORS的解决方案,几乎每个人都使用下面相同的代码 public class CorsFilter extends OncePerRequestFilter { @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws Servlet
public class CorsFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
response.addHeader("Access-Control-Allow-Origin", "*");
if (request.getHeader("Access-Control-Request-Method") != null && "OPTIONS".equals(request.getMethod())); {
// CORS "pre-flight" request
response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
response.addHeader("Access-Control-Allow-Headers", "Authorization");
response.addHeader("Access-Control-Max-Age", "1728000");
}
filterChain.doFilter(request, response);
}
}
我在网上看到了这个代码
您看到if语句条件末尾的“分号”了吗?
我有点生气,因为我花了一个多小时与这个代码斗争
这段代码看起来像是典型的if语句,但由于“分号”使它以一种完全奇怪的方式运行
我仍然不明白这段代码是如何工作的,如果它能工作,为什么作者要这样写代码
不仅对于“分号”,而且对于{},如果该“分号”用于任何目的,则该括号也是无用的
有人能帮我理解这段代码吗?分号将结束if语句,使其成为空if语句。这种语法是允许的,因为您可以编写无括号的if语句 然后,独立大括号将声明一个匿名块,该块将添加头。此块将始终执行。因此,您将始终添加标题 这可能是作者的错别字