내가 아는 한이 컨벤션은 Struts1에 의해 전파되었습니다. 사용자 가이드는 다음과 같이 설명합니다.
참고 : 이 섹션의 자료는 Struts에만 국한되지 않습니다. 서블릿 매핑의 구성은 Java 서블릿 사양에 정의되어 있습니다. 이 섹션에서는 응용 프로그램을 구성하는 가장 일반적인 방법에 대해 설명합니다.
컨트롤러 서블릿에서 처리 할 URL을 정의하는 데는 접두사 일치 및 확장 일치라는 두 가지 일반적인 접근 방식이 있습니다. 각 접근 방식에 대한 적절한 매핑 항목은 아래에서 설명합니다.
접두사 일치는 특정 값으로 시작하는 (컨텍스트 경로 부분 뒤) 모든 URL이이 서블릿에 전달되기를 원한다는 것을 의미합니다. 이러한 항목은 다음과 같습니다.
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/do/*</url-pattern>
</servlet-mapping>
이는 /logon
앞서 설명한 경로 와 일치하는 요청 URI 가 다음과 같을 수 있음을 의미합니다 .
http://www.mycompany.com/myapplication/do/logon
여기서 /myapplication
응용 프로그램이 전개되고있는 상황에 맞는 경로입니다.
반면 확장 매핑은 URI가 마침표와 정의 된 문자 집합으로 끝나는 사실을 기반으로 요청 URI를 작업 서블릿과 일치시킵니다. 예를 들어, JSP 처리 서블릿 *.jsp
은 요청 된 모든 JSP 페이지를 처리하기 위해 호출되도록 패턴에 매핑됩니다 .
확장 ( "무언가"를 의미 함) 을 사용하려면*.do
매핑 항목은 다음과 같습니다.
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
/logon
앞에서 설명한 경로 와 일치하는 요청 URI
는 다음과 같습니다.
http://www.mycompany.com/myapplication/logon.do
경고 - <servlet-mapping>
컨트롤러 서블릿에 대해 둘 이상의 요소를 정의하면 프레임 워크가 올바르게 작동하지 않습니다 .
경고 -버전 1.1 이후 새 모듈 지원을 사용하는 경우 확장 매핑 만 지원된다는 점을 알고 있어야합니다.