Close

Spring MVC - Post Request With Simple Form Submission

[Last Updated: Aug 11, 2020]

Following example shows how to handle a Post request submitted by a static html page

Example

Java Config

@EnableWebMvc
@Configuration
public class MyWebConfig {

  @Bean
  public ExampleController exampleController() {
      return new ExampleController();
  }

  @Bean
  public WebMvcConfigurer staticPageConfigurer() {
      return new WebMvcConfigurer() {
          @Override
          public void addResourceHandlers(ResourceHandlerRegistry registry) {
              registry.addResourceHandler("/static/**")
                      .addResourceLocations("/static/");
          }
      };
  }
}
public class MyWebInitializer implements WebApplicationInitializer {

  @Override
  public void onStartup (ServletContext servletContext) {
      AnnotationConfigWebApplicationContext ctx =
                new AnnotationConfigWebApplicationContext();
      ctx.register(MyWebConfig.class);
      ctx.setServletContext(servletContext);

      ServletRegistration.Dynamic servlet =
                servletContext.addServlet("springDispatcherServlet",
                                          new DispatcherServlet(ctx));

      servlet.setLoadOnStartup(1);
      servlet.addMapping("/");
  }
}

A static html with Form post submission

src/main/webapp/static/simple-form.html

<html>
<body>
<h2>Person Details</h2>
<form action="/example-handler" method="post">
    <label for="personName">Name:</label><br>
    <input type="text" id="personName" name="personName"><br>
    <label for="personAddress">Address:</label><br>
    <input type="text" id="personAddress" name="personAddress"><br><br>
    <input type="submit" value="Submit">
</form>

</body>
</html>

Spring MVC controller

@Controller
@RequestMapping("/example-handler")
public class ExampleController {

  @RequestMapping(method = RequestMethod.POST)
  @ResponseBody
  public String handlePostRequest(String personName, String personAddress) {
      return String.format("simple response. name: %s, address: %s",
              personName, personAddress);
  }
}

Running example

To try examples, run embedded tomcat (configured in pom.xml of example project below):

mvn tomcat7:run-war

Output

Access static page at http://localhost:8080/static/simple-form.html

Fill form:

On submitting form

Example Project

Dependencies and Technologies Used:

  • spring-webmvc 5.2.6.RELEASE: Spring Web MVC.
  • javax.servlet-api 3.0.1 Java Servlet API
  • JDK 1.8
  • Maven 3.5.4

Spring Simple Form submission from a static page Select All Download
  • spring-mvc-simple-form-submission-post-example
    • src
      • main
        • java
          • com
            • logicbig
              • example
                • ExampleController.java
          • webapp
            • static

    See Also