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

下面列出了怎么用org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: spring-analysis-note   文件: MvcNamespaceTests.java
@Test
public void testDefaultServletHandler() throws Exception {
	loadBeanDefinitions("mvc-config-default-servlet.xml");

	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);
}
 
源代码2 项目: spring-analysis-note   文件: MvcNamespaceTests.java
@Test
public void testDefaultServletHandlerWithOptionalAttributes() throws Exception {
	loadBeanDefinitions("mvc-config-default-servlet-optional-attrs.xml");

	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);
}
 
源代码3 项目: java-technology-stack   文件: MvcNamespaceTests.java
@Test
public void testDefaultServletHandler() throws Exception {
	loadBeanDefinitions("mvc-config-default-servlet.xml");

	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);
}
 
源代码4 项目: java-technology-stack   文件: MvcNamespaceTests.java
@Test
public void testDefaultServletHandlerWithOptionalAttributes() throws Exception {
	loadBeanDefinitions("mvc-config-default-servlet-optional-attrs.xml");

	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);
}
 
源代码5 项目: 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);
}
 
源代码6 项目: 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);
}
 
@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());
}
 
@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;
        }
    }
}
 
/**
 * Enable forwarding to the "default" Servlet identified by the given name.
 * <p>This is useful when the default Servlet cannot be autodetected,
 * for example when it has been manually configured.
 * @see DefaultServletHttpRequestHandler
 */
public void enable(@Nullable String defaultServletName) {
	this.handler = new DefaultServletHttpRequestHandler();
	if (defaultServletName != null) {
		this.handler.setDefaultServletName(defaultServletName);
	}
	this.handler.setServletContext(this.servletContext);
}
 
@Override
@Nullable
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<>();
	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;
}
 
@Test
public void enable() throws Exception {
	configurer.enable();
	SimpleUrlHandlerMapping handlerMapping = configurer.buildHandlerMapping();
	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());
}
 
@Test
public void enableWithServletName() throws Exception {
	configurer.enable("defaultServlet");
	SimpleUrlHandlerMapping handlerMapping = configurer.buildHandlerMapping();
	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());
}
 
/**
 * Enable forwarding to the "default" Servlet identified by the given name.
 * <p>This is useful when the default Servlet cannot be autodetected,
 * for example when it has been manually configured.
 * @see DefaultServletHttpRequestHandler
 */
public void enable(@Nullable String defaultServletName) {
	this.handler = new DefaultServletHttpRequestHandler();
	if (defaultServletName != null) {
		this.handler.setDefaultServletName(defaultServletName);
	}
	this.handler.setServletContext(this.servletContext);
}
 
@Override
@Nullable
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<>();
	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;
}
 
@Test
public void enable() throws Exception {
	configurer.enable();
	SimpleUrlHandlerMapping handlerMapping = configurer.buildHandlerMapping();
	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());
}
 
@Test
public void enableWithServletName() throws Exception {
	configurer.enable("defaultServlet");
	SimpleUrlHandlerMapping handlerMapping = configurer.buildHandlerMapping();
	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());
}
 
@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;
}
 
@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;
}
 
@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());
}
 
源代码20 项目: spring-analysis-note   文件: WebAppResourceTests.java
@Test
public void resourcesViaDefaultServlet() throws Exception {
	this.mockMvc.perform(get("/unknown/resource"))
		.andExpect(handler().handlerType(DefaultServletHttpRequestHandler.class))
		.andExpect(forwardedUrl("default"));
}
 
@Test
public void resourcesViaDefaultServlet() throws Exception {
	this.mockMvc.perform(get("/unknown/resource"))
		.andExpect(handler().handlerType(DefaultServletHttpRequestHandler.class))
		.andExpect(forwardedUrl("default"));
}
 
/**
 * 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);
}
 
@Test
public void resourcesViaDefaultServlet() throws Exception {
	this.mockMvc.perform(get("/unknown/resource"))
		.andExpect(handler().handlerType(DefaultServletHttpRequestHandler.class))
		.andExpect(forwardedUrl("default"));
}
 
源代码24 项目: lams   文件: DefaultServletHandlerConfigurer.java
/**
 * Enable forwarding to the "default" Servlet identified by the given name.
 * <p>This is useful when the default Servlet cannot be autodetected,
 * for example when it has been manually configured.
 * @see DefaultServletHttpRequestHandler
 */
public void enable(String defaultServletName) {
	this.handler = new DefaultServletHttpRequestHandler();
	this.handler.setDefaultServletName(defaultServletName);
	this.handler.setServletContext(this.servletContext);
}
 
 类方法
 同包方法