1. Overview

weblogic.servlet.ServletServlet Class를 사용하면 잘못된 URL에도 정상 페이지가 호출 될 수 있다.



2. Descriptions

weblogic.servlet.ServletServlet Class는 WebLogic 초기 버전에서 개발자의 Servlet 개발의 도움을 위해 제공되었다.

WebLogic 14cR1 까지도 제공되는 Class 이며, 향후에는 포함되지 않도록 Deprecated 되었다.

다음과 같은 사용 예시.

1
2
3
4
5
6
7
8
9
<servlet>
 <servlet-name>ServletServlet</servlet-name>
 <servlet-class>weblogic.servlet.ServletServlet</servlet-class>
</servlet>

<servlet-mapping> 
 <servlet-name>ServletServlet</servlet-name>
 <url-pattern>/myservlet/*</url-pattern>
</servlet-mapping>

ServletServlet Class 내부에서는 /myservlet/* 호출에 대해서 Class 검색을 수행하는데,

ClassNotFoundException 이 발생하는 경우에 대해서, dot(.)으로 하위 Class를 수행하도록 재귀호출 구조가 존재한다.


/myservlet/Hello.class.abc 와 같은 요청의 경우 abc Class가 없어 CNFE 가 발생하면,

/myservlet/Hello.class 재귀호출하여 찾아내어 정상 페이지가 나타날 수 있다.



3. References

Table 4-1 url-patterns and Servlet Invocation

존재하지 않는 Servlet 을 호출해도 정상적인 페이지가 나타납니다. (Doc ID 3032777.1)