开发者社区> 问答> 正文

webservice 被struts拦截.请问有什么好多方法不让它拦截发布的服务吗??报错

在程序中,struts拦截了所有的请求,url配置的/,是否是将其改为/.action呢?我改了之后会报错的,这种方法有人使用过吗?或者谁有更好的方法。

展开
收起
爱吃鱼的程序员 2020-06-22 19:48:23 494 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    推荐你一篇文章吧,看看 http://blog.csdn.net/lishengbo/article/details/5474044

    估计是你的过滤器配置的问题,与修改请求拦截没有太大的关系

    可以自定义一个Filter,继承StrutsPrepareAndExecuteFilter,在doFilter方法中把你的webservice路径排除掉就行了,类似下面:

    publicclassStrutsFilterextendsStrutsPrepareAndExecuteFilter{@OverridepublicvoiddoFilter(ServletRequestservletRequest,ServletResponseservletResponse,FilterChainfilterChain)throwsIOException,ServletException{HttpServletRequestrequest=(HttpServletRequest)servletRequest;booleanisFilter=true;for(inti=0;i<Contants.noFilterEXT.length;i++){if(request.getRequestURI().contains(Contants.noFilterEXT[i])){isFilter=false;break;}}if(!isFilter){filterChain.doFilter(servletRequest,servletResponse);}else{super.doFilter(servletRequest,servletResponse,filterChain);}}}

    2020-06-22 19:48:40
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载