/** * @param servlet servlet annotation * @param type servlet type * @return servlet name or generated name if name not provided */ public static String getServletName(final WebServlet servlet, final Class<? extends HttpServlet> type) { final String name = Strings.emptyToNull(servlet.name()); return name != null ? name : generateName(type, "servlet"); }
/** * @param servlet servlet annotation * @param type servlet type * @return servlet name or generated name if name not provided */ public static String getServletName(final WebServlet servlet, final Class<? extends HttpServlet> type) { final String name = Strings.emptyToNull(servlet.name()); return name != null ? name : generateName(type, "servlet"); }
protected void printServletInfo() { Class<?> clazz = this.getClass(); WebServlet servlet = clazz.getAnnotation(WebServlet.class); if (servlet == null) { return; } String name = servlet.name(); String uri = StringUtils.arrayToDelimitedString(servlet.urlPatterns(), ","); System.err.println("WebServlet name:" + name + "\turi:" + uri + "\tclass:" + clazz.getName()); }
public ServletAnnotationScanner(Class<?> clazz) { WebServlet annotation = (WebServlet) clazz.getAnnotation(WebServlet.class); if (annotation == null) { return; } scanned = true; multiPartConfigAnnotation = (MultipartConfig) clazz.getAnnotation(MultipartConfig.class); if (annotation.urlPatterns().length > 0 && annotation.value().length > 0) { log.warn(clazz.getName() + " defines both @WebServlet.value and @WebServlet.urlPatterns"); return; } urlPatterns = annotation.value(); if (urlPatterns.length == 0) { urlPatterns = annotation.urlPatterns(); } if (urlPatterns.length == 0) { log.warn(clazz.getName() + " defines neither @WebServlet.value nor @WebServlet.urlPatterns"); return; } servletName = (annotation.name().equals("") ? clazz .getName() : annotation.name()); webInitParams = annotation.initParams(); asyncSupported = annotation.asyncSupported(); loadOnStartup = annotation.loadOnStartup(); }
public ServletAnnotationScanner(Class<?> clazz) { WebServlet annotation = (WebServlet) clazz.getAnnotation(WebServlet.class); if (annotation == null) { return; } scanned = true; multiPartConfigAnnotation = (MultipartConfig) clazz.getAnnotation(MultipartConfig.class); if (annotation.urlPatterns().length > 0 && annotation.value().length > 0) { log.warn(clazz.getName() + " defines both @WebServlet.value and @WebServlet.urlPatterns"); return; } urlPatterns = annotation.value(); if (urlPatterns.length == 0) { urlPatterns = annotation.urlPatterns(); } if (urlPatterns.length == 0) { log.warn(clazz.getName() + " defines neither @WebServlet.value nor @WebServlet.urlPatterns"); return; } servletName = (annotation.name().equals("") ? clazz .getName() : annotation.name()); webInitParams = annotation.initParams(); asyncSupported = annotation.asyncSupported(); loadOnStartup = annotation.loadOnStartup(); }
public void addServlet(WebServlet webServlet, String servletClassName) throws ServletException { ServletMapping mapping = createServletMapping(); mapping.setServletClass(servletClassName); String name = webServlet.name(); if (name == null || "".equals(name)) name = servletClassName; mapping.setServletName(name); mapping.create(webServlet); addServletMapping(mapping); }
@SuppressWarnings("unchecked") public synchronized void scanAnnotations() { log.info("Scanning annotations ..."); ScanResult result = AutumnClasspathScan.getScanResult(); result.getNamesOfClassesWithAnnotation(WebServlet.class).forEach(cn -> { Class<?> cls = result.classNameToClassRef(cn); if (HttpServlet.class.isAssignableFrom(cls)) { WebServlet ws = cls.getAnnotation(WebServlet.class); TPServletRegistration registration = this.addServlet( ws.name().isEmpty() ? cn : ws.name(), (Class<? extends Servlet>) cls); registration.loadAnnotation(ws); } }); result.getNamesOfClassesWithAnnotation(WebFilter.class).forEach(cn -> { Class<?> cls = result.classNameToClassRef(cn); if (HttpFilter.class.isAssignableFrom(cls)) { WebFilter wf = cls.getAnnotation(WebFilter.class); TPFilterRegistration registration = this.addFilter( wf.filterName().isEmpty() ? cn : wf.filterName(), (Class<? extends Filter>) cls); registration.loadAnnotation(wf); } }); result.getNamesOfClassesWithAnnotation(WebListener.class).forEach(cn -> { Class<?> cls = result.classNameToClassRef(cn); if (EventListener.class.isAssignableFrom(cls)) { this.addListener((Class<? extends EventListener>) cls); } }); }
@SuppressWarnings("unchecked") private List<ServletDefinition> detectServlets(Collection<Class<?>> servletClasses) { List<ServletDefinition> servletDefinitions = new ArrayList<>(); for (Class<?> candidate : servletClasses) { if (Servlet.class.isAssignableFrom(candidate)) { Class<? extends Servlet> servletClass = (Class<? extends Servlet>) candidate; WebServlet annotation = servletClass.getAnnotation(WebServlet.class); ServletDefinition servletDefinition = new ServletDefinition( Strings.isNullOrEmpty(annotation.name()) ? servletClass.getCanonicalName() : annotation.name(), servletClass ); servletDefinition.setAsyncSupported(annotation.asyncSupported()); if (annotation.value().length > 0) { servletDefinition.addMappings(annotation.value()); } if (annotation.urlPatterns().length > 0) { servletDefinition.addMappings(annotation.urlPatterns()); } servletDefinition.setLoadOnStartup(annotation.loadOnStartup()); servletDefinition.addInitParameters(convert(annotation.initParams())); servletDefinitions.add(servletDefinition); } } return servletDefinitions; }
private void procesServlets() { Consumer<Class<? extends HttpServlet>> c = servlet -> { WebServlet webServlet = ClassUtils.getAnnotation(servlet, WebServlet.class); if(webServlet != null) { ServletDescriptor servletDescriptor = new ServletDescriptor(webServlet.name(), webServlet.value(), mapUrls(webServlet.urlPatterns()), webServlet.loadOnStartup(), webServlet.initParams(),webServlet.asyncSupported(),servlet); webServer.addServlet(servletDescriptor); } }; extension.processServlets(c); }
private void procesServlets() { Consumer<Class<? extends HttpServlet>> c = servlet -> { WebServlet webServlet = ClassUtils.getAnnotation(servlet, WebServlet.class); if(webServlet != null) { ServletDescriptor servletDescriptor = new ServletDescriptor(webServlet.name(), webServlet.value(), mapUrls(webServlet.urlPatterns()), webServlet.loadOnStartup(), webServlet.initParams(),webServlet.asyncSupported(),servlet); webServer.addServlet(servletDescriptor); } }; extension.processServlets(c); }
@Override protected HandlerProcessingResult processAnnotation( AnnotationInfo ainfo, WebBundleContext webBundleContext) throws AnnotationProcessorException { WebServlet webServletAn = (WebServlet)ainfo.getAnnotation(); Class webCompClass = (Class)ainfo.getAnnotatedElement(); String servletName = webServletAn.name(); if (servletName == null || servletName.length() == 0) { servletName = webCompClass.getName(); } WebComponentDescriptor webCompDesc = webBundleContext.getDescriptor().getWebComponentByCanonicalName(servletName); if (webCompDesc == null) { webCompDesc = new WebComponentDescriptor(); webCompDesc.setName(servletName); webCompDesc.setCanonicalName(servletName); } HandlerProcessingResult result = processAnnotation(ainfo, webCompDesc); if (result.getOverallResult() == ResultType.PROCESSED) { webBundleContext.getDescriptor().addWebComponentDescriptor(webCompDesc); WebComponentContext webCompContext = new WebComponentContext(webCompDesc); // we push the new context on the stack... webBundleContext.getProcessingContext().pushHandler(webCompContext); } return result; }
if (scanClass.isAnnotationPresent(WebServlet.class) && HttpServlet.class.isAssignableFrom(scanClass)) { WebServlet webServlet = scanClass.getAnnotation(WebServlet.class); String name = webServlet.name();
throw new DeploymentException("At least one of value and urlPatterns attribute should be configured on the WebServlet annotation in the class " + cls.getName()); String servletName = webServlet.name().length() == 0 ? cls.getName() : webServlet.name(); String[] urlPatterns = valueAttributeConfigured ? webServlet.value() : webServlet.urlPatterns(); if (ServletMergeHandler.isServletConfigured(servletName, mergeContext)) {
if (webServlet != null) { servletInfo = servletInfo(StringUtils.isEmpty(name) ? webServlet.name() : name, servletClass, instanceFactory); servletInfo.setLoadOnStartup(webServlet.loadOnStartup());