Package org.springframework.web.servlet

Examples of org.springframework.web.servlet.DispatcherServlet


    assertEquals("mySurpriseView", response.getContentAsString());
  }

  @Test
  public void methodNameDispatchingControllerWithSuffix() throws Exception {
    @SuppressWarnings("serial") DispatcherServlet servlet = new DispatcherServlet() {
      @Override
      protected WebApplicationContext createWebApplicationContext(WebApplicationContext parent) {
        GenericWebApplicationContext wac = new GenericWebApplicationContext();
        wac.registerBeanDefinition("controller", new RootBeanDefinition(MethodNameDispatchingController.class));
        InternalPathMethodNameResolver methodNameResolver = new InternalPathMethodNameResolver();
        methodNameResolver.setSuffix("Handle");
        RootBeanDefinition adapterDef = new RootBeanDefinition(AnnotationMethodHandlerAdapter.class);
        adapterDef.getPropertyValues().add("methodNameResolver", methodNameResolver);
        wac.registerBeanDefinition("handlerAdapter", adapterDef);
        wac.refresh();
        return wac;
      }
    };
    servlet.init(new MockServletConfig());

    MockHttpServletRequest request = new MockHttpServletRequest("GET", "/my.do");
    MockHttpServletResponse response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals("myView", response.getContentAsString());

    request = new MockHttpServletRequest("GET", "/myOther.do");
    response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals("myOtherView", response.getContentAsString());

    request = new MockHttpServletRequest("POST", "/myLang.do");
    response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals("myLangView", response.getContentAsString());

    request = new MockHttpServletRequest("POST", "/mySurprise.do");
    response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals("mySurpriseView", response.getContentAsString());
  }
View Full Code Here


    assertEquals("mySurpriseView", response.getContentAsString());
  }

  @Test
  public void controllerClassNamePlusMethodNameDispatchingController() throws Exception {
    @SuppressWarnings("serial") DispatcherServlet servlet = new DispatcherServlet() {
      @Override
      protected WebApplicationContext createWebApplicationContext(WebApplicationContext parent) {
        GenericWebApplicationContext wac = new GenericWebApplicationContext();
        RootBeanDefinition mapping = new RootBeanDefinition(ControllerClassNameHandlerMapping.class);
        mapping.getPropertyValues().add("excludedPackages", null);
        wac.registerBeanDefinition("handlerMapping", mapping);
        wac.registerBeanDefinition("controller", new RootBeanDefinition(MethodNameDispatchingController.class));
        wac.refresh();
        return wac;
      }
    };
    servlet.init(new MockServletConfig());

    MockHttpServletRequest request = new MockHttpServletRequest("GET", "/methodnamedispatching/myHandle");
    MockHttpServletResponse response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals("myView", response.getContentAsString());

    request = new MockHttpServletRequest("GET", "/methodnamedispatching/myOtherHandle.do");
    response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals("myOtherView", response.getContentAsString());

    request = new MockHttpServletRequest("POST", "/methodnamedispatching/myLangHandle.x");
    response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals("myLangView", response.getContentAsString());

    request = new MockHttpServletRequest("POST", "/methodnamedispatching/mySurpriseHandle.y");
    response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals("mySurpriseView", response.getContentAsString());
  }
View Full Code Here

    initializer.onStartup(servletContext);

    assertEquals(1, servlets.size());
    assertNotNull(servlets.get(SERVLET_NAME));

    DispatcherServlet servlet = (DispatcherServlet) servlets.get(SERVLET_NAME);
    WebApplicationContext wac = servlet.getWebApplicationContext();
    ((AnnotationConfigWebApplicationContext) wac).refresh();

    assertTrue(wac.containsBean("bean"));
    assertTrue(wac.getBean("bean") instanceof MyBean);
View Full Code Here

      }
    };

    initializer.onStartup(servletContext);

    DispatcherServlet servlet = (DispatcherServlet) servlets.get(SERVLET_NAME);
    servlet.init(new MockServletConfig(this.servletContext));

    WebApplicationContext wac = servlet.getWebApplicationContext();
    ((AnnotationConfigWebApplicationContext) wac).refresh();

    assertTrue(wac.containsBean("bean"));
    assertTrue(wac.getBean("bean") instanceof MyBean);
  }
View Full Code Here

    AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
    context.register(configClass);
    context.setServletContext(servletContext);
    context.refresh();
    DispatcherServlet servlet = new DispatcherServlet(context);
    servlet.init(servletConfig);
    servlet.service(request, response);
    return response;
  }
View Full Code Here

    assertEquals("mySurpriseView", response.getContentAsString());
  }

  @Test
  public void postMethodNameDispatchingController() throws Exception {
    @SuppressWarnings("serial") DispatcherServlet servlet = new DispatcherServlet() {
      @Override
      protected WebApplicationContext createWebApplicationContext(WebApplicationContext parent) {
        GenericWebApplicationContext wac = new GenericWebApplicationContext();
        wac.registerBeanDefinition("controller",
            new RootBeanDefinition(MyPostMethodNameDispatchingController.class));
        wac.refresh();
        return wac;
      }
    };
    servlet.init(new MockServletConfig());

    MockHttpServletRequest request = new MockHttpServletRequest("GET", "/myHandle.do");
    MockHttpServletResponse response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals(405, response.getStatus());

    request = new MockHttpServletRequest("POST", "/myUnknownHandle.do");
    request.addParameter("myParam", "myValue");
    response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals(404, response.getStatus());

    request = new MockHttpServletRequest("POST", "/myHandle.do");
    request.addParameter("myParam", "myValue");
    response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals("myView", response.getContentAsString());

    request = new MockHttpServletRequest("POST", "/myOtherHandle.do");
    request.addParameter("myParam", "myValue");
    response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals("myOtherView", response.getContentAsString());

    request = new MockHttpServletRequest("POST", "/myLangHandle.do");
    request.addParameter("myParam", "myValue");
    response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals("myLangView", response.getContentAsString());

    request = new MockHttpServletRequest("POST", "/mySurpriseHandle.do");
    request.addParameter("myParam", "myValue");
    response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals("mySurpriseView", response.getContentAsString());
  }
View Full Code Here

    assertEquals(requestBody, response.getContentAsString());
  }

  @Test
  public void responseBodyNoAcceptableMediaType() throws ServletException, IOException {
    @SuppressWarnings("serial") DispatcherServlet servlet = new DispatcherServlet() {
      @Override
      protected WebApplicationContext createWebApplicationContext(WebApplicationContext parent) {
        GenericWebApplicationContext wac = new GenericWebApplicationContext();
        wac.registerBeanDefinition("controller", new RootBeanDefinition(RequestResponseBodyController.class));
        RootBeanDefinition converterDef = new RootBeanDefinition(StringHttpMessageConverter.class);
        converterDef.getPropertyValues().add("supportedMediaTypes", new MediaType("text", "plain"));
        RootBeanDefinition adapterDef = new RootBeanDefinition(AnnotationMethodHandlerAdapter.class);
        StringHttpMessageConverter converter = new StringHttpMessageConverter();
        converter.setSupportedMediaTypes(Collections.singletonList(new MediaType("text", "plain")));
        adapterDef.getPropertyValues().add("messageConverters", converter);
        wac.registerBeanDefinition("handlerAdapter", adapterDef);
        wac.refresh();
        return wac;
      }
    };
    servlet.init(new MockServletConfig());

    MockHttpServletRequest request = new MockHttpServletRequest("PUT", "/something");
    String requestBody = "Hello World";
    request.setContent(requestBody.getBytes("UTF-8"));
    request.addHeader("Content-Type", "text/plain; charset=utf-8");
    request.addHeader("Accept", "application/pdf, application/msword");
    MockHttpServletResponse response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals(406, response.getStatus());
  }
View Full Code Here

    assertEquals(requestBody, response.getContentAsString());
  }

  @Test
  public void unsupportedRequestBody() throws ServletException, IOException {
    @SuppressWarnings("serial") DispatcherServlet servlet = new DispatcherServlet() {
      @Override
      protected WebApplicationContext createWebApplicationContext(WebApplicationContext parent) {
        GenericWebApplicationContext wac = new GenericWebApplicationContext();
        wac.registerBeanDefinition("controller", new RootBeanDefinition(RequestResponseBodyController.class));
        RootBeanDefinition adapterDef = new RootBeanDefinition(AnnotationMethodHandlerAdapter.class);
        adapterDef.getPropertyValues().add("messageConverters", new ByteArrayHttpMessageConverter());
        wac.registerBeanDefinition("handlerAdapter", adapterDef);
        wac.refresh();
        return wac;
      }
    };
    servlet.init(new MockServletConfig());

    MockHttpServletRequest request = new MockHttpServletRequest("PUT", "/something");
    String requestBody = "Hello World";
    request.setContent(requestBody.getBytes("UTF-8"));
    request.addHeader("Content-Type", "application/pdf");
    MockHttpServletResponse response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals(415, response.getStatus());
    assertNotNull("No Accept response header set", response.getHeader("Accept"));
  }
View Full Code Here

    assertEquals(requestBody, response.getContentAsString());
  }

  @Test
  public void badRequestRequestBody() throws ServletException, IOException {
    @SuppressWarnings("serial") DispatcherServlet servlet = new DispatcherServlet() {
      @Override
      protected WebApplicationContext createWebApplicationContext(WebApplicationContext parent) {
        GenericWebApplicationContext wac = new GenericWebApplicationContext();
        wac.registerBeanDefinition("controller", new RootBeanDefinition(RequestResponseBodyController.class));
        RootBeanDefinition adapterDef = new RootBeanDefinition(AnnotationMethodHandlerAdapter.class);
        adapterDef.getPropertyValues().add("messageConverters", new NotReadableMessageConverter());
        wac.registerBeanDefinition("handlerAdapter", adapterDef);
        wac.refresh();
        return wac;
      }
    };
    servlet.init(new MockServletConfig());

    MockHttpServletRequest request = new MockHttpServletRequest("PUT", "/something");
    String requestBody = "Hello World";
    request.setContent(requestBody.getBytes("UTF-8"));
    request.addHeader("Content-Type", "application/pdf");
    MockHttpServletResponse response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals("Invalid response status code", HttpServletResponse.SC_BAD_REQUEST, response.getStatus());
  }
View Full Code Here

  /*
   * See SPR-6877
   */
  @Test
  public void overlappingMesssageConvertersRequestBody() throws ServletException, IOException {
    @SuppressWarnings("serial") DispatcherServlet servlet = new DispatcherServlet() {
      @Override
      protected WebApplicationContext createWebApplicationContext(WebApplicationContext parent) {
        GenericWebApplicationContext wac = new GenericWebApplicationContext();
        wac.registerBeanDefinition("controller", new RootBeanDefinition(RequestResponseBodyController.class));
        RootBeanDefinition adapterDef = new RootBeanDefinition(AnnotationMethodHandlerAdapter.class);
        List<HttpMessageConverter> messageConverters = new ArrayList<HttpMessageConverter>();
        messageConverters.add(new StringHttpMessageConverter());
        messageConverters
            .add(new SimpleMessageConverter(new MediaType("application","json"), MediaType.ALL));
        adapterDef.getPropertyValues().add("messageConverters", messageConverters);
        wac.registerBeanDefinition("handlerAdapter", adapterDef);
        wac.refresh();
        return wac;
      }
    };
    servlet.init(new MockServletConfig());

    MockHttpServletRequest request = new MockHttpServletRequest("PUT", "/something");
    request.setContent("Hello World".getBytes("UTF-8"));
    request.addHeader("Content-Type", "text/plain; charset=utf-8");
    request.addHeader("Accept", "application/json, text/javascript, */*");
    MockHttpServletResponse response = new MockHttpServletResponse();
    servlet.service(request, response);
    assertEquals("Invalid response status code", "application/json", response.getHeader("Content-Type"));
  }
View Full Code Here

TOP

Related Classes of org.springframework.web.servlet.DispatcherServlet

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.