getPathInfo ()를 사용하여 추가 경로 정보를 얻기 위해 서블릿을 매핑하는 방법
문제
Tomcat이 추가 경로 정보를 서블릿 이름의 일부로 처리하는 문제가 있습니다. 이것은 우리의 WebApp에서 많은 편안한 기능을 깨뜨리는 것입니다 (우리는 크롤러 친화적 인 링크의 이름 = 값 쌍보다는 추가 경로 정보를 사용합니다).
이전에 올바르게 작동했지만 명백한 매핑을 추가하고 Invoker
우리가 이전에 서블릿을 제공하는 데 사용했던 서틀. 예를 들어 다음 링크를 고려하십시오.
MyServlet
예전에 올바르게 호출되었고 "/param1/param2/param3"에 의해 반환되었습니다. getPathInfo()
에 HttpServletRequest
.
이제 Tomcat이 MyServlet/Param1/Param2/Param3를 서블릿으로로드하려고하는 것으로 보입니다.
23/Sep/2008 : 16 : 44 : 23-0700] "Get/Servlet/MyServlet/Param1/Param3 HTTP/1.0"404
다음은 Web.xml에 정의되고 매핑되는 방식입니다.http://mydomain.com/servlet/myservlet"잘 작동합니다.
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.myclass.etcetera.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/servlet/MyServlet</url-pattern>
</servlet-mapping>
해결책
/servlet/myservlet/*에 매핑해야합니다.
당신은 후행 "/*"를 놓치고 있습니다.
제휴하지 않습니다 StackOverflow