1. 程式人生 > 實用技巧 >軟體包javax.servlet不存在的解決辦法

軟體包javax.servlet不存在的解決辦法

軟體包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
然後再編譯就能夠通過。