2013-08-09 5 views
-1

매핑 용 서블릿에서 @WebServlet("/path") 을 사용한다는 것은 양식의 동작이 "/path"이고 버튼 클릭이 내 서블릿에서 처리된다는 것을 의미합니다. 그것은 의미스프링 mvc 매핑 (J2EE)

@RequestMapping("/path") 

로 스프링 MVC에서 나는 내 방법에 의해 처리 될 양식의 작업 "/webAppName/path" 버튼 클릭으로 작성해야한다는, 컨트롤러의 메소드를 매핑합니다. 하지만 내 war 파일의 이름이 바뀌면 html/jsp에 대한 매핑을 변경해야합니다. 나는 그것이 매우 나쁘다고 생각한다. 나를 도와 줄 수 있습니까?

답변

1

첫째로, 당신은 절대적으로 틀립니다. 둘째로, 당신이 전쟁 파일 이름으로 언급 한 것은 실제로 원격으로 전쟁 이름과 관계가없는 상황 경로입니다.

컨텍스트 경로는 서버에서 실행중인 웹 응용 프로그램을 참조하는 데 사용됩니다. 서버에 배포 된 여러 응용 프로그램이있을 수 있으므로 필요한 웹 응용 프로그램 컨텍스트 경로와 관련된 요청을 서버가 파악할 수 있습니다.

처리를 위해 적절한 웹 응용 프로그램을 선택하기 위해 각 요청 URI의 시작과 일치하는 웹 응용 프로그램의 컨텍스트 경로입니다. 특정 호스트 내의 모든 컨텍스트 경로는 고유해야합니다. 빈 문자열 ("")의 컨텍스트 경로를 지정하면 다른 호스트에 할당되지 않은 모든 요청을 처리하는이 호스트에 대한 기본 웹 응용 프로그램을 정의하게됩니다.

이 필드의 값은 .xml 컨텍스트 파일 또는 docBase에 사용 된 파일 이름에서 유추되므로 server.xml에서 컨텍스트를 정적으로 정의 할 때를 제외하고는 설정하지 말아야합니다.

또한 응용 프로그램의 아키텍처와 관련이 없으므로 Spring MVC 또는 Java Dyanamic Web Application과 동일하게 적용됩니다.

+0

좋아, 동의합니다. 그러나 내 동의어 경로가 바뀌면 jsp에서 내 모든 동작을 변경해야합니다. – user2645679

+0

컨텍스트 경로를 하드 코딩하지 않는 이유. $ {pageContext.request.contextPath}를 할 수 있으므로 문맥 경로를 변경하는 것에 대해 걱정할 필요가 없습니다. 좋은 조언을 위해 –

+0

Thx. – user2645679