2010-04-23 1 views
1

TomApp 6 및 Spring 2.5을 사용하는 Spring 응용 프로그램 에서 작업 중입니다. URL 매핑을 올바르게 수정하려고합니다. 내가 일을하고 싶은 것은 다음서블릿 매핑 도움말 - 컨텍스트 이름 참조를 피할 수 있습니까?

http://localhost:8080/idptest -> doesn't work 

하지만 그 대신, 내가 순서대로 내 URL에서 컨텍스트 이름을 참조 할 필요를 매핑 해결하기 위해 :

http://localhost:8080/<context_name>/idptest -> works 

가 어떻게이를 방지 할 수 있습니다 다시 쓰기/프록시 엔진을 사용하지 않고 내 URL의 컨텍스트 이름을 참조해야합니다. 아파치?

은 여기 내 web.xml 파일에서 서블릿 정의 및 매핑입니다 :

<servlet> 
    <servlet-name>idptest</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/conf/idptest.xml</param-value> 
    </init-param> 

    <load-on-startup>1</load-on-startup> 
</servlet> 

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

여기 (요청 맵핑 보여주는 주석) 내 컨트롤러의 개요입니다 :

@Controller 
@RequestMapping("/idptest") 
public class MyController { 

    @RequestMapping(method=RequestMethod.GET) 
    public String setupForm(Model model){ 
      MyObject someObject = new MyObject(); 
     model.addAttribute("someObject", someObject); 
     return "myform"; 
    } 

    @RequestMapping(method = RequestMethod.POST) 
    public String processSubmit(@ModelAttribute("someObject") MyObject someObject) throws Exception { 
     // POST logic... 
    } 
} 

감사합니다! 톰캣를 들어, 서블릿 컨테이너에 의존하는 것

답변

4

- 당신은 꽤 많이

더 많은 정보를 원하시면에게/$ CATALINA_HOME/webapps에/ROOT에서, 즉, ROOT 웹 애플리케이션 같은 웹 애플리케이션을 배포해야 here

+0

감사합니다. 컨테이너 및 버전과 함께 제 질문이 업데이트되었습니다. –

1

war 파일의 이름을 ROOT.war로 변경하면 응용 프로그램이 루트 컨텍스트 (즉, 빈 컨텍스트 이름)로 실행됩니다.