GVKun编程网logo

javax.servlet.annotation.WebFilter的实例源码(javaweb servlet)

29

以上就是给各位分享javax.servlet.annotation.WebFilter的实例源码,其中也会对javawebservlet进行解释,同时本文还将给你拓展@WebFilter的annota

以上就是给各位分享javax.servlet.annotation.WebFilter的实例源码,其中也会对javaweb servlet进行解释,同时本文还将给你拓展@WebFilter的annotation如何设置可以对应web.xml中filter的先后顺序问题?、com.fasterxml.jackson.annotation.JsonFilter的实例源码、com.intellij.psi.filters.classes.AnnotationTypeFilter的实例源码、IntelliJ IDEA 出现 "java: 程序包 javax.servlet 不存在、 java: 程序包 javax.servlet.annotation" 等错误等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

javax.servlet.annotation.WebFilter的实例源码(javaweb servlet)

javax.servlet.annotation.WebFilter的实例源码(javaweb servlet)

项目:aws-serverless-java-container    文件:FilterHolder.java   
public Registration(WebFilter annotation) {
    urlPatterns = new ArrayList<>();
    dispatcherTypes = new ArrayList<>();

    EnumSet<dispatcherType> dispatchers = EnumSet.noneOf(dispatcherType.class);
    dispatchers.addAll(Arrays.asList(annotation.dispatcherTypes()));

    if (annotation.value().length > 0) {
        addMappingForUrlPatterns(dispatchers,true,annotation.value());
    }

    if (annotation.urlPatterns().length > 0) {
        addMappingForUrlPatterns(dispatchers,annotation.urlPatterns());
    }

    asyncSupported = annotation.asyncSupported();
}
项目:bootique-jetty    文件:MappedFilterFactory.java   
public MappedFilter toMappedFilter(Filter filter,int order) {

        WebFilter wfAnnotation = filter.getClass().getAnnotation(WebFilter.class);

        if (wfAnnotation == null) {
            throw new IllegalArgumentException(
                    "Filter contains no @WebFilter annotation and can not be mapped directly. Wrap it in a MappedFilter instead.");
        }

        String name = wfAnnotation.filterName() != null && wfAnnotation.filterName().length() > 0
                ? wfAnnotation.filterName() : null;
        Set<String> urlPatterns = new HashSet<>(asList(wfAnnotation.urlPatterns()));

        Map<String,String> initParams = new HashMap<>();

        WebInitParam[] paramsArray = wfAnnotation.initParams();
        if (paramsArray != null) {
            asList(paramsArray).forEach(p -> initParams.put(p.name(),p.value()));
        }

        return new MappedFilter(filter,urlPatterns,name,initParams,order);
    }
项目:spring-boot-jee-web-example    文件:JeeComponentsbeanfactoryPostProcessor.java   
private void registerJeeComponents(ConfigurableListablebeanfactory beanfactory,ClassLoader cl,Set<BeanDeFinition> candiates) {

    for (BeanDeFinition bd : candiates) {

        try {
            Class<?> beanClass = ClassUtils.forName(bd.getBeanClassName(),cl);
            WebServlet webServlet = beanClass.getDeclaredAnnotation(WebServlet.class);
            WebFilter webFilter = beanClass.getDeclaredAnnotation(WebFilter.class);
            WebListener webListener = beanClass.getDeclaredAnnotation(WebListener.class);

            DefaultListablebeanfactory targetbeanfactory = (DefaultListablebeanfactory) beanfactory;

            if (webServlet != null) {
                createAndRegisterServletBean(targetbeanfactory,bd,beanClass,webServlet);
            } else if (webFilter != null) {
                createAndRegisterServletFilterBean(targetbeanfactory,webFilter);
            } else if (webListener != null) {
                createAndRegisterWebListenerBean(targetbeanfactory,webListener);
            }

        } catch (ClassNotFoundException e) {
            e.printstacktrace();
        }
    }
}
项目:osgi.ee    文件:OurServletContext.java   
/**
 * Method invoked for tracking filters that are registered via the Osgi service registry
 *
 * @param filter The filter to add
 * @return The name of the filter,if added
 */
private String addFilter(Filter filter) {
    Class<?> clz = filter.getClass();
    WebFilter ann = clz.getAnnotation(WebFilter.class);
    if (ann == null) {
        return null;
    }
    String name = ann.filterName();
    DynamicFRegistration reg = addFilter(name,filter);
    if (reg == null) {
        return null;
    }
    reg.addMappingForUrlPatterns(EnumSet.allOf(dispatcherType.class),false,ann.urlPatterns());
    reg.addMappingForServletNames(EnumSet.allOf(dispatcherType.class),ann.servletNames());
    doParameters(reg,ann.initParams());
    return name;
}
项目:dropwizard-guicey    文件:WebFilterInstaller.java   
@Override
public void install(final Environment environment,final Filter instance) {
    final Class<? extends Filter> extType = FeatureUtils.getInstanceClass(instance);
    final WebFilter annotation = FeatureUtils.getAnnotation(extType,WebFilter.class);
    final String[] servlets = annotation.servletNames();
    final String[] patterns = annotation.urlPatterns().length > 0 ? annotation.urlPatterns() : annotation.value();
    Preconditions.checkArgument(servlets.length > 0 || patterns.length > 0,"Filter %s not specified servlet or pattern for mapping",extType.getName());
    Preconditions.checkArgument(servlets.length == 0 || patterns.length == 0,"Filter %s specifies both servlets and patters,when only one allowed",extType.getName());
    final boolean servletMapping = servlets.length > 0;
    final AdminContext context = FeatureUtils.getAnnotation(extType,AdminContext.class);
    final String name = WebUtils.getFilterName(annotation,extType);
    reporter.line("%-15s %-5s %-2s (%s)   %s",Joiner.on(",").join(servletMapping ? servlets : patterns),WebUtils.getAsyncmarker(annotation),WebUtils.getContextMarkers(context),extType.getName(),name);

    if (WebUtils.isForMain(context)) {
        configure(environment.servlets(),instance,annotation);
    }
    if (WebUtils.isForAdmin(context)) {
        configure(environment.admin(),annotation);
    }
}
项目:dropwizard-guicey    文件:WebFilterInstaller.java   
private void configure(final ServletEnvironment environment,final Filter filter,final String name,final WebFilter annotation) {
    final FilterRegistration.Dynamic mapping = environment.addFilter(name,filter);
    final EnumSet<dispatcherType> dispatcherTypes = EnumSet.copyOf(Arrays.asList(annotation.dispatcherTypes()));
    if (annotation.servletNames().length > 0) {
        mapping.addMappingForServletNames(dispatcherTypes,annotation.servletNames());
    } else {
        final String[] urlPatterns = annotation.urlPatterns().length > 0
                ? annotation.urlPatterns() : annotation.value();
        mapping.addMappingForUrlPatterns(dispatcherTypes,urlPatterns);
    }
    if (annotation.initParams().length > 0) {
        for (WebInitParam param : annotation.initParams()) {
            mapping.setinitParameter(param.name(),param.value());
        }
    }
    mapping.setAsyncSupported(annotation.asyncSupported());
}
项目:aws-serverless-java-container    文件:FilterHolder.java   
private String readAnnotatedFilterName() {
    if (isAnnotated()) {
        WebFilter regAnnotation = filter.getClass().getAnnotation(WebFilter.class);
        if (!"".equals(regAnnotation.filterName().trim())) {
            return regAnnotation.filterName();
        } else {
            return filter.getClass().getName();
        }
    } else {
        return null;
    }
}
项目:aws-serverless-java-container    文件:FilterHolder.java   
private Map<String,String> readAnnotatedInitParams() {
    Map<String,String> initParams = new HashMap<>();
    if (isAnnotated()) {
        WebFilter regAnnotation = filter.getClass().getAnnotation(WebFilter.class);
        for (WebInitParam param : regAnnotation.initParams()) {
            initParams.put(param.name(),param.value());
        }
    }

    return initParams;
}
项目:aws-serverless-java-container    文件:FilterHolder.java   
private WebFilter getAnnotation() {
    if (isAnnotated()) {
        return filter.getClass().getAnnotation(WebFilter.class);
    } else {
        return null;
    }
}
项目:spring-boot-jee-web-example    文件:JeeComponentsbeanfactoryPostProcessor.java   
private void createAndRegisterServletFilterBean(DefaultListablebeanfactory beanfactory,BeanDeFinition bd,Class<?> beanClass,WebFilter webFilter) {

    BeanDeFinitionBuilder builder = BeanDeFinitionBuilder.rootBeanDeFinition(FilterRegistrationBean.class);
    builder.addPropertyValue("filter",bd);
    builder.addPropertyValue("urlPatterns",new LinkedHashSet<>(Arrays.asList(webFilter.urlPatterns())));

    String beanName = webFilter.filterName().isEmpty() ? StringUtils.uncapitalize(beanClass.getSimpleName())
            : webFilter.filterName();

    beanfactory.registerBeanDeFinition(beanName,builder.getBeanDeFinition());
}
项目:hammock    文件:StartWebServer.java   
private void processFilters() {
    Consumer<Class<? extends Filter>> c = filter -> {
        WebFilter webFilter = ClassUtils.getAnnotation(filter,WebFilter.class);
        if(webFilter != null) {
            FilterDescriptor filterDescriptor = new FilterDescriptor(webFilter.filterName(),webFilter.value(),mapUrls(webFilter.urlPatterns()),webFilter.dispatcherTypes(),webFilter.initParams(),webFilter.asyncSupported(),webFilter.servletNames(),filter);
            webServer.addFilter(filterDescriptor);
        }
    };
    extension.processFilters(c);
}
项目:joynr    文件:AbstractJoynrServletModule.java   
/**
 * Sets up filters that are annotated with the {@link WebFilter} annotation.
 * Every class in the classpath is searched for the annotation.
 */
@SuppressWarnings("unchecked")
private void bindAnnotatedFilters() {

    String appsPackages = null;
    if (System.getProperties().containsKey(IO_JOYNR_APPS_PACKAGES)) {
        logger.info("Using property {} from system properties",IO_JOYNR_APPS_PACKAGES);
        appsPackages = System.getProperty(IO_JOYNR_APPS_PACKAGES);
    } else {
        Properties servletProperties = PropertyLoader.loadProperties("servlet.properties");
        if (servletProperties.containsKey(IO_JOYNR_APPS_PACKAGES)) {
            appsPackages = servletProperties.getProperty(IO_JOYNR_APPS_PACKAGES);
        }
    }

    if (appsPackages != null) {
        String[] packageNames = appsPackages.split(";");
        logger.info("Searching packages for @WebFilter annotation: {}",Arrays.toString(packageNames));

        PackageNamesScanner scanner = new PackageNamesScanner(packageNames);
        AnnotationScannerListener sl = new AnnotationScannerListener(WebFilter.class);
        scanner.scan(sl);

        for (Class<?> webFilterannotatedClass : sl.getAnnotatedClasses()) {

            if (Filter.class.isAssignableFrom(webFilterannotatedClass)) {
                bind(webFilterannotatedClass).in(Singleton.class);
                filter("/*").through((Class<? extends Filter>) webFilterannotatedClass);
                logger.info("Adding filter {} for '/*'",webFilterannotatedClass.getName());
            }

        }
    }
}
项目:pebble-spring-boot-starter    文件:WebFilterHandler.java   
WebFilterHandler() {
    super(WebFilter.class);
}
项目:aws-serverless-java-container    文件:FilterHolder.java   
public boolean isAnnotated() {
    return filter.getClass().isAnnotationPresent(WebFilter.class);
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:WebFilterHandler.java   
WebFilterHandler() {
    super(WebFilter.class);
}
项目:spring-boot-concourse    文件:WebFilterHandler.java   
WebFilterHandler() {
    super(WebFilter.class);
}
项目:contestparser    文件:WebFilterHandler.java   
WebFilterHandler() {
    super(WebFilter.class);
}
项目:dropwizard-guicey    文件:WebFilterInstaller.java   
@Override
public boolean matches(final Class<?> type) {
    return FeatureUtils.is(type,Filter.class)
            && FeatureUtils.hasAnnotation(type,WebFilter.class);
}
项目:restful-and-beyond-tut2184    文件:UndertowComponent.java   
public UndertowComponent addFilter(WebFilter webFilter,Class<? extends Filter> clazz) {
    filters.put(webFilter,clazz);
    return this;
}
项目:hammock    文件:WebServerExtension.java   
public void findFilters(@Observes @WithAnnotations({WebFilter.class})
                                  ProcessAnnotatedType<? extends Filter> pat) {
    filters.add(pat.getAnnotatedType().getJavaClass());
}
项目:dropwizard-guicey    文件:WebUtils.java   
/**
 * When filter name not set in annotation,name generates as: . (dot) at the beginning to indicate
 * generated name,followed by lower-cased class name. If class ends with "filter" then it will be cut off.
 * For example,for class "MyCoolFilter" generated name will be ".mycool".
 *
 * @param filter filter annotation
 * @param type   filter type
 * @return filter name or generated name if name not provided
 */
public static String getFilterName(final WebFilter filter,final Class<? extends Filter> type) {
    final String name = Strings.emptyToNull(filter.filterName());
    return name != null ? name : generateName(type,"filter");
}
项目:dropwizard-guicey    文件:WebUtils.java   
/**
 * @param annotation filter registration annotation
 * @return "async" string if filter support async and empty string otherwise
 */
public static String getAsyncmarker(final WebFilter annotation) {
    return getAsyncmarker(annotation.asyncSupported());
}

@WebFilter的annotation如何设置可以对应web.xml中filter的先后顺序问题?

@WebFilter的annotation如何设置可以对应web.xml中filter的先后顺序问题?

对于同一个servlet的多个filter,在web.xml里面注册先后就会实现先后的过滤作用,那么如果使用annotation,对应的形式是什么呢?求高手
另,问下各位用servlet3.0注释的多吗?

com.fasterxml.jackson.annotation.JsonFilter的实例源码

com.fasterxml.jackson.annotation.JsonFilter的实例源码

项目:QuizUpWinner    文件:JacksonAnnotationIntrospector.java   
public Object findFilterId(AnnotatedClass paramAnnotatedClass)
{
  JsonFilter localJsonFilter = (JsonFilter)paramAnnotatedClass.getAnnotation(JsonFilter.class);
  if (localJsonFilter != null)
  {
    String str = localJsonFilter.value();
    if (str.length() > 0)
      return str;
  }
  return null;
}
项目:camunda-bpm-elasticsearch    文件:JacksonMixInFilterModule.java   
public static String getJsonFilterannotationValue(Class clazz) {
  JsonFilter jsonFilterannotation = (JsonFilter) clazz.getAnnotation(JsonFilter.class);
  if (jsonFilterannotation != null) {
    return jsonFilterannotation.value();
  }

  return null;
}

com.intellij.psi.filters.classes.AnnotationTypeFilter的实例源码

com.intellij.psi.filters.classes.AnnotationTypeFilter的实例源码

项目:intellij-ce-playground    文件:JavaCompletionContributor.java   
@Nullable
public static ElementFilter getReferenceFilter(PsiElement position) {
  // Completion after extends in interface,type parameter and implements in class
  final PsiClass containingClass = PsiTreeUtil.getParentOfType(position,PsiClass.class,false,PsiCodeBlock.class,PsiMethod.class,PsiExpressionList.class,PsiVariable.class,PsiAnnotation.class);
  if (containingClass != null && psiElement().afterLeaf(PsiKeyword.EXTENDS,PsiKeyword.IMPLEMENTS,","&").accepts(position)) {
    return new AndFilter(ElementClassFilter.CLASS,new NotFilter(new AssignableFromContextFilter()));
  }

  if (ANNOTATION_NAME.accepts(position)) {
    return new AnnotationTypeFilter();
  }

  if (JavaKeywordCompletion.DECLaraTION_START.getValue().accepts(position) ||
      JavaKeywordCompletion.isInsideParameterList(position) ||
      isInsideAnnotationName(position)) {
    return new OrFilter(ElementClassFilter.CLASS,ElementClassFilter.PACKAGE_FILTER);
  }

  if (psiElement().afterLeaf(PsiKeyword.INSTANCEOF).accepts(position)) {
    return new ElementExtractorFilter(ElementClassFilter.CLASS);
  }

  if (JavaKeywordCompletion.VARIABLE_AFTER_FINAL.accepts(position)) {
    return ElementClassFilter.CLASS;
  }

  if (isCatchFinallyPosition(position) ||
      JavaKeywordCompletion.START_SWITCH.accepts(position) ||
      JavaKeywordCompletion.isinstanceofPlace(position) ||
      JavaKeywordCompletion.isAfterPrimitiveOrArrayType(position)) {
    return null;
  }

  if (JavaKeywordCompletion.START_FOR.accepts(position)) {
    return new OrFilter(ElementClassFilter.CLASS,ElementClassFilter.VARIABLE);
  }

  if (JavaSmartCompletionContributor.AFTER_NEW.accepts(position)) {
    return ElementClassFilter.CLASS;
  }

  if (psiElement().inside(PsiReferenceParameterList.class).accepts(position)) {
    return ElementClassFilter.CLASS;
  }

  if (psiElement().inside(PsiAnnotationParameterList.class).accepts(position)) {
    return createAnnotationFilter(position);
  }

  PsiVariable var = PsiTreeUtil.getParentOfType(position,PsiClass.class);
  if (var != null && PsiTreeUtil.isAncestor(var.getinitializer(),position,false)) {
    return new ExcludeDeclaredFilter(new ClassFilter(PsiVariable.class));
  }

  if (SWITCH_LABEL.accepts(position)) {
    return new ClassFilter(PsiField.class) {
      @Override
      public boolean isAcceptable(Object element,PsiElement context) {
        return element instanceof PsiEnumConstant;
      }
    };
  }

  return TrueFilter.INSTANCE;
}
项目:tools-idea    文件:JavaCompletionContributor.java   
@Nullable
public static ElementFilter getReferenceFilter(PsiElement position) {
  // Completion after extends in interface,new NotFilter(new AssignableFromContextFilter()));
  }

  if (ANNOTATION_NAME.accepts(position)) {
    return new AnnotationTypeFilter();
  }

  if (JavaCompletionData.DECLaraTION_START.accepts(position) ||
      JavaCompletionData.isInsideParameterList(position) ||
      psiElement().inside(psiElement(PsiJavaCodeReferenceElement.class).withParent(psiAnnotation())).accepts(position)) {
    return new OrFilter(ElementClassFilter.CLASS,ElementClassFilter.PACKAGE_FILTER);
  }

  if (psiElement().afterLeaf(PsiKeyword.INSTANCEOF).accepts(position)) {
    return new ElementExtractorFilter(ElementClassFilter.CLASS);
  }

  if (JavaCompletionData.VARIABLE_AFTER_FINAL.accepts(position)) {
    return ElementClassFilter.CLASS;
  }

  if (JavaCompletionData.AFTER_TRY_BLOCK.isAcceptable(position,position) ||
      JavaCompletionData.START_SWITCH.accepts(position) ||
      JavaCompletionData.isinstanceofPlace(position) ||
      JavaCompletionData.isAfterPrimitiveOrArrayType(position)) {
    return null;
  }

  if (JavaCompletionData.START_FOR.accepts(position)) {
    return new OrFilter(ElementClassFilter.CLASS,ElementClassFilter.VARIABLE);
  }

  if (JavaSmartCompletionContributor.AFTER_NEW.accepts(position)) {
    return ElementClassFilter.CLASS;
  }

  if (psiElement().inside(PsiReferenceParameterList.class).accepts(position)) {
    return ElementClassFilter.CLASS;
  }

  if (psiElement().inside(PsiAnnotationParameterList.class).accepts(position)) {
    return createAnnotationFilter(position);
  }

  if (psiElement().afterLeaf("=").inside(PsiVariable.class).accepts(position)) {
    return new OrFilter(
      new ClassFilter(PsiVariable.class,false),new ExcludeDeclaredFilter(new ClassFilter(PsiVariable.class)));
  }

  if (SWITCH_LABEL.accepts(position)) {
    return new ClassFilter(PsiField.class) {
      @Override
      public boolean isAcceptable(Object element,PsiElement context) {
        return element instanceof PsiEnumConstant;
      }
    };
  }

  return TrueFilter.INSTANCE;
}

IntelliJ IDEA 出现

IntelliJ IDEA 出现 "java: 程序包 javax.servlet 不存在、 java: 程序包 javax.servlet.annotation" 等错误

高春辉、王春生、朱峰:关于开源创业的 15 件小事

转:

IntelliJ IDEA 出现 "java: 程序包 javax.servlet 不存在、 java: 程序包 javax.servlet.annotation" 等错误

在 IDEA 中建立 Servlet 使用 javax.servlet.http.HttpServlet 等类时,出现了如下错误:

原因:IntelliJ IDEA 没有导入 servlet-api.jar 这个.jar 包,需要手动导入。
导入步骤如下:选中项目,右击选择 “Open Modules Settings”,选择 “Libraries”,点击 “+”,选 “Java”;在弹出的窗口中选择 tomcat 所在的目录,在 lib 目录下找到 servlet-api.jar 这个 jar 包导入完成即可。

转:

IntelliJ IDEA 出现 "java: 程序包 javax.servlet 不存在、 java: 程序包 javax.servlet.annotation" 等错误


--Posted from Rpc

今天关于javax.servlet.annotation.WebFilter的实例源码javaweb servlet的讲解已经结束,谢谢您的阅读,如果想了解更多关于@WebFilter的annotation如何设置可以对应web.xml中filter的先后顺序问题?、com.fasterxml.jackson.annotation.JsonFilter的实例源码、com.intellij.psi.filters.classes.AnnotationTypeFilter的实例源码、IntelliJ IDEA 出现 "java: 程序包 javax.servlet 不存在、 java: 程序包 javax.servlet.annotation" 等错误的相关知识,请在本站搜索。

本文标签: