Java 类org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler 实例源码

项目:spring4-understanding    文件:MvcNamespaceTests.java   
@Test
public void testDefaultServletHandler() throws Exception {
    loadBeanDefinitions("mvc-config-default-servlet.xml", 6);

    HttpRequestHandlerAdapter adapter = appContext.getBean(HttpRequestHandlerAdapter.class);
    assertNotNull(adapter);

    DefaultServletHttpRequestHandler handler = appContext.getBean(DefaultServletHttpRequestHandler.class);
    assertNotNull(handler);

    SimpleUrlHandlerMapping mapping = appContext.getBean(SimpleUrlHandlerMapping.class);
    assertNotNull(mapping);
    assertEquals(Ordered.LOWEST_PRECEDENCE, mapping.getOrder());

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI("/foo.css");
    request.setMethod("GET");

    HandlerExecutionChain chain = mapping.getHandler(request);
    assertTrue(chain.getHandler() instanceof DefaultServletHttpRequestHandler);

    MockHttpServletResponse response = new MockHttpServletResponse();
    ModelAndView mv = adapter.handle(request, response, chain.getHandler());
    assertNull(mv);
}
项目:spring4-understanding    文件:MvcNamespaceTests.java   
@Test
public void testDefaultServletHandlerWithOptionalAttributes() throws Exception {
    loadBeanDefinitions("mvc-config-default-servlet-optional-attrs.xml", 6);

    HttpRequestHandlerAdapter adapter = appContext.getBean(HttpRequestHandlerAdapter.class);
    assertNotNull(adapter);

    DefaultServletHttpRequestHandler handler = appContext.getBean(DefaultServletHttpRequestHandler.class);
    assertNotNull(handler);

    SimpleUrlHandlerMapping mapping = appContext.getBean(SimpleUrlHandlerMapping.class);
    assertNotNull(mapping);
    assertEquals(Ordered.LOWEST_PRECEDENCE, mapping.getOrder());

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI("/foo.css");
    request.setMethod("GET");

    HandlerExecutionChain chain = mapping.getHandler(request);
    assertTrue(chain.getHandler() instanceof DefaultServletHttpRequestHandler);

    MockHttpServletResponse response = new MockHttpServletResponse();
    ModelAndView mv = adapter.handle(request, response, chain.getHandler());
    assertNull(mv);
}
项目:spring4-understanding    文件:DefaultServletHandlerConfigurerTests.java   
@Test
public void enable() throws Exception {
    configurer.enable();
    SimpleUrlHandlerMapping getHandlerMapping = getHandlerMapping();
    SimpleUrlHandlerMapping handlerMapping = getHandlerMapping;
    DefaultServletHttpRequestHandler handler = (DefaultServletHttpRequestHandler) handlerMapping.getUrlMap().get("/**");

    assertNotNull(handler);
    assertEquals(Integer.MAX_VALUE, handlerMapping.getOrder());

    handler.handleRequest(new MockHttpServletRequest(), response);

    String expected = "default";
    assertEquals("The ServletContext was not called with the default servlet name", expected, servletContext.url);
    assertEquals("The request was not forwarded", expected, response.getForwardedUrl());
}
项目:light-task-scheduler    文件:CSRFHandlerInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request,
                         HttpServletResponse response, Object handler) throws Exception {

    if (handler instanceof DefaultServletHttpRequestHandler) {
        return true;
    }

    if (request.getMethod().equalsIgnoreCase("GET")) {
        return true;
    } else {
        String sessionToken = CSRFTokenManager.getToken(request.getSession());
        String requestToken = CSRFTokenManager.getToken(request);
        // 检查 csrf token是否正确
        if (sessionToken.equals(requestToken)) {
            return true;
        } else {
            response.sendError(HttpServletResponse.SC_FORBIDDEN, "Bad or missing CSRF value");
            return false;
        }
    }
}
项目:class-guard    文件:MvcNamespaceTests.java   
@Test
public void testDefaultServletHandler() throws Exception {
    loadBeanDefinitions("mvc-config-default-servlet.xml", 5);

    HttpRequestHandlerAdapter adapter = appContext.getBean(HttpRequestHandlerAdapter.class);
    assertNotNull(adapter);

    DefaultServletHttpRequestHandler handler = appContext.getBean(DefaultServletHttpRequestHandler.class);
    assertNotNull(handler);

    SimpleUrlHandlerMapping mapping = appContext.getBean(SimpleUrlHandlerMapping.class);
    assertNotNull(mapping);
    assertEquals(Ordered.LOWEST_PRECEDENCE, mapping.getOrder());

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI("/foo.css");
    request.setMethod("GET");

    HandlerExecutionChain chain = mapping.getHandler(request);
    assertTrue(chain.getHandler() instanceof DefaultServletHttpRequestHandler);

    MockHttpServletResponse response = new MockHttpServletResponse();
    ModelAndView mv = adapter.handle(request, response, chain.getHandler());
    assertNull(mv);
}
项目:class-guard    文件:MvcNamespaceTests.java   
@Test
public void testDefaultServletHandlerWithOptionalAttributes() throws Exception {
    loadBeanDefinitions("mvc-config-default-servlet-optional-attrs.xml", 5);

    HttpRequestHandlerAdapter adapter = appContext.getBean(HttpRequestHandlerAdapter.class);
    assertNotNull(adapter);

    DefaultServletHttpRequestHandler handler = appContext.getBean(DefaultServletHttpRequestHandler.class);
    assertNotNull(handler);

    SimpleUrlHandlerMapping mapping = appContext.getBean(SimpleUrlHandlerMapping.class);
    assertNotNull(mapping);
    assertEquals(Ordered.LOWEST_PRECEDENCE, mapping.getOrder());

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI("/foo.css");
    request.setMethod("GET");

    HandlerExecutionChain chain = mapping.getHandler(request);
    assertTrue(chain.getHandler() instanceof DefaultServletHttpRequestHandler);

    MockHttpServletResponse response = new MockHttpServletResponse();
    ModelAndView mv = adapter.handle(request, response, chain.getHandler());
    assertNull(mv);
}
项目:class-guard    文件:DefaultServletHandlerConfigurerTests.java   
@Test
public void enable() throws Exception {
    configurer.enable();
    SimpleUrlHandlerMapping getHandlerMapping = getHandlerMapping();
    SimpleUrlHandlerMapping handlerMapping = getHandlerMapping;
    DefaultServletHttpRequestHandler handler = (DefaultServletHttpRequestHandler) handlerMapping.getUrlMap().get("/**");

    assertNotNull(handler);
    assertEquals(Integer.MAX_VALUE, handlerMapping.getOrder());

    handler.handleRequest(new MockHttpServletRequest(), response);

    String expected = "default";
    assertEquals("The ServletContext was not called with the default servlet name", expected, servletContext.url);
    assertEquals("The request was not forwarded", expected, response.getForwardedUrl());
}
项目:javan-blog    文件:CSRFHandlerInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

    if (handler instanceof DefaultServletHttpRequestHandler) {
        return true;
    }

    if (request.getMethod().equalsIgnoreCase("GET")) {
        // GET - allow the request
        return true;
    } else {
        // This is a POST request - need to check the CSRF token
        String sessionToken = CSRFTokenManager.getTokenForSession(request.getSession());
        String requestToken = CSRFTokenManager.getTokenFromRequest(request);
        if (sessionToken.equals(requestToken)) {
            return true;
        } else {
            response.sendError(HttpServletResponse.SC_FORBIDDEN, "Bad or missing CSRF value");
            return false;
        }
    }
}
项目:spring4-understanding    文件:DefaultServletHandlerBeanDefinitionParser.java   
@Override
public BeanDefinition parse(Element element, ParserContext parserContext) {
    Object source = parserContext.extractSource(element);

    String defaultServletName = element.getAttribute("default-servlet-name");
    RootBeanDefinition defaultServletHandlerDef = new RootBeanDefinition(DefaultServletHttpRequestHandler.class);
    defaultServletHandlerDef.setSource(source);
    defaultServletHandlerDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
    if (StringUtils.hasText(defaultServletName)) {
        defaultServletHandlerDef.getPropertyValues().add("defaultServletName", defaultServletName);
    }
    String defaultServletHandlerName = parserContext.getReaderContext().generateBeanName(defaultServletHandlerDef);
    parserContext.getRegistry().registerBeanDefinition(defaultServletHandlerName, defaultServletHandlerDef);
    parserContext.registerComponent(new BeanComponentDefinition(defaultServletHandlerDef, defaultServletHandlerName));

    Map<String, String> urlMap = new ManagedMap<String, String>();
    urlMap.put("/**", defaultServletHandlerName);

    RootBeanDefinition handlerMappingDef = new RootBeanDefinition(SimpleUrlHandlerMapping.class);
    handlerMappingDef.setSource(source);
    handlerMappingDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
    handlerMappingDef.getPropertyValues().add("urlMap", urlMap);

    String handlerMappingBeanName = parserContext.getReaderContext().generateBeanName(handlerMappingDef);
    parserContext.getRegistry().registerBeanDefinition(handlerMappingBeanName, handlerMappingDef);
    parserContext.registerComponent(new BeanComponentDefinition(handlerMappingDef, handlerMappingBeanName));

    // Ensure BeanNameUrlHandlerMapping (SPR-8289) and default HandlerAdapters are not "turned off"
    MvcNamespaceUtils.registerDefaultComponents(parserContext, source);

    return null;
}
项目:spring4-understanding    文件:DefaultServletHandlerConfigurerTests.java   
@Test
public void enableWithServletName() throws Exception {
    configurer.enable("defaultServlet");
    SimpleUrlHandlerMapping handlerMapping = getHandlerMapping();
    DefaultServletHttpRequestHandler handler = (DefaultServletHttpRequestHandler) handlerMapping.getUrlMap().get("/**");

    assertNotNull(handler);
    assertEquals(Integer.MAX_VALUE, handlerMapping.getOrder());

    handler.handleRequest(new MockHttpServletRequest(), response);

    String expected = "defaultServlet";
    assertEquals("The ServletContext was not called with the default servlet name", expected, servletContext.url);
    assertEquals("The request was not forwarded", expected, response.getForwardedUrl());
}
项目:class-guard    文件:DefaultServletHandlerBeanDefinitionParser.java   
public BeanDefinition parse(Element element, ParserContext parserContext) {
    Object source = parserContext.extractSource(element);

    String defaultServletName = element.getAttribute("default-servlet-name");
    RootBeanDefinition defaultServletHandlerDef = new RootBeanDefinition(DefaultServletHttpRequestHandler.class);
    defaultServletHandlerDef.setSource(source);
    defaultServletHandlerDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
    if (StringUtils.hasText(defaultServletName)) {
        defaultServletHandlerDef.getPropertyValues().add("defaultServletName", defaultServletName);
    }
    String defaultServletHandlerName = parserContext.getReaderContext().generateBeanName(defaultServletHandlerDef);
    parserContext.getRegistry().registerBeanDefinition(defaultServletHandlerName, defaultServletHandlerDef);
    parserContext.registerComponent(new BeanComponentDefinition(defaultServletHandlerDef, defaultServletHandlerName));

    Map<String, String> urlMap = new ManagedMap<String, String>();
    urlMap.put("/**", defaultServletHandlerName);

    RootBeanDefinition handlerMappingDef = new RootBeanDefinition(SimpleUrlHandlerMapping.class);
    handlerMappingDef.setSource(source);
    handlerMappingDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
    handlerMappingDef.getPropertyValues().add("urlMap", urlMap);

    String handlerMappingBeanName = parserContext.getReaderContext().generateBeanName(handlerMappingDef);
    parserContext.getRegistry().registerBeanDefinition(handlerMappingBeanName, handlerMappingDef);
    parserContext.registerComponent(new BeanComponentDefinition(handlerMappingDef, handlerMappingBeanName));

    // Ensure BeanNameUrlHandlerMapping (SPR-8289) and default HandlerAdapters are not "turned off"
    MvcNamespaceUtils.registerDefaultComponents(parserContext, source);

    return null;
}
项目:class-guard    文件:DefaultServletHandlerConfigurerTests.java   
@Test
public void enableWithServletName() throws Exception {
    configurer.enable("defaultServlet");
    SimpleUrlHandlerMapping handlerMapping = getHandlerMapping();
    DefaultServletHttpRequestHandler handler = (DefaultServletHttpRequestHandler) handlerMapping.getUrlMap().get("/**");

    assertNotNull(handler);
    assertEquals(Integer.MAX_VALUE, handlerMapping.getOrder());

    handler.handleRequest(new MockHttpServletRequest(), response);

    String expected = "defaultServlet";
    assertEquals("The ServletContext was not called with the default servlet name", expected, servletContext.url);
    assertEquals("The request was not forwarded", expected, response.getForwardedUrl());
}
项目:lodsve-framework    文件:WebMvcConfiguration.java   
@Bean
public DefaultServletHttpRequestHandler defaultServletHttpRequestHandler() {
    return new DefaultServletHttpRequestHandler();
}
项目:spring4-understanding    文件:DefaultServletHandlerConfigurer.java   
/**
 * Enable forwarding to the "default" Servlet identified by the given name.
 * This is useful when the default Servlet cannot be auto-detected, for example when it has been manually configured.
 * @see DefaultServletHttpRequestHandler
 */
public void enable(String defaultServletName) {
    handler = new DefaultServletHttpRequestHandler();
    handler.setDefaultServletName(defaultServletName);
    handler.setServletContext(servletContext);
}
项目:spring4-understanding    文件:WebAppResourceTests.java   
@Test
public void resourcesViaDefaultServlet() throws Exception {
    this.mockMvc.perform(get("/unknown/resource"))
        .andExpect(handler().handlerType(DefaultServletHttpRequestHandler.class))
        .andExpect(forwardedUrl("default"));
}
项目:class-guard    文件:WebAppResourceTests.java   
@Test
public void resourcesViaDefaultServlet() throws Exception {
    this.mockMvc.perform(get("/unknown/resource"))
        .andExpect(handler().handlerType(DefaultServletHttpRequestHandler.class))
        .andExpect(forwardedUrl("default"));
}
项目:class-guard    文件:DefaultServletHandlerConfigurer.java   
/**
 * Enable forwarding to the "default" Servlet identified by the given name.
 * This is useful when the default Servlet cannot be auto-detected, for example when it has been manually configured.
 * @see DefaultServletHttpRequestHandler
 */
public void enable(String defaultServletName) {
    handler = new DefaultServletHttpRequestHandler();
    handler.setDefaultServletName(defaultServletName);
    handler.setServletContext(servletContext);
}