2009-06-23 3 views
2

이것은 길기는하지만 누군가가 도움을 줄 수 있기를 바랍니다.봄 mvc를 사용하는 이상한 404 오류

내 응용 프로그램은 스프링 프레임 워크 mvc를 사용하고 있습니다. if의 99 %가 제대로 작동합니다. 그러나 하나의 링크로 가려고하면 [경로] /link.html을 호출 할 수 있습니다. 404 오류가 발생합니다. 그러나 개발 환경 (바람둥이, 창문, IE 및 Eclipse) 내에서이 링크로 이동하면 404 오류가 발생하지 않습니다 (모든 것이 예상대로 작동 함). 내 프로덕션 사이트 (웹 로직)에서만 발생합니다.

로그 파일을 살펴본 결과 아무 것도 문제가되지 않습니다.

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
     <property name="mappings"> 
      <props> 
<prop key="/link.html">linkController</prop> 
... 
</props> 
</property> 
</bean> 
+0

AJP를 통해 프로덕션 환경에서 apache + tomcat을 실행하고 있습니까? – stevedbrown

+0

URL 매핑의 정의는 무엇입니까? 그들을 게시 할 수 있습니까? –

답변

1

당신은 아마 <servlet-mapping> 요소를 사용하여 web.xml 파일의 컨트롤러 서블릿에 HTML 파일에 대한 요청을 매핑해야합니다. link.html 대신 link.do을 사용하는 것이 좋습니다. HTML 파일 요청을 컨트롤러 서블릿에 매핑하면 응용 프로그램의 정적 컨텐츠를 약간 까다롭게 처리 할 수 ​​있기 때문입니다.

일반적으로 개발 스택을 제작 스택과 최대한 일치시키기를 원합니다. WebLogic을 프로덕션 환경에서 사용하기 때문에 Tomcat 대신 WebLogic을 사용하여 개발한다면이 문제에 대해 최소한 알게 될 것입니다.

+0

매핑은 제대로 작동하는 다른 모든 매핑과 일치합니다. 즉, .html이 서블릿에 매핑됩니다. – IaCoder

1

불쾌감을주는 URL을 보지 않고 URL 구성에 문제가있는 것, 그리고 설정에 문제가있는 것이 아니라 프로덕션 서버의 리소스에 해당하지 않는다고 생각됩니다. 다른 HTML 자원에 액세스 할 수 있습니다.

난 항상 JSTL을 사용하는 경우 여기

(http://www.ibm.com/developerworks/java/library/j-jstl0318/#N10532)

를 설명 모두를 포함하는 URL을 구축하기 위해 JSTL의 URL 태그를 사용하여 다음 링크로 당신이 필요로 몇 가지 포인터를 제공해야합니다, 옵션을 선택하지 않습니다 URL을 작성할 때 고려해야 할 사항.

+0

운이없는 JSTL을 사용하기 위해 링크를 변경했습니다. – IaCoder

+0

로컬로 작동하는 URL과 프로덕션 환경에서 작동하지 않는 URL을 게시 할 수 있습니까? –

1

/link.html을 요청할 때 org.springframework 로거에서 로깅을 시작하고 Spring 내에서 어떤 일이 발생하는지 (또는 웹 요청이 DispatcherServlet으로 처리하는 경우) 확인하십시오.

0

문제는 실제로 spring/jsp/etc가 아니 었습니다 ... 문제는 Apache의 위치 지시문이 구성된 방법과 관련이있었습니다. 지시문 내의 경로에는 후행 슬래시가 필요했습니다.