最近尝试设置tomcat9的CORS来进行跨域,但不论如何在tomcat的web.xml中设置都无效。最后在项目自身的web.xml中设置,一定要安排在jfinal过滤器之前,否则无法生效,并在maven中导入jar包。并由于未知原因,无法在jfinal的controller中设置log.debug()来输出信息到控制台,后恢复正常。推测是由于二种原因:1.做clean操作。2.在eclipse中设置:Project–>properties–>java compiler–>building–>configure workspace settings去掉abort build when build path errors occur前边的√。
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
<init-param>
<param-name>cors.allowOrigin</param-name>
<param-value>http://192.168.28.135:8081</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>
<filter>
<filter-name>jfinal</filter-name>
<filter-class>com.jfinal.core.JFinalFilter</filter-class>
<init-param>
<param-name>configClass</param-name>
<param-value>com.xpgk.common.config.Config</param-value>
</init-param>
</filter>