복붙노트

[SPRING] <mvc : default-servlet-handler />의 필요성과 사용법은 무엇입니까?

SPRING

의 필요성과 사용법은 무엇입니까?

Spring MVC에서 의 필요성은 무엇인가? 언제 사용해야합니까? 정확히 언제 필요합니다. 왜 우리는 그것을 사용해야 만 하는가? 나는 stackoverflow에서 몇 링크를 통해 갔지만 명확한 그림이나 이해를 얻을 수 없습니다. 누군가 설명 할 수 있습니까?

해결법

  1. ==============================

    1.Spring MVC에서 의 필요성은 무엇인가?

    Spring MVC에서 의 필요성은 무엇인가?

    이 핸들러를 사용하면 스프링 디스패처가 모든 요청을 기본 Servlet으로 전달합니다. 이 기능을 사용하려면 다음과 같이 주석 또는 xml 기반 구성을 사용할 수 있습니다.

    @Configuration
    @EnableWebMvc
    public class WebConfig extends WebMvcConfigurerAdapter {
    
        @Override
        public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
            configurer.enable();
        }
    }
    

    또는 XML :

    <mvc:default-servlet-handler/>
    

    그것은 무엇을 할 것인가?

    DefaultServletHttpRequestHandler는 대부분의 주요 서블릿 컨테이너 (Tomcat, Jetty, GlassFish, JBoss, Resin, WebLogic 및 WebSphere 포함)의 알려진 이름 목록을 사용하여 시작할 때 컨테이너의 기본 Servlet을 자동 감지하려고 시도합니다. 기본 서블릿이 다른 이름으로 사용자 정의 구성되었거나 기본 서블릿 이름을 알 수없는 곳에서 다른 서블릿 컨테이너를 사용하는 경우 다음 예제와 같이 기본 서블릿 이름을 명시 적으로 제공해야합니다.

    @Configuration
    @EnableWebMvc
    public class WebConfig extends WebMvcConfigurerAdapter {
    
        @Override
        public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
            configurer.enable("myCustomDefaultServlet");
        }
    }
    

    또는 XML :

    <mvc:default-servlet-handler default-servlet-name="myCustomDefaultServlet"/>
    

    언제 사용해야합니까? 언제 정확히 필요합니까? 왜 우리는 그것을 사용해야합니까?

    스프링 디스패처가 기본 서블릿을 사용하여 웹 루트 아래에 정적 리소스를 제공하기를 원할 때.

    DefaultServletHttpRequestHandler를 사용하는 경우 다음을 대체 할 수 있습니다.

        <mvc:resources mapping="/js/**" location="/js/" />
        <mvc:resources mapping="/css/**" location="/css/" />
        <mvc:resources mapping="/images/**" location="/images/" />
    

    with :

    <mvc:default-servlet-handler />
    

    더 많이 여기에서 탐험 할 수 있습니다.

  2. ==============================

    2.DispatcherServlet은 매핑 "/ *"을 사용하여 구성되기 때문에 .js / .css와 같은 모든 요청도 DispatcherServlet에 매핑되므로 HttpRequestHandler를 사용하여 이러한 정적 리소스 요청을 DefaultServlet에 전달해야합니다.

    DispatcherServlet은 매핑 "/ *"을 사용하여 구성되기 때문에 .js / .css와 같은 모든 요청도 DispatcherServlet에 매핑되므로 HttpRequestHandler를 사용하여 이러한 정적 리소스 요청을 DefaultServlet에 전달해야합니다.

  3. ==============================

    3.

    <mvc:default-servlet-handler />
    

    이 태그는 일반적으로 * .js, * .css, * .jpg 등의 자원을 얻는 데 사용됩니다.

    태그 mvc : default-servlet-handler는 mvc : annotation-driven의 핸들러보다 낮은 속성 (Integer.MAX_VALUE)을 갖는 DefaultServletHttpRequestHandler를 사용합니다.

    예를 들어

    (http : // localhost : 8080 / jquery.js)와 같은 요청은 검색 컨트롤러 매핑 @RequsetMapping ( "jquery.js")이고 요청이 컨트롤러 매핑을 찾지 못하면 폴더 웹에 리소스를 가져 오려고 시도합니다 또는 webapp.

    webapp / jquery.js를 가지고 있다면이 파일을 얻을 수 있습니다.

  4. from https://stackoverflow.com/questions/31346267/what-is-the-need-and-use-of-mvcdefault-servlet-handler by cc-by-sa and MIT license