tomcat設定跨域訪問
阿新 • • 發佈:2019-02-06
現在開發流行前後端分離,前端使用Ajax+html寫頁面,後端提供介面,便於以後開發和維護,但是這樣也涉及到一個問題,前端在開發的時候頁面不在後端專案,可能無法訪問,所以tomcat要配置跨域訪問,可以解決這個問題。
首先需要在tomcat中的lib資料夾增加兩個jar包
1.cors-filter-2.4.jar 2.java-property-utils-1.9.1.jar
然後需要在Javaweb工程的web.xml檔案中增加如下程式碼
<filter> <filter-name>CORS</filter-name> <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class> <init-param> <param-name>cors.allowOrigin</param-name> <param-value>*</param-value> </init-param> <init-param> <param-name>cors.supportedMethods</param-name> <param-value>GET,POST,HEAD,PUT,DELETE</param-value> </init-param> <init-param> <param-name>cors.supportedHeaders</param-name> <param-value>Accept,Origin,X-Requested-With,Content-Type,Last-Modified</param-value> </init-param> <init-param> <param-name>cors.exposedHeaders</param-name> <param-value>Set-Cookie</param-value> </init-param> <init-param> <param-name>cors.supportsCredentials</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CORS</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
這樣就可以了,要注意的一點是,火狐和360急速等瀏覽器預設支援跨域訪問,而chrome預設是不支援跨域訪問的,如果一定要使用chrome跨域訪問的話,需要在chrome快捷方式後面加一段程式碼 , --args --disable-web-security --user-data-dir 如下圖