기본 서블릿 맵핑은 / 문자만을 맵핑합니다. 경쟁 애플리케이션 서버에서, 기본 서블릿 맵핑을 위한
javax.servlet.http.HttpServletRequest.getServletPath 메소드 호출에서는 요청 URI - 컨텍스트 경로 값을
리턴하고 javax.servlet.http.HttpServletRequest.getPathInfo 메소드 호출에서는 널을 리턴합니다.
WebSphere traditional에서 기본 서블릿 맵핑을 위한 getServletPath 호출에서는 빈 문자열을
리턴하고 getPathInfo 메소드 호출에서는 / 문자를 리턴합니다.
이와 유사하게 Liberty로 마이그레이션 중이고 Servlet 3.0 또는 3.1 기능 구현을 사용 중인 경우,
기본 서블릿 맵핑을 위한 getServletPath 호출에서는 빈 문자열을 리턴하고
getPathInfo 메소드 호출에서는 / 문자를 리턴합니다.
예를 들어, 다음 코드를 고려해 보십시오.
경쟁 애플리케이션 서버에서 이 코드는 다음으로 출력됩니다.
그러나 WebSphere traditional 및 Liberty(Servlet 3.0 또는 3.1 포함)에서는 코드가 다음과 같이 출력됩니다.
WebSphere Liberty로 마이그레이션 중이고 Servlet 3.0 또는 3.1 구현을 사용 중인 경우, <webContainer servletPathForDefaultMapping="true"/>
요소를 server.xml 구성 파일로 추가하십시오. 이 요소를 추가하면
getServletPath 및 getPathInfo 메소드가 경쟁 애플리케이션 서버에서와 같이 동작합니다. Servlet 4.0 구현을 사용 중인 경우 변경할 필요가 없습니다. Servlet 4.0 구현에서 getServletPath 및
getPathInfo는 경쟁 애플리케이션 서버에서와 동일하게 동작합니다.
WebSphere traditional로 마이그레이션 중인 경우 WebContainer
com.ibm.ws.webcontainer.EnableDefaultServletRequestPathElements 특성을 true로 설정하십시오.
이 특성을 설정하면 getServletPath 및 getPathInfo 메소드가 경쟁 애플리케이션 서버에서와
같이 동작합니다.
추가 정보는 다음을 참조하십시오.