2010-05-04 1 views
0

Java 응용 프로그램 집합을 실행하기 위해 JBoss 4.0.5.GA를 사용하고 있습니다. 그 중 하나는 스프링 1.4를 사용하는 웹 프런트 엔드입니다. URL 매핑은 요청 URL의 '가짜'페이지가 컨트롤러에 매핑되는 방식으로 구성됩니다. 즉, 누군가가 /index.htm을 요청하면 디스크에 실제 'index.htm'이없고 그 요청이 특정 컨트롤러에 매핑되어 JSP 뷰가 렌더링됩니다.JBoss 4.0.5의 index.htm 페이지에 대한 디렉토리 색인 ('/')에 대한 웹 요청

그래서 문제는 다음과 같습니다. JBoss에게 디렉토리 색인에 대한 모든 요청을 대응하는 'index.htm'URL로 전달하도록 알려줍니다. / → /index.htm; /news/ → /news/index.htm; /foo/bar/baz/ → /foo/bar/baz/index.htm 등등.

Tomcat의 welcome-file-list 기능을 사용할 수 없습니다. 디스크의 파일을 찾지 만 'index.htm은 모두 가짜이며 실제로 디스크에는 존재하지 않기 때문입니다.

답변

0

/ 개의 요청을 처리하는 컨트롤러를 추가하여 index.htm 컨트롤러로 전달할 수없는 이유는 무엇입니까?

옵션이 아니라면 URLRewriteFilter 라이브러리를 사용하여 전달 또는 리디렉션을 수행하는 것이 좋습니다. 이것은 자신의 코드 외부에 앉아있을 수 있어야합니다.

+0

URLRewriteFilter를 사용하려고했지만 어쨌든 전체 응용 프로그램이 손상되었습니다. 아시다시피, 그것은 다른 회사에 의해 설계되고 만들어졌고 모든 안티 패턴 사용에있어 꽤 좋은 작업을했습니다. :) 알아낼 수있는 한 web.xml에 몇 가지 예비 사항을 설정하는 필터가 있습니다. 나중에 요청 처리를위한 정보 URLRewriteFilter가 전달을 수행하면 다른 모든 필터를 건너 뛰고 요청을 직접 서블릿에 전달합니다. 나는 행운과 함께, 필터 순서로 놀려고했다. 그래서 불행히도 URLRewriteFilter는 옵션이 아닙니다. –

+0

그래서 추측 하건대, 제안한대로 다른 컨트롤러로 요청을 전달할 새로운 컨트롤러를 추가해야합니다. 감사! :) –

관련 문제