Search in sources :

Example 1 with DefaultServletHttpRequestHandler

use of org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler in project spring-framework by spring-projects.

the class DefaultServletHandlerConfigurer method enable.

/**
	 * 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);
}
Also used : DefaultServletHttpRequestHandler(org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler)

Example 2 with DefaultServletHttpRequestHandler

use of org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler in project spring-framework by spring-projects.

the class DefaultServletHandlerConfigurer method getHandlerMapping.

/**
	 * Return a handler mapping instance ordered at {@link Integer#MAX_VALUE} containing the
	 * {@link DefaultServletHttpRequestHandler} instance mapped to {@code "/**"}; or {@code null} if
	 * default servlet handling was not been enabled.
	 */
protected AbstractHandlerMapping getHandlerMapping() {
    if (handler == null) {
        return null;
    }
    Map<String, HttpRequestHandler> urlMap = new HashMap<>();
    urlMap.put("/**", handler);
    SimpleUrlHandlerMapping handlerMapping = new SimpleUrlHandlerMapping();
    handlerMapping.setOrder(Integer.MAX_VALUE);
    handlerMapping.setUrlMap(urlMap);
    return handlerMapping;
}
Also used : HashMap(java.util.HashMap) DefaultServletHttpRequestHandler(org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler) HttpRequestHandler(org.springframework.web.HttpRequestHandler) SimpleUrlHandlerMapping(org.springframework.web.servlet.handler.SimpleUrlHandlerMapping)

Example 3 with DefaultServletHttpRequestHandler

use of org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler in project spring-framework by spring-projects.

the class MvcNamespaceTests method testDefaultServletHandlerWithOptionalAttributes.

@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);
}
Also used : HttpRequestHandlerAdapter(org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter) HandlerExecutionChain(org.springframework.web.servlet.HandlerExecutionChain) MockHttpServletRequest(org.springframework.mock.web.test.MockHttpServletRequest) ModelAndView(org.springframework.web.servlet.ModelAndView) DefaultServletHttpRequestHandler(org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler) SimpleUrlHandlerMapping(org.springframework.web.servlet.handler.SimpleUrlHandlerMapping) MockHttpServletResponse(org.springframework.mock.web.test.MockHttpServletResponse) Test(org.junit.Test)

Example 4 with DefaultServletHttpRequestHandler

use of org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler in project spring-framework by spring-projects.

the class DefaultServletHandlerConfigurerTests method enableWithServletName.

@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());
}
Also used : MockHttpServletRequest(org.springframework.mock.web.test.MockHttpServletRequest) DefaultServletHttpRequestHandler(org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler) SimpleUrlHandlerMapping(org.springframework.web.servlet.handler.SimpleUrlHandlerMapping) Test(org.junit.Test)

Example 5 with DefaultServletHttpRequestHandler

use of org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler in project spring-framework by spring-projects.

the class DefaultServletHandlerConfigurerTests method enable.

@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());
}
Also used : MockHttpServletRequest(org.springframework.mock.web.test.MockHttpServletRequest) DefaultServletHttpRequestHandler(org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler) SimpleUrlHandlerMapping(org.springframework.web.servlet.handler.SimpleUrlHandlerMapping) Test(org.junit.Test)

Aggregations

DefaultServletHttpRequestHandler (org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler)6 SimpleUrlHandlerMapping (org.springframework.web.servlet.handler.SimpleUrlHandlerMapping)5 Test (org.junit.Test)4 MockHttpServletRequest (org.springframework.mock.web.test.MockHttpServletRequest)4 MockHttpServletResponse (org.springframework.mock.web.test.MockHttpServletResponse)2 HandlerExecutionChain (org.springframework.web.servlet.HandlerExecutionChain)2 ModelAndView (org.springframework.web.servlet.ModelAndView)2 HttpRequestHandlerAdapter (org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter)2 HashMap (java.util.HashMap)1 HttpRequestHandler (org.springframework.web.HttpRequestHandler)1