軟件包javax.servlet不存在的解決辦法
問題:
外部導入的一個java類文件,引用了tomcat中的servlet-api.jar文件中的javax.servlet.Filter類 找不到,
其原因是java編譯器沒有找到軟件包javax.servlet.Filter。
package com.sapsoft;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
public class sproutCorsFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse;
httpServletResponse.setHeader("Access-Control-Allow-Origin", "*");
httpServletResponse.setHeader("Access-Control-Allow-Headers", "Authentication");
filterChain.doFilter(servletRequest,httpServletResponse);
}
@Override
public void destroy() {
}
}
解決辦法:
從tomcat lib目錄下拷貝一個servlet-api.jar的包到“JDK\jre\lib\ext”目錄下
凡是出現找不到包的情況,都可以將找到的包放到JDK\jre\lib\ext下,
Project面板中/External Libraries/<1.8> jdk 右鍵彈出執行Open Library settting
彈出Project Structure窗體
Platform Settings/SDKs/Classpath 添加一個引用類路徑
d:\cwgis\apps\jdk\jre\lib\ext\servlet-api.jar
然后再編譯就能夠通過。