在Angular请求Java Servlet时遇到CORS(跨源资源共享)策略被阻止的问题,可以通过在Java Servlet中设置响应头来解决。
在Java Servlet的处理请求的方法中,添加以下代码可以解决CORS问题:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 设置响应头允许跨域请求
response.setHeader("Access-Control-Allow-Origin", "*");
// 设置允许的请求方法
response.setHeader("Access-Control-Allow-Methods", "GET");
// 设置允许的请求头字段
response.setHeader("Access-Control-Allow-Headers", "Content-Type");
// 其他处理逻辑...
}
在上面的代码示例中:
Access-Control-Allow-Origin
设置为*
允许任意来源的请求,你也可以设置为特定的域名。Access-Control-Allow-Methods
设置为允许的请求方法,这里设置为GET
,你可以根据需要设置其他的请求方法,如POST
。Access-Control-Allow-Headers
设置为允许的请求头字段,这里只设置了Content-Type
,你可以根据需要设置其他的请求头字段。通过上述设置,Java Servlet会在响应头中添加CORS相关的信息,从而允许Angular发起跨域请求。
下一篇:Angular请求数据丢失