1
Я пытаюсь установить вложенный класс как класс фильтра, но Intellij IDEA сказал, что он не может найти этот класс, также случается, когда я пытаюсь запустить это приложение в веб-контейнер:Почему вложенный класс не может использоваться как класс для фильтра
<filter>
<filter-name>test</filter-name>
<filter-class>com.web.filters.SimpleFilter.NestedClassFilter</filter-class>
</filter>
И класс, который я пытаюсь использовать:
public class SimpleFilter implements Filter {
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
doFilter(request, response, filterChain);
}
protected void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException{
}
public void init(FilterConfig filterConfig) throws ServletException {
}
public void destroy() {
}
public static class NestedClassFilter extends SimpleFilter {
@Override
protected void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
filterChain.doFilter(request, response);
}
}
}
Exception, что у меня есть:
Caused By: java.lang.ClassNotFoundException: com.web.filters.SimpleFilter.NestedClassFilter
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
так просто :). Надеюсь, вы не возражаете, если я отредактирую имя пакета класса в вашем ответе. – nahab
@nahab No. идите прямо вперед. Я могу сделать это за вас, если у вас нет прав. –