2010-07-20 2 views
1

을 호출 된 서블릿의 가상 경로를 가져옵니다 :나는 이런 식으로 뭔가 한 경우 서블릿 코드 내에서

<servlet> 
    <display-name>Step</display-name> 
    <servlet-name>Step</servlet-name> 
    <servlet-class>com.foo.AServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>Step</servlet-name> 
    <url-pattern>/aservlet/*</url-pattern> 
</servlet-mapping> 

을하고 서블릿 /였던 aServlet/ABC

다음이다 형식의 요청에 의해 호출 코드에서 값 "ABC"를 얻을 수있는 방법이 있습니까? 즉 AServlet 클래스의 doGet() 또는 doPost() 메소드 내부에 있습니까?

답변

4

가장 쉬운 할 일이다 "/ ABC"를 반환

String path = request.getPathInfo(); 

.

1
public void doGet(HttpServletRequest request, HttpServletResponse response){ 
    String uriRequest = request.getRequestURI(); 
    //parse to obtain only the last part 
    String uriRequest = uriRequest.substring(uriRequest.lastIndexOf("/")+1); 
} 

doPost()과 동일합니다.

관련 문제