1

하나의 파일에서 한 곳에서 웹 응용 프로그램에 대한 라우팅. yaml, xml 또는 속성 파일을 사용하여 웹 응용 프로그램의 라우팅과 URL을 정의하고 URL을 개별 메서드 또는 함수와 연결하는 것이 좋은 생각 인 것 같습니다. 왜 봄을 사용하지 않습니까? 프레임 워크 webapp2은 그런 식으로 취급하기 쉽습니다. 정규식이있는 URL 라우팅 방식은 YAML에 정의 된 읽기 좋은처럼 보일 수Spring 프레임 워크에서 URL을 라우팅 할 수 있습니까?

handlers: 
- url: /(amazonas.*|acre.*|alagoas.*|roraima-*|mato_grosso_do_sul*|pernambuco.*|bahia.*|rio_grande_do_sul.*|sao_paulo.*|goias.*|paraiba.*|piaui.*|ceara.*|amapa.*|tocantins.*|rondonia.*|sergipe.*|para.*|maranhao.*|rio_de_janeiro.*|rio_grande_do_norte.*|distrito_federal.*|espirito_santo.*|minas_gerais.*|parana.*|santa_catarina.*|rio_grande_do_sul.*) 
    script: br.app 

- url: /obrigado.txt 
    static_files: static/obrigado.txt 
    upload: static/obrigado.txt 
    secure: optional 
    expiration: "24h" 

- url: /ai/cat_tmpl/0 
    script: montao.app 

스트럿츠도 같다고 라우팅을 위해 XML을 사용. 그러나 Spring은 모든 라우팅을 한 곳에서 수집하는 좋은 방법이 없습니다. xml 파일에는 몇 가지 주석이 있으며 (핸들러의 메소드 선언 바로 위에 작성된) 주석과 urlrewrite와 같은 플러그인으로 대체 될 수있는 주석이 있습니다.

왜 Spring webapp의 라우팅을 한 곳에서 수집 할 수 없습니까? 그게 더 나은 디자인과 높은 결합력이 아니겠습니까? 또한 때로는 웹 응용 프로그램에 대해 하나 이상의 웹 컨텍스트를 가질 수없는 문제가 있습니다. 서블릿 스펙은 웹 애플리케이션에 대해 하나 이상의 웹 컨텍스트를 허용하지 않으며 이것이 비 분사이어야 함을 나타냅니다. 왜?

답변

3

스프링 MVC는 다른 라우팅 인프라를 연결하기에 충분히 유연합니다. springmvc-router을 살펴 봐야합니다.

역 라우팅은 봄 4.1 (SPR-5579 참조)로 사용할 수 있습니다 -하지만 여전히 SPR-5757에 대한를 투표 할 수 당신은 프레임 워크에서이 같은 항목을 참조하십시오.

관련 문제