什么是跨域?
通俗來說,跨域按照我自己的想法來理解,是不同的域名之間的訪問,就是跨域。不同瀏覽器,在對js文件進行解析是不同的,瀏覽器會默認阻止,所以
現在我來說下用java代碼解決前端跨域問題。
用java代碼解決前端跨域問題?
找到WEB-INF下面的web.xml文件,輸入下面代碼,在web.xml文件下面:
1 <!-- 解決跨域訪問的問題 --> 2 <filter> 3 <filter-name>cors</filter-name> 4 <filter-class>com.mj.yiCardCountry.filter.controller.SimpleCORSFilter</filter-class> 5 </filter> 6 <filter-mapping> 7 <filter-name>cors</filter-name> 8 <url-pattern>/*</url-pattern> 9 </filter-mapping> 10 <session-config> 11 <session-timeout>10</session-timeout> 12 </session-config>
然后創建一個類,在service或者controller ,我是在controller中創建的,輸入以下代碼:
1 public class SimpleCORSFilter implements Filter{ 2 3 public void init(FilterConfig filterConfig) throws ServletException {} 4 5 public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { 6 HttpServletResponse response = (HttpServletResponse) res; 7 response.setHeader("Access-Control-Allow-Origin", "*"); 8 response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); 9 response.setHeader("Access-Control-Max-Age", "3628800"); 10 response.setHeader("Access-Control-Allow-Headers", "x-requested-with,content-type"); 11 chain.doFilter(req, res); 12 } 13 14 public void destroy() {} 15 16 }
然后,重新install下 重新運行下 試試。基本上是ok了。
