2013-07-26 2 views
0

내 애플리케이션에서 생성 된 모든 링크는 response.ecodeURL로 둘러싸여 있습니다. 일부 서버에서는 encodeURL이 컨텍스트 경로를 URL에 추가합니다.Tomcat은 url에 컨텍스트 경로를 추가합니다.

응용 프로그램의 이름은 "appl"입니다. /a/b/c.jsp 링크를 만들면 DEV-system에 URL /a/b/c.jsp가 생성되고 /appl/a/b/c.jsp가 생성됩니다.

Tomcat이 ajp를 통해 연결하는 Apache Webserver는 관련 사실인지 확실하지 않습니다.

편집 : 웹 서버는 적합하지 않습니다. 나는 포트 8080에서 똑같은 일을 다시 시도했다.

+0

'HttpServletResponse.encodeURL'과'HttpServletResponse.encodeRedirectURL' 메소드는 결코 문맥 경로 앞에 붙여서는 안됩니다. 다른 구성 요소가이를 수행해야합니다. "링크 만들기 /a/b/c.jsp"라고 할 때 정확히 무엇을 의미합니까? –

+0

나는 ">Link와 같은 것을 HTML에 쓴다. – mibutec

답변

0

<c:url>은 항상 URL에 컨텍스트 경로를 미리 지정합니다. 이는 일반적인 관행이며 항상 수행되어야합니다. <c:url>을 사용하는 경우 자신의 접두어를 추가하면 안됩니다. 또한 <c:url>HttpServletResponse.encodeURL을 통해 URL을 실행합니다. 이 방법은 적절한 경우 URL 기반 세션 추적 정보 (예 : "; jsessionid"경로 매개 변수)를 추가합니다.

항상이어야합니다. <c:url>과 같은 것을 사용하거나 직접 처리해야하든 모든 URL에 컨텍스트 프리픽스를 추가해야합니다. 너는 둘 다해서는 안된다. ROOT 컨텍스트를 사용할 때 문맥 경로는 "" (즉, 빈 문자열)이며 URL에는 아무 것도 적용되지 않습니다.

관련 문제