url-pattern
을 *.jsp
및 INCLUDE
디스패처 만 수신하는 필터를 만듭니다.
<filter>
<filter-name>includeFilter</filter-name>
<filter-class>com.stackoverflow.q2242429.IncludeFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>includeFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
은
HttpServletRequest#getServletPath()
에 의해 상위 페이지를 확인하고 키
javax.servlet.include.servlet_path
와
HttpServletRequest#getAttribute()
로 페이지를 포함 :
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
HttpServletRequest httpreq = (HttpServletRequest) request;
String parentPage = httpreq.getServletPath();
String includePage = (String) httpreq.getAttribute("javax.servlet.include.servlet_path");
// Log it here?
chain.doFilter(request, response);
}