SpringBoot Aprendizaje (Cinco) para recuperar la Web MVC primavera

componentes centrales Web WVC

paquete explicación
asignación de controlador La lista interceptor solicitud asignada conjuntamente controlador para llevar a cabo pre-procesamiento y post-procesamiento. Mapeo basado en ciertos criterios, criterios específicos debido a la implementación específicos HandlerMapping. Las dos implementaciones principales son HandlerMapping RequestMappingHandlerMapping (anotado banda de apoyo Método @RequestMapping) y el SimpleUrlHandlerMapping (la ruta URI modo de registro explícito al controlador)
adaptador Handler Ayuda DispatcherServlet llamada asignada a las solicitudes de controlador, independientemente de la real cómo llamar al manejador. El objetivo principal es proteger HandlerAdapter DispatcherServlet estos detalles.
HandlerExceptionResolver Excepción análisis
ViewResolver nombre Ver Cadena resuelto de la transformación real basado en el nombre de la vista lógica del proceso vuelve a presentar a la respuesta.
LocaleResolver,LocaleContextResolver Para proporcionar una visión internacional
ThemeResolver

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.imooc.web"/>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>

Anotación impulsada Web WVC

  • Notas configuración @Configuration
  • la activación de componentes @EnableWebMvc
  • Los componentes personalizados WebMvcConfigurer (interfaz, basada java1.8)

xml anotación y reemplazar

@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {
    @Bean
    public ViewResolver viewResolver(){
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setViewClass(JstlView.class);
        viewResolver.setPrefix("/WEB-INF/jsp/");
        viewResolver.setSuffix(".jsp");
        return viewResolver;
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new HandlerInterceptor() {
            @Override
            public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
                System.out.println("addInterceptors.preHandle");
                return true;
            }
        });
    }
}

El código de configuración @, @ EnableWebMvc, @ frijol código en cuestión sustituye a la siguiente configuración XML

    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>

    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
    </bean>

comentario @EnableWebMvc

  • notas Configuración @EnableWebMvc se carga automáticamente el @Configuration clase de configuración

  • En DelegatingWebMvcConfiguration sin @ Bean, @ clase de bean en WebMvcConfigurationSupport

Otras comentario Web MVC

  • Propiedades del modelo @ModelAttribute
  • Solicitud @RequestHeader cabecera
  • Cookies @CookieValue
  • APARTADO @ControllerAdvice
  • El manejo de excepciones
  • parámetros de la prueba

El código en cuestión

  • https://github.com/zhaimiya/springboot

Supongo que te gusta

Origin www.cnblogs.com/VVII/p/12462464.html
Recomendado
Clasificación