java web
IDEA servlet-api.jar(2015-1-6)
idea从14升级到15后,发现
import javax.servlet.AsyncContext;
找不到, 右击工程,open module setting,找到图中的位置,在classPath里添加tomcat的servlet-api.jar即可。
tomcat允许跨域(2016-1-12)
参考 : https://tomcat.apache.org/tomcat-7.0-doc/config/filter.html
- 全局方式
在/tomcat/conf/web.xml中,添加这样一个filter
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<async-supported>true</async-supported>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
其中async-supported不是必须的,如果你用到了AsyncContext,这里又是全局的filter,就需要设置允许async。
全局方式对虚拟目录也能生效。
2.非全局方式
在web app的web.xml里加上面这个filter就好了,记得要把url-pattern这一项改成对应的格式。
tomcat虚拟目录
最简单的非侵入式的方式是:在tomcat/conf/Catalina/localhost目录下添加一个xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable="true" docBase="/home/cwh/Software/learn_software" crossContext="true">
</Context>
其中,
- reloadable表示在启动tomcat后,目录内容改变时,是否允许不重启tomcat,仅刷新就得到新的内容,可以则为true
- docBase即虚拟目录代表的本地目录
- crossContext表示是否允许跨域,
然后把xml命名成虚拟目录名,比如test,则可以通过url:http://localhost:8888/test 访问docBase下的文件
如果需要以目录的形式访问文件,需要在conf/web.xml中配置listing为true
如果需要支持中文文件,需要在server.xml中配置Context的URLEncoding为UTF-8