0

web.xml에서 Guice 서블릿 모듈로 응용 프로그램 서블릿을 점진적으로 마이그레이션 중이며 UrlRewrite 필터 (tuckey.org/urlrewrite/)에 문제가 발생했습니다. Guice 모듈에 등록 된 서블릿은 처리하지 않습니다. web.xml에 서블릿과 필터를 모두 등록하면 모든 것이 잘 작동하지만 Guice 모듈에 등록하려고하면 그다지 효과가 없습니다. 비슷한 문제가 발생 했습니까?Guice 및 URLRewrite 필터 통합

1) Guice 구성 모듈 : 여기

코드의 일부를 발췌한다.

public class ServletConfigurationModule extends ServletModule { 

@Override 
protected void configureServlets() { 

    bind(UrlRewriteFilter.class).in(Singleton.class); 

    Map<String, String> urlRewriteParams = new HashMap<>(); 
    urlRewriteParams.put("confReloadCheckInterval", "60"); 
    urlRewriteParams.put("statusEnabled", "false"); 

    filter("/*").through(UrlRewriteFilter.class, urlRewriteParams); 

    serve("/account").with(Account.class); 

2) urlrewrite.xml 내용

<rule> 
     <from>/affiliate-activation</from> 
     <to>/account?do=affiliate&amp;trg=5</to> 
    </rule> 

내가 URL이 myhost/제휴-활성화를 열려고

나는 404 HTTP 오류가 발생합니다.

+0

게시 샘플 코드는 항상 환영하며 문제를 더 잘 이해할 수 있다고 가정합니다. – Opal

+0

코드 샘플 추가 –

+0

모든 것이 완벽하게 잘 보입니다. 이 필터가 guice에서 작동하지 않을 수도 있습니다. – Opal

답변

0

나는 이것을 해결해주기를 바랍니다. Here 예를 들어 repo를 찾을 수 있습니다. 레포를 복제하고 gradle jettyRun을 실행하십시오. 브라우저로 응용 프로그램을 테스트 할 수 있습니다. 언제든지 질문하고 아이디어를 공유하십시오. 기본적으로 urlrewrite.xml이 변경되었습니다.

+0

안녕하세요, 귀하의 도움을 주셔서 감사합니다, 솔루션이 작동하지만, 리디렉션 된 URL (/ account? do = affiliate & trg = 5) 브라우저에서 원본 (우리의 경우 "제휴사 활성화") URL을 덮어 쓰지 않는 방법이 있습니까? 즉, 원래 URL은 브라우저 창에서 동일하게 유지되어야합니다. –

+0

잘 모르겠다. 당신은 실수로 재판을해야합니다. – Opal