2012-10-11 6 views
0

제목에서와 같이 더 나은 방법으로 설명하는 방법을 모르겠습니다. 실제로 내가 실제로 무엇을 찾고 있는지 모르기 때문입니다.스프링 컨트롤러를 도메인에 맞 춥니 다

나는 스프링 애플 리케이션을 가지고 있고 메인 서블릿은 루트와 일치한다. 다음은 사용 된 서블릿 매핑입니다.

<servlet-mapping> 
    <servlet-name>shop</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

그리고 자체적으로 루트 앱으로 배포됩니다.

그래서 문제는 example.com을 통해 도메인에 액세스하려고하면 작동하지 않고 404 오류를 찾을 수 없습니다. example.com/.com/tara ... 다음 URL을 사용할 때만 예상대로 작동합니다.

정말 기본적인 질문이지만, 내가 뭘 찾아야할지 모르겠다. 나는이 문제를 해결할 수있는 것을 찾지 못했습니다.

이 문제를 해결할 수있는 솔루션을 찾아 주셔서 감사합니다. :)

+0

이것은 여러 가지 문제 중 하나 일 수 있습니다. 더 많은 정보가 없으면 디스패처 서블릿을 디버그하여 요청이 Spring에 적용되는지 확인하는 것이 좋습니다. 이렇게하면 Spring 측 또는 Web Server/Container/web.xml 측에 집중할 수 있습니다. – smp7d

+0

어떤 웹 컨테이너를 사용하고 있습니까? 수코양이? – betomontejo

답변

0

답장을 보내 주셔서 감사합니다. 저는 그 질문이 조금 오래되었지만 똑같은 문제가있는 모든 사람들에게 그렇습니다. 여기

XML과 자바 설정에 대한 솔루션을 찾을 수 있습니다 : 당신이 당신의 웹 응용 프로그램이 '/'URL에 응답 할 수 있음을,이 XML 태그를 추가하거나 작동 자바 구성 메소드를 오버라이드 (override)하는 경우 http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/mvc.html#mvc-default-servlet-handler

을 :)

0

응용 프로그램 컨텍스트 루트와 URL 루트를 혼동하지 마십시오. Java 웹 컨테이너는 HTTP 서버와 다른 점을 기억하십시오.

Tomcat과 같은 컨테이너를 사용하여 응용 프로그램을 배포하고 응용 프로그램을 루트 URL에 연결하려면 Apache HTTP와 같은 http 서버를 사용하여 가상 호스트를 설정해야합니다 .

이 문서를 읽기 시작합니다 :

http://httpd.apache.org/docs/2.2/mod/core.html

당신이 당신의 웹 응용 프로그램의 가상 호스트를 설정하십시오.

0

/는 "기본"서블릿을 의미하는 특수한 URL 일치 패턴입니다. 서블릿이 모든 요청을 처리하게하려면/*를 사용하십시오. 기본 서블릿은 정적 컨텐츠 및 목록 폴더를 제공하는 다른 일치 항목이 발견되지 않을 때 호출됩니다. 여기서는 원하는 내용이 아닐 수 있습니다. 확실하지는 않지만 기본 서블릿에는 슬래시가 필요할 수 있습니다.

관련 문제