From f8edea40ae345bad31589c67686c86cd180ef4bc Mon Sep 17 00:00:00 2001 From: Yasser Afifi Date: Tue, 27 Dec 2016 21:55:41 +0000 Subject: [PATCH] added HandlerMapping exampels --- .../Controller/ExampleTwoController.java | 19 ++++++++ .../Controller/WelcomeController.java | 19 ++++++++ ...ion_ControllerClassNameHandlerMapping.java | 38 ++++++++++++++++ ...Configuration_SimpleUrlHandlerMapping.java | 45 +++++++++++++++++++ .../config/JavaConfig/WebAppInitializer.java | 25 +++++++++++ .../config/XML/BeanNameUrlHandlerMapping.xml | 34 ++++++++++++++ ...ontrollerClassNameHandlerMappingConfig.xml | 36 +++++++++++++++ .../XML/SimpleUrlHandlerMappingConfig.xml | 38 ++++++++++++++++ 8 files changed, 254 insertions(+) create mode 100644 spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/Controller/ExampleTwoController.java create mode 100644 spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/Controller/WelcomeController.java create mode 100644 spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/JavaConfig/WebAppConfiguration_ControllerClassNameHandlerMapping.java create mode 100644 spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/JavaConfig/WebAppConfiguration_SimpleUrlHandlerMapping.java create mode 100644 spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/JavaConfig/WebAppInitializer.java create mode 100644 spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/XML/BeanNameUrlHandlerMapping.xml create mode 100644 spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/XML/ControllerClassNameHandlerMappingConfig.xml create mode 100644 spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/XML/SimpleUrlHandlerMappingConfig.xml diff --git a/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/Controller/ExampleTwoController.java b/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/Controller/ExampleTwoController.java new file mode 100644 index 0000000000..dceeca779f --- /dev/null +++ b/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/Controller/ExampleTwoController.java @@ -0,0 +1,19 @@ +package com.baeldung; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.mvc.AbstractController; + +public class ExampleTwoController extends AbstractController +{ + @Override + protected ModelAndView handleRequestInternal(HttpServletRequest request, + HttpServletResponse response) throws Exception { + System.out.println("Inside ExampleTwo Controller"); + + ModelAndView model = new ModelAndView("exampleTwo"); + + return model; + } +} \ No newline at end of file diff --git a/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/Controller/WelcomeController.java b/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/Controller/WelcomeController.java new file mode 100644 index 0000000000..fb1f8676f3 --- /dev/null +++ b/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/Controller/WelcomeController.java @@ -0,0 +1,19 @@ +package com.baeldung; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.mvc.AbstractController; + +public class WelcomeController extends AbstractController +{ + @Override + protected ModelAndView handleRequestInternal(HttpServletRequest request, + HttpServletResponse response) throws Exception { + System.out.println("Inside BeanNameMappingExampleOne Controller"); + + ModelAndView model = new ModelAndView("test"); + + return model; + } +} \ No newline at end of file diff --git a/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/JavaConfig/WebAppConfiguration_ControllerClassNameHandlerMapping.java b/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/JavaConfig/WebAppConfiguration_ControllerClassNameHandlerMapping.java new file mode 100644 index 0000000000..c6ad821616 --- /dev/null +++ b/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/JavaConfig/WebAppConfiguration_ControllerClassNameHandlerMapping.java @@ -0,0 +1,38 @@ +package com.baeldung; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.ViewResolver; +import org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping; +import org.springframework.web.servlet.view.InternalResourceViewResolver; + +@Configuration +public class WebAppConfiguration_ControllerClassNameHandlerMapping { + + @Bean + public ViewResolver viewResolver() { + InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); + viewResolver.setPrefix("/"); + viewResolver.setSuffix(".jsp"); + return viewResolver; + } + + @Bean + public ControllerClassNameHandlerMapping controllerClassNameHandlerMapping() { + ControllerClassNameHandlerMapping controllerClassNameHandlerMapping = new ControllerClassNameHandlerMapping(); + return controllerClassNameHandlerMapping; + } + + @Bean + public WelcomeController welcome() { + WelcomeController welcome = new WelcomeController(); + return welcome; + } + + @Bean + public ExampleTwoController exampleTwo() { + ExampleTwoController exampleTwo = new ExampleTwoController(); + return exampleTwo; + } + +} diff --git a/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/JavaConfig/WebAppConfiguration_SimpleUrlHandlerMapping.java b/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/JavaConfig/WebAppConfiguration_SimpleUrlHandlerMapping.java new file mode 100644 index 0000000000..33cc81a4b8 --- /dev/null +++ b/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/JavaConfig/WebAppConfiguration_SimpleUrlHandlerMapping.java @@ -0,0 +1,45 @@ +package com.baeldung; + +import java.util.HashMap; +import java.util.Map; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.ViewResolver; +import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping; +import org.springframework.web.servlet.view.InternalResourceViewResolver; + +@Configuration +public class WebAppConfiguration_SimpleUrlHandlerMapping { + + @Bean + public ViewResolver viewResolver() { + InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); + viewResolver.setPrefix("/"); + viewResolver.setSuffix(".jsp"); + return viewResolver; + } + + @Bean + public SimpleUrlHandlerMapping simpleUrlHandlerMapping() { + SimpleUrlHandlerMapping simpleUrlHandlerMapping = new SimpleUrlHandlerMapping(); + Map urlMap = new HashMap<>(); + urlMap.put("/welcome", welcome()); + urlMap.put("/exampleTwo", exampleTwo()); + simpleUrlHandlerMapping.setUrlMap(urlMap); + return simpleUrlHandlerMapping; + } + + @Bean + public WelcomeController welcome() { + WelcomeController welcome = new WelcomeController(); + return welcome; + } + + @Bean + public ExampleTwoController exampleTwo() { + ExampleTwoController exampleTwo = new ExampleTwoController(); + return exampleTwo; + } + +} diff --git a/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/JavaConfig/WebAppInitializer.java b/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/JavaConfig/WebAppInitializer.java new file mode 100644 index 0000000000..19fc09d6a8 --- /dev/null +++ b/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/JavaConfig/WebAppInitializer.java @@ -0,0 +1,25 @@ +package com.baeldung; + +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.ServletRegistration; + +import org.springframework.web.WebApplicationInitializer; +import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; +import org.springframework.web.servlet.DispatcherServlet; + +public class WebAppInitializer implements WebApplicationInitializer { + + public void onStartup(ServletContext container) throws ServletException { + + AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); + ctx.register(WebAppConfiguration_ControllerClassNameHandlerMapping.class); + ctx.setServletContext(container); + + ServletRegistration.Dynamic servlet = container.addServlet("dispatcher", new DispatcherServlet(ctx)); + + servlet.setLoadOnStartup(1); + servlet.addMapping("/"); + + } +} diff --git a/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/XML/BeanNameUrlHandlerMapping.xml b/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/XML/BeanNameUrlHandlerMapping.xml new file mode 100644 index 0000000000..867311f53c --- /dev/null +++ b/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/XML/BeanNameUrlHandlerMapping.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/XML/ControllerClassNameHandlerMappingConfig.xml b/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/XML/ControllerClassNameHandlerMappingConfig.xml new file mode 100644 index 0000000000..aacffb6b96 --- /dev/null +++ b/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/XML/ControllerClassNameHandlerMappingConfig.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/XML/SimpleUrlHandlerMappingConfig.xml b/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/XML/SimpleUrlHandlerMappingConfig.xml new file mode 100644 index 0000000000..68fe422268 --- /dev/null +++ b/spring-mvc-java/src/main/java/com/baeldung/HandlerMapping/config/XML/SimpleUrlHandlerMappingConfig.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + /test=firstController + /*/test=firstController + /exampleTwo=exampleTwoController + + + + + + + + + + \ No newline at end of file