Merge branch 'master' into pr/949-yasser-handler-mapping

This commit is contained in:
slavisa-baeldung
2017-01-03 11:17:58 +01:00
648 changed files with 196857 additions and 4914 deletions
-2
View File
@@ -1,2 +0,0 @@
### Relevant Articles:
- [Circular Dependencies in Spring](http://www.baeldung.com/circular-dependencies-in-spring)
@@ -0,0 +1,41 @@
package com.baeldung.spring.web.config;
import com.baeldung.web.controller.handlermapping.ExampleTwoController;
import com.baeldung.web.controller.handlermapping.WelcomeController;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping;
import org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
@Configuration
public class BeanNameHandlerMappingConfig {
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
@Bean
public BeanNameUrlHandlerMapping controllerClassNameHandlerMapping() {
BeanNameUrlHandlerMapping beanNameUrlHandlerMapping = new BeanNameUrlHandlerMapping();
return beanNameUrlHandlerMapping;
}
@Bean(name="/welcomeBean")
public WelcomeController welcomeBean() {
WelcomeController welcome = new WelcomeController();
return welcome;
}
@Bean(name="/ex")
public ExampleTwoController exampleTwo() {
ExampleTwoController exampleTwo = new ExampleTwoController();
return exampleTwo;
}
}
@@ -0,0 +1,42 @@
package com.baeldung.spring.web.config;
import com.baeldung.web.controller.handlermapping.ExampleTwoController;
import com.baeldung.web.controller.handlermapping.WelcomeController;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
@Configuration
public class ControllerClassNameHandlerMappingConfig {
@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;
}
}
@@ -0,0 +1,47 @@
package com.baeldung.spring.web.config;
import com.baeldung.web.controller.handlermapping.ExampleTwoController;
import com.baeldung.web.controller.handlermapping.WelcomeController;
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;
import java.util.HashMap;
import java.util.Map;
@Configuration
public class SimpleUrlHandlerMappingConfig {
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
@Bean
public SimpleUrlHandlerMapping simpleUrlHandlerMapping() {
SimpleUrlHandlerMapping simpleUrlHandlerMapping = new SimpleUrlHandlerMapping();
Map<String, Object> urlMap = new HashMap<>();
urlMap.put("/simpleUrlWelcome", 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;
}
}
@@ -0,0 +1,22 @@
package com.baeldung.web.controller.handlermapping;
import org.springframework.stereotype.Controller;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Controller
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;
}
}
@@ -0,0 +1,22 @@
package com.baeldung.web.controller.handlermapping;
import org.springframework.stereotype.Controller;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Controller
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;
}
}
@@ -0,0 +1,15 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8" />
</head>
<body>
<form action="#" th:action="@{/message/processForm}" method="post">
Message: <input type="text" value="message" id="message" name="message"/>
<input type="submit" />
</form>
<span th:text="${message}" id="received"></span>
</body>
</html>