Java 类org.springframework.web.servlet.mvc.Controller 实例源码

项目:communote-server    文件:DynamicUrlHandlerMapping.java   
/**
 * Register the specified handler for the given URL path.
 *
 * @param urlPath
 *            the URL the bean should be mapped to
 * @param handler
 *            the handler instance or handler bean name String (a bean name will automatically
 *            be resolved into the corresponding handler bean)
 *
 * @throws BeansException
 *             if the handler couldn't be registered
 * @throws IllegalStateException
 *             if there is a conflicting handler registered
 */
protected void registerDefaultHandler(String urlPath, Controller handler)
        throws BeansException,
        IllegalStateException {
    Assert.notNull(urlPath, "URL path must not be null");
    Assert.notNull(handler, "Handler object must not be null");
    Object resolvedHandler = handler;

    Object mappedHandler = this.mergedUrlMap.get(urlPath);
    if (mappedHandler != null) {
        if (mappedHandler != resolvedHandler) {
            throw new IllegalStateException(
                    "Cannot map handler [" + handler + "] to URL path [" + urlPath
                    + "]: There is already handler [" + resolvedHandler + "] mapped.");
        }
    } else {
        if (urlPath.equals("/")) {
            setRootHandler(resolvedHandler);
        } else if (urlPath.equals("/*")) {
            setDefaultHandler(resolvedHandler);
        }
    }
}
项目:communote-server    文件:DynamicUrlHandlerMapping.java   
/**
 * reloades the merged url map
 */
public synchronized void reloadHandlerMap() {
    mergedUrlMap.clear();

    for (Entry<Controller, List<String>> entry : dynamicUrlMaps.entrySet()) {
        for (String urlPattern : entry.getValue()) {
            mergedUrlMap.put(urlPattern, entry.getKey());

        }
    }

    setRootHandler(null);
    setDefaultHandler(null);
    for (Entry<String, Controller> urlMapEntry : mergedUrlMap.entrySet()) {
        registerDefaultHandler(urlMapEntry.getKey(), urlMapEntry.getValue());
    }
}
项目:communote-server    文件:DynamicUrlHandlerMappingRegistry.java   
/**
 * Unregisters the Service.
 *
 * @param controller
 *            The controller.
 */
@Unbind(id = "controllerRegistry", optional = true, aggregate = true)
public void unregister(Controller controller) {
    mapper.unregisterController(controller);
    // remove startpage mapping if necessary
    StartpageController startpageMarker = controller.getClass().getAnnotation(
            StartpageController.class);
    if (startpageMarker != null) {
        getStartpageRegistry().unregisterStartpageController(controller);
    }
    UrlMapping mapping = controller.getClass().getAnnotation(UrlMapping.class);
    if (mapping != null && mapping.value().startsWith("/*/admin/")) {
        Page page = controller.getClass().getAnnotation(Page.class);
        if (page != null && StringUtils.isNotBlank(page.submenu())) {
            WebServiceLocator.findService(AdministrationMenuManager.class)
                    .removeFromExtensionSection(page.submenu());
        }
    }
}
项目:psi-probe    文件:BeanToXmlController.java   
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
    HttpServletResponse response) throws Exception {

  String path = request.getServletPath();
  String internalPath = path.replaceAll(xmlMarker, "");

  Controller controller = (Controller) getApplicationContext().getBean(internalPath);
  if (controller != null) {
    ModelAndView modelAndView = controller.handleRequest(request, response);
    if (modelAndView.getModel() != null) {
      TransportableModel tm = new TransportableModel();
      tm.putAll(modelAndView.getModel());
      new XStream().toXML(tm, response.getWriter());
    }
  }
  return null;
}
项目:psi-probe-plus    文件:BeanToXmlController.java   
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
    String path = request.getServletPath();
    String internalPath = path.replaceAll(xmlMarker, "");

    Controller controller = (Controller) getApplicationContext().getBean(internalPath);
    if (controller != null) {
            ModelAndView modelAndView = controller.handleRequest(request, response);
            if (modelAndView.getModel() != null) {
                TransportableModel tm = new TransportableModel();
                tm.putAll(modelAndView.getModel());
                XStream x = new XStream();
                x.toXML(tm, response.getWriter());
            }
    }
    return null;
}
项目:springboot-shiro-cas-mybatis    文件:OAuth20AuthorizeControllerTests.java   
@Test
public void verifyOK() throws Exception {
    clearAllServices();

    final MockHttpServletRequest mockRequest = new MockHttpServletRequest("GET", CONTEXT
            + OAuthConstants.AUTHORIZE_URL);
    mockRequest.setParameter(OAuthConstants.CLIENT_ID, CLIENT_ID);
    mockRequest.setParameter(OAuthConstants.REDIRECT_URI, REDIRECT_URI);
    mockRequest.setServerName(CAS_SERVER);
    mockRequest.setServerPort(CAS_PORT);
    mockRequest.setScheme(CAS_SCHEME);
    final MockHttpServletResponse mockResponse = new MockHttpServletResponse();

    ((OAuth20WrapperController) oauth20WrapperController)
        .getServicesManager().save(getRegisteredService(REDIRECT_URI, SERVICE_NAME));

    final Controller c = ((OAuth20WrapperController) oauth20WrapperController).getAuthorizeController();
    ((OAuth20AuthorizeController) c).setLoginUrl(CAS_URL);

    final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse);
    final HttpSession session = mockRequest.getSession();
    assertEquals(REDIRECT_URI, session.getAttribute(OAuthConstants.OAUTH20_CALLBACKURL));
    assertEquals(SERVICE_NAME, session.getAttribute(OAuthConstants.OAUTH20_SERVICE_NAME));
    final View view = modelAndView.getView();
    assertTrue(view instanceof RedirectView);
    final RedirectView redirectView = (RedirectView) view;

    final MockHttpServletRequest reqSvc = new MockHttpServletRequest("GET", CONTEXT + OAuthConstants.CALLBACK_AUTHORIZE_URL);
    reqSvc.setServerName(CAS_SERVER);
    reqSvc.setServerPort(CAS_PORT);
    reqSvc.setScheme(CAS_SCHEME);
    final URL url = new URL(OAuthUtils.addParameter(CAS_URL, "service", reqSvc.getRequestURL().toString()));
    final URL url2 = new URL(redirectView.getUrl());

    assertEquals(url, url2);
}
项目:springboot-shiro-cas-mybatis    文件:OAuth20AuthorizeControllerTests.java   
@Test
public void verifyOKWithState() throws Exception {
    clearAllServices();

    final MockHttpServletRequest mockRequest = new MockHttpServletRequest("GET", CONTEXT
            + OAuthConstants.AUTHORIZE_URL);
    mockRequest.setParameter(OAuthConstants.CLIENT_ID, CLIENT_ID);
    mockRequest.setParameter(OAuthConstants.REDIRECT_URI, REDIRECT_URI);
    mockRequest.setParameter(OAuthConstants.STATE, STATE);
    mockRequest.setServerName(CAS_SERVER);
    mockRequest.setServerPort(CAS_PORT);
    mockRequest.setScheme(CAS_SCHEME);
    final MockHttpServletResponse mockResponse = new MockHttpServletResponse();

    ((OAuth20WrapperController) oauth20WrapperController)
        .getServicesManager().save(getRegisteredService(REDIRECT_URI, SERVICE_NAME));


    final Controller c = ((OAuth20WrapperController) oauth20WrapperController).getAuthorizeController();
    ((OAuth20AuthorizeController) c).setLoginUrl(CAS_URL);


    final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse);
    final HttpSession session = mockRequest.getSession();
    assertEquals(REDIRECT_URI, session.getAttribute(OAuthConstants.OAUTH20_CALLBACKURL));
    assertEquals(SERVICE_NAME, session.getAttribute(OAuthConstants.OAUTH20_SERVICE_NAME));
    assertEquals(STATE, session.getAttribute(OAuthConstants.OAUTH20_STATE));
    final View view = modelAndView.getView();
    assertTrue(view instanceof RedirectView);
    final RedirectView redirectView = (RedirectView) view;

    final MockHttpServletRequest reqSvc = new MockHttpServletRequest("GET", CONTEXT + OAuthConstants.CALLBACK_AUTHORIZE_URL);
    reqSvc.setServerName(CAS_SERVER);
    reqSvc.setServerPort(CAS_PORT);
    reqSvc.setScheme(CAS_SCHEME);
    final URL url = new URL(OAuthUtils.addParameter(CAS_URL, "service", reqSvc.getRequestURL().toString()));
    final URL url2 = new URL(redirectView.getUrl());

    assertEquals(url, url2);
}
项目:cas-5.1.0    文件:CasApplicationContextConfiguration.java   
@Bean
protected Controller rootController() {
    return new ParameterizableViewController() {
        @Override
        protected ModelAndView handleRequestInternal(final HttpServletRequest request, final HttpServletResponse response) 
                throws Exception {
            final String queryString = request.getQueryString();
            final String url = request.getContextPath() + "/login" + (queryString != null ? '?' + queryString : StringUtils.EMPTY);
            return new ModelAndView(new RedirectView(response.encodeURL(url)));
        }
    };
}
项目:cas-5.1.0    文件:CasWebAppConfiguration.java   
@Bean
protected Controller rootController() {
    return new ParameterizableViewController() {
        @Override
        protected ModelAndView handleRequestInternal(final HttpServletRequest request,
                                                     final HttpServletResponse response)
                throws Exception {
            final String queryString = request.getQueryString();
            final String url = request.getContextPath() + "/login"
                    + (queryString != null ? '?' + queryString : StringUtils.EMPTY);
            return new ModelAndView(new RedirectView(response.encodeURL(url)));
        }

    };
}
项目:cas-5.1.0    文件:CasWebAppConfiguration.java   
@Bean
public SimpleUrlHandlerMapping handlerMapping() {
    final SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping();

    final Controller root = rootController();
    mapping.setOrder(1);
    mapping.setAlwaysUseFullPath(true);
    mapping.setRootHandler(root);
    final Map urls = new HashMap();
    urls.put("/", root);

    mapping.setUrlMap(urls);
    return mapping;
}
项目:TARA-Server    文件:CasWebAppConfiguration.java   
@Bean
protected Controller rootController() {
    return new ParameterizableViewController() {
        protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
            String queryString = request.getQueryString();
            String url = request.getContextPath() + "/login" + (queryString != null ? '?' + queryString : "");
            return new ModelAndView(new RedirectView(response.encodeURL(url)));
        }
    };
}
项目:TARA-Server    文件:CasWebAppConfiguration.java   
@Bean
public SimpleUrlHandlerMapping handlerMapping() {
    SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping();
    Controller root = this.rootController();
    mapping.setOrder(1);
    mapping.setAlwaysUseFullPath(true);
    mapping.setRootHandler(root);
    Map urls = new HashMap();
    urls.put("/", root);
    mapping.setUrlMap(urls);
    return mapping;
}
项目:cas-server-4.2.1    文件:OAuth20AuthorizeControllerTests.java   
@Test
public void verifyOK() throws Exception {
    clearAllServices();

    final MockHttpServletRequest mockRequest = new MockHttpServletRequest("GET", CONTEXT
            + OAuthConstants.AUTHORIZE_URL);
    mockRequest.setParameter(OAuthConstants.CLIENT_ID, CLIENT_ID);
    mockRequest.setParameter(OAuthConstants.REDIRECT_URI, REDIRECT_URI);
    mockRequest.setServerName(CAS_SERVER);
    mockRequest.setServerPort(CAS_PORT);
    mockRequest.setScheme(CAS_SCHEME);
    final MockHttpServletResponse mockResponse = new MockHttpServletResponse();

    ((OAuth20WrapperController) oauth20WrapperController)
        .getServicesManager().save(getRegisteredService(REDIRECT_URI, SERVICE_NAME));

    final Controller c = ((OAuth20WrapperController) oauth20WrapperController).getAuthorizeController();
    ((OAuth20AuthorizeController) c).setLoginUrl(CAS_URL);

    final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse);
    final HttpSession session = mockRequest.getSession();
    assertEquals(REDIRECT_URI, session.getAttribute(OAuthConstants.OAUTH20_CALLBACKURL));
    assertEquals(SERVICE_NAME, session.getAttribute(OAuthConstants.OAUTH20_SERVICE_NAME));
    final View view = modelAndView.getView();
    assertTrue(view instanceof RedirectView);
    final RedirectView redirectView = (RedirectView) view;

    final MockHttpServletRequest reqSvc = new MockHttpServletRequest("GET", CONTEXT + OAuthConstants.CALLBACK_AUTHORIZE_URL);
    reqSvc.setServerName(CAS_SERVER);
    reqSvc.setServerPort(CAS_PORT);
    reqSvc.setScheme(CAS_SCHEME);
    final URL url = new URL(OAuthUtils.addParameter(CAS_URL, "service", reqSvc.getRequestURL().toString()));
    final URL url2 = new URL(redirectView.getUrl());

    assertEquals(url, url2);
}
项目:cas-server-4.2.1    文件:OAuth20AuthorizeControllerTests.java   
@Test
public void verifyOKWithState() throws Exception {
    clearAllServices();

    final MockHttpServletRequest mockRequest = new MockHttpServletRequest("GET", CONTEXT
            + OAuthConstants.AUTHORIZE_URL);
    mockRequest.setParameter(OAuthConstants.CLIENT_ID, CLIENT_ID);
    mockRequest.setParameter(OAuthConstants.REDIRECT_URI, REDIRECT_URI);
    mockRequest.setParameter(OAuthConstants.STATE, STATE);
    mockRequest.setServerName(CAS_SERVER);
    mockRequest.setServerPort(CAS_PORT);
    mockRequest.setScheme(CAS_SCHEME);
    final MockHttpServletResponse mockResponse = new MockHttpServletResponse();

    ((OAuth20WrapperController) oauth20WrapperController)
        .getServicesManager().save(getRegisteredService(REDIRECT_URI, SERVICE_NAME));


    final Controller c = ((OAuth20WrapperController) oauth20WrapperController).getAuthorizeController();
    ((OAuth20AuthorizeController) c).setLoginUrl(CAS_URL);


    final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse);
    final HttpSession session = mockRequest.getSession();
    assertEquals(REDIRECT_URI, session.getAttribute(OAuthConstants.OAUTH20_CALLBACKURL));
    assertEquals(SERVICE_NAME, session.getAttribute(OAuthConstants.OAUTH20_SERVICE_NAME));
    assertEquals(STATE, session.getAttribute(OAuthConstants.OAUTH20_STATE));
    final View view = modelAndView.getView();
    assertTrue(view instanceof RedirectView);
    final RedirectView redirectView = (RedirectView) view;

    final MockHttpServletRequest reqSvc = new MockHttpServletRequest("GET", CONTEXT + OAuthConstants.CALLBACK_AUTHORIZE_URL);
    reqSvc.setServerName(CAS_SERVER);
    reqSvc.setServerPort(CAS_PORT);
    reqSvc.setScheme(CAS_SCHEME);
    final URL url = new URL(OAuthUtils.addParameter(CAS_URL, "service", reqSvc.getRequestURL().toString()));
    final URL url2 = new URL(redirectView.getUrl());

    assertEquals(url, url2);
}
项目:hub-teamcity    文件:MockWebControllerManager.java   
public static WebControllerManager getMockedWebControllerManager() {
    final WebControllerManager mockedWebControllerManager = Mockito.mock(WebControllerManager.class);

    Mockito.doNothing().when(mockedWebControllerManager).registerController(Mockito.anyString(),
            Mockito.any(Controller.class));

    return mockedWebControllerManager;
}
项目:communote-server    文件:StartpageRegistry.java   
/**
 * Registers a start page providing controller. The start page of the controller will be set as
 * the current start page which can for instance be used as default redirection target or as
 * target page after successful authentication.
 * 
 * @param controller
 *            the controller to register
 * @param startpage
 *            the start page to register as relative URL
 */
public void registerStartpageController(Controller controller, String startpage) {
    startpage = correctUrl(startpage);
    if (startpage != null) {
        synchronized (this) {
            this.startpage = startpage;
            this.startpageController = controller;
            LOG.info("Setting start page to " + startpage);
        }
    }
}
项目:communote-server    文件:StartpageRegistry.java   
/**
 * Unregister a controller that provided a start page. If the controller is the last controller
 * that was added with {@link #registerStartpageController(Controller, String)} the start page
 * is reset to the default start page.
 * 
 * @param controller
 *            the controller to unregister
 */
public void unregisterStartpageController(Controller controller) {
    synchronized (this) {
        if (controller != null && controller.equals(this.startpageController)) {
            this.startpage = this.defaultStartpage;
            this.startpageController = null;
            LOG.info("Setting start page back to default " + this.startpage);
        }
    }
}
项目:communote-server    文件:DynamicUrlHandlerMapping.java   
/**
 *
 * @param controller
 *            the controller
 * @param urlPatterns
 *            the url patterns of the controller
 */
public synchronized void registerController(Controller controller,
        List<String> urlPatterns) {

    setServletContext(controller);

    dynamicUrlMaps.put(controller, urlPatterns);
    reloadHandlerMap();
    LOG.info("Added a controller (" + controller.getClass().getSimpleName() + ") for URLs: "
            + urlPatterns);
}
项目:communote-server    文件:DynamicUrlHandlerMappingRegistry.java   
/**
 * Registers the Service.
 *
 * @param controller
 *            The controller.
 */
@Bind(id = "controllerRegistry", optional = true, aggregate = true)
public void register(Controller controller) {
    List<String> urlPatterns = new ArrayList<String>();
    UrlMapping mapping = controller.getClass().getAnnotation(UrlMapping.class);
    if (mapping != null) {
        urlPatterns.add(mapping.value());
        addAdministrationView(mapping, controller);
    }
    UrlMappings mappings = controller.getClass().getAnnotation(UrlMappings.class);
    if (mappings != null) {
        for (String urlMapping : mappings.mappings()) {
            urlPatterns.add(urlMapping);
        }
    }
    mapper.registerController(controller, urlPatterns);

    StartpageController startpageMarker = controller.getClass().getAnnotation(
            StartpageController.class);
    if (startpageMarker != null) {
        if (urlPatterns.size() == 0) {
            LOGGER.warn("Startpage marker ignored because no URL mapping is defined");
        } else {
            registerStartpageController(controller, urlPatterns.get(0));
        }
    } else {
        LOGGER.debug("No startpage marker found");
    }
}
项目:communote-server    文件:DynamicUrlHandlerMappingRegistry.java   
/**
 * Registers the start page of the controller as new start page. The start page must be of legal
 * format.
 *
 * @param controller
 *            the controller providing the start page
 * @param urlPattern
 *            the urlPattern from which the start page should be extracted
 */
private void registerStartpageController(Controller controller, String urlPattern) {
    String startpageUrl = null;
    if (urlPattern.startsWith("/*/")) {
        startpageUrl = urlPattern.substring(2);
    }

    if (startpageUrl == null || startpageUrl.contains("*")) {
        LOGGER.warn("Ignoring invalid start page URL " + urlPattern);
    } else {
        getStartpageRegistry().registerStartpageController(controller, startpageUrl);
    }
}
项目:kc-rice    文件:KSBDispatcherServlet.java   
@Override
protected HandlerAdapter getHandlerAdapter(Object handler) throws ServletException {
    if (handler instanceof HttpRequestHandler) {
        return new HttpRequestHandlerAdapter();
    } else if (handler instanceof Controller) {
        Object unwrappedHandler = ClassLoaderUtils.unwrapFromProxy(handler);
        if (unwrappedHandler instanceof CXFServletControllerAdapter) {
            // TODO this just seems weird as this controller is initially null when it's created, does there need to be some synchronization here?
            ((CXFServletControllerAdapter)unwrappedHandler).setController(cxfServletController);
        }           
        return new SimpleControllerHandlerAdapter();
    }
    throw new RiceRuntimeException("handler of type " + handler.getClass().getName() + " is not known and can't be used by " + KSBDispatcherServlet.class.getName());
}
项目:rice    文件:KSBDispatcherServlet.java   
@Override
protected HandlerAdapter getHandlerAdapter(Object handler) throws ServletException {
    if (handler instanceof HttpRequestHandler) {
        return new HttpRequestHandlerAdapter();
    } else if (handler instanceof Controller) {
        Object unwrappedHandler = ClassLoaderUtils.unwrapFromProxy(handler);
        if (unwrappedHandler instanceof CXFServletControllerAdapter) {
            // TODO this just seems weird as this controller is initially null when it's created, does there need to be some synchronization here?
            ((CXFServletControllerAdapter)unwrappedHandler).setController(cxfServletController);
        }           
        return new SimpleControllerHandlerAdapter();
    }
    throw new RiceRuntimeException("handler of type " + handler.getClass().getName() + " is not known and can't be used by " + KSBDispatcherServlet.class.getName());
}
项目:bulbs-core    文件:SwaggerConfig.java   
@Bean
public SwaggerSpringMvcPlugin customImplementation(){
    SwaggerSpringMvcPlugin mvcPlugin = new SwaggerSpringMvcPlugin(this.springSwaggerConfig);
    mvcPlugin
            .apiInfo(apiInfo())
            .ignoredParameterTypes(Authentication.class, Principal.class)
            .excludeAnnotations(new Class[]{Controller.class})
            .authorizationTypes(authTypes())
            .authorizationContext(authContext()) ;
    return mvcPlugin;
}
项目:kuali_rice    文件:KSBDispatcherServlet.java   
@Override
protected HandlerAdapter getHandlerAdapter(Object handler) throws ServletException {
    if (handler instanceof HttpRequestHandler) {
        return new HttpRequestHandlerAdapter();
    } else if (handler instanceof Controller) {
        Object unwrappedHandler = ClassLoaderUtils.unwrapFromProxy(handler);
        if (unwrappedHandler instanceof CXFServletControllerAdapter) {
            // TODO this just seems weird as this controller is initially null when it's created, does there need to be some synchronization here?
            ((CXFServletControllerAdapter)unwrappedHandler).setController(cxfServletController);
        }           
        return new SimpleControllerHandlerAdapter();
    }
    throw new RiceRuntimeException("handler of type " + handler.getClass().getName() + " is not known and can't be used by " + KSBDispatcherServlet.class.getName());
}
项目:springboot-shiro-cas-mybatis    文件:OAuth20WrapperController.java   
public Controller getAuthorizeController() {
    return authorizeController;
}
项目:springboot-shiro-cas-mybatis    文件:OAuth20WrapperController.java   
public Controller getCallbackAuthorizeController() {
    return callbackAuthorizeController;
}
项目:springboot-shiro-cas-mybatis    文件:OAuth20WrapperController.java   
public Controller getAccessTokenController() {
    return accessTokenController;
}
项目:springboot-shiro-cas-mybatis    文件:OAuth20WrapperController.java   
public Controller getProfileController() {
    return profileController;
}
项目:cas-5.1.0    文件:CasManagementWebAppConfiguration.java   
@Bean
public Controller rootController() {
    return new CasManagementRootController();
}
项目:cas-server-4.2.1    文件:OAuth20WrapperController.java   
public Controller getAuthorizeController() {
    return authorizeController;
}
项目:cas-server-4.2.1    文件:OAuth20WrapperController.java   
public Controller getCallbackAuthorizeController() {
    return callbackAuthorizeController;
}
项目:cas-server-4.2.1    文件:OAuth20WrapperController.java   
public Controller getAccessTokenController() {
    return accessTokenController;
}
项目:cas-server-4.2.1    文件:OAuth20WrapperController.java   
public Controller getProfileController() {
    return profileController;
}
项目:spring4-understanding    文件:ControllerTypePredicate.java   
public boolean isControllerType(Class<?> beanClass) {
    return Controller.class.isAssignableFrom(beanClass);
}
项目:class-guard    文件:ControllerTypePredicate.java   
public boolean isControllerType(Class beanClass) {
    return Controller.class.isAssignableFrom(beanClass);
}
项目:springboot-shiro-cas-mybatis    文件:AbstractServletContextInitializer.java   
/**
 * Gets controller.
 *
 * @param id the id
 * @return the controller
 */
protected final Controller getController(final String id) {
    return applicationContext.getBean(id, Controller.class);
}
项目:cas-server-4.2.1    文件:AbstractServletContextInitializer.java   
/**
 * Gets controller.
 *
 * @param id the id
 * @return the controller
 */
protected final Controller getController(final String id) {
    return applicationContext.getBean(id, Controller.class);
}
项目:communote-server    文件:DynamicUrlHandlerMapping.java   
/**
 * Unregister all handlers specified in the URL map for the corresponding plugin.
 *
 * @param controller
 *            the controller
 */
public synchronized void unregisterController(Controller controller) {
    dynamicUrlMaps.remove(controller);
    reloadHandlerMap();
    LOG.info("Removed a controller " + controller.getClass().getSimpleName());
}
项目:communote-server    文件:DynamicUrlHandlerMapping.java   
/**
 * Check if the controller implements {@link ServletContextAware} and set the servlet context
 *
 * @param controller
 *            the controller to set the servlet context
 */
private void setServletContext(Controller controller) {
    if (controller instanceof ServletContextAware) {
        ((ServletContextAware) controller).setServletContext(this.getServletContext());
    }
}