CentOS JSP如何实现跨域访问
作者:远山有雾青石小巷
时间:2026-06-27
浏览:0
在CentOSJSP应用中,解决跨域访问的三种方案为:使用CORS过滤器统一配置、通过SpringBoot配置类添加跨域支持、或者手动在响应头设置Access-Control-Allow-Origin等字段。生产环境应指定具体域名,避免使用通配符,并务必正确处理OPTIONS预检请求,以保障安全。
在 CentOS 系统上部署的 JSP 应用中,跨域访问是个绕不开的话题。简单说,就是你的前端页面(可能跑在另一个端口或域名上)想请求后端接口,但浏览器出于安全策略会拦截。怎么解决?下面几种方案都是实战中常用的,可以根据项目情况灵活选。

方法一:使用 CORS 过滤器
这是最省事的办法——加一个现成的过滤器库,在 web.xml 里声明一下就行。
先添加依赖(如果是 Ma ven 项目):
com.thetransactioncompany cors-filter 2.5 然后在
web.xml中配置过滤器,允许的来源、方法、头信息等都可以灵活定义:CorsFilter com.thetransactioncompany.cors.CORSFilter cors.allowOrigin * cors.supportedMethods GET,POST,HEAD,OPTIONS,PUT cors.supportedHeaders Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers cors.exposedHeaders Access-Control-Allow-Origin,Access-Control-Allow-Credentials CorsFilter /*
方法二:使用 Spring Boot 的 CORS 支持
如果你的项目是基于 Spring Boot 的,那更简单——写一个配置类,覆盖 addCorsMappings 方法即可:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
.allowedHeaders("*")
.allowCredentials(true);
}
}这样全局生效,所有路径都支持跨域。
方法三:手动设置响应头
如果既不想引入额外库,也不想用框架特性,那就“裸写”——在每个 JSP 或 Servlet 里手动加上响应头。比如在 JSP 页面最开头加一段 Ja va 代码:
<%
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
response.setHeader("Access-Control-Allow-Headers", "Content-Type, X-Requested-With, Accept, Origin, Access-Control-Request-Method, Access-Control-Request-Headers");
%>这相当于在每个接口里“手动挡”处理,适合接口不多、临时调试的场景,但正式项目不推荐这么做——容易遗漏,也不好维护。
注意事项
- 安全第一:生产环境千万别把
Access-Control-Allow-Origin设成*,尤其是需要携带 Cookie 或认证信息的接口。老老实实写上具体的域名。 - 预检请求(Preflight):对于非简单请求——比如用了自定义头、或者用了 PUT、DELETE 等方法——浏览器会先发一个 OPTIONS 请求来“探路”。服务器必须正确响应这个预检请求,否则真正的请求发不出去。上面几种方案都已经考虑了这一点,但如果你自己写代码处理,别忘了处理 OPTIONS 请求。
总的来说,三种方法各有适用场景:过滤器方案通用性强,Spring Boot 项目用配置类更优雅,手动设置响应头适合快速验证。按需选择就好。
作者最新文章
iphone电池不耐用怎么修复?实用方法教程
2026-09-22 15:16
2026年车市新势力崛起:新车型精准发力 单月销量突破两万大关
2026-08-25 15:36
黄渤亮相重庆赛力斯工厂 共庆全新一代问界M9全国首批用户交付盛典
2026-08-25 15:35
iPhone14Pro怎么关闭待机显示 iPhone14Pro关闭待机显示教程
2026-08-25 14:21
荣耀 X80 Pro Max 手机获 SGS 五星抗摔认证 并推出免费换屏服务
2026-08-25 11:41
上一篇:
CentOS JSP如何优化内存使用
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































