0
나는 운이없는 저지와 함께 간단한 필터를 사용하려고합니다. 내 필터 :왜 Jersey의 간단한 필터가 작동하지 않습니까?
public class JerseyHelloFilter implements ContainerResponseFilter {
@Override
public ContainerResponse filter(ContainerRequest creq, ContainerResponse cresp) {
System.out.println("JerseyHelloFilter : filter");
return cresp;
}
}
내 web.xml의 :
<servlet>
<servlet-name>Log Filter</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
<param-value>my.package.JerseyHelloFilter</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Log Filter</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
내 JSP 페이지 : /my.page/index.jsp
내 JAX-RS 서비스 : 위의 코드와 /my.page/resources/*
내가 할 filter
방법을 기대하고있다 내 사이트를 방문 할 때마다 실행하여 내 페이지를 반환하십시오. 대신에 필터에서 로그를 가져오고 브라우저에서 index.jsp 환영 파일에 액세스하려고하면 HTTP Status 404 - Not Found
을 얻습니다. 내가 뭘 잘못하고 있니?
사실입니다. 내 JAX-RS API는/my.page/resources/* 경로에 있습니다. 그리고 환영 파일은'/ my.page/index.jsp'에 있습니다. 힌트를 주셔서 감사합니다. 아직 확인해 드리겠습니다. – flyer
당신은 천만에요. 필터에 대한 'url-pattern'을 정정하는 것은 트릭을 수행해야합니다. 그것이 효과가 있다면 알려주십시오. –
Yesss! 나는 '/resources/* url-pattern>'을 넣었고 필요한 경우 작동합니다. 하지만 흠. 나는 저지가 나의 전체 내용에 대한 통제권을 얻게 될 것으로 생각합니다. 나쁜 가정. –
flyer