<servlet>
        <servlet-name>Guolv</servlet-name>
        <jsp-file>/web/Guolv.jsp</jsp-file>
    </servlet>    <servlet-mapping>
        <servlet-name>Guolv</servlet-name>
        <url-pattern>/*?*secret=*</url-pattern>
    </servlet-mapping>
我的需求是,捕获任何带secret=参数的链接,如果包含该参数,则在Guolv.jsp进行业务处理
最后,把secret=参数的部分替换掉,再response.sendRedirect(变更后的路径)通过测试的结论是
1.好像无法通过<url-pattern>匹配参数,只能匹配相关路径。是这样吧???
2.如果不能匹配参数的话,不论是已jsp的方式还是写filter过滤器,请求就只能进入死循环,因为
  若不能匹配参数,最后response.sendRedirect(变更后的路径)时又会进入Guolv.jsp,从而形成死循环这样看来,如果<url-pattern>不能匹配参数,我的需求是不是就解决不了啊忘高手指教,给与匹配参数的写法或新解决方案,谢谢

解决方案 »

  1.   

    可以利用urlrewrite处理一下参数,然后再交给对应的servlet,楼主可以试试看
      

  2.   

    上面的方法不适合。<url-pattern>只能匹配路径,不能匹配参数 ????
      

  3.   

    就用urlrewrite包吧,伪静态做的挺好的,用起来也很方便~
      

  4.   

    urlrewrite这个最后显示的地址都变了,我没有这个需求
    help
      

  5.   

    只能够这样写
    /*匹配所有
    *dfsd*匹配某一串
      

  6.   

    将url-pattern设置为 /*
    写一个spring MethodInterceptor拦截,在invoke方法中从request中取得parameter,如果parameter是secret,做你想做的事情