cxf与struts2拦截器冲突的解决方案
最近学习接口,学习了下cxf,用tomcat部署访问的时候,发现接口不能访问;百度了很多,最终找到比较好的解决方案;
sturts2配置:
<!-- 设置strus拦截器 -->
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
cxf拦截器配置:
<!-- 设置cxf接口配置 -->
<listener>
<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
</listener>
<servlet>
<servlet-name>CXFService</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CXFService</servlet-name>
<url-pattern>/myCXF/*</url-pattern>
</servlet-mapping>
结果访问的时候,struts率先被执行。
解决该问题好的方案就是重写struts2的拦截器:
package com.filter;
import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter;
public class ExtendStrutsFilter extends StrutsPrepareAndExecuteFilter{
public void doFilter(ServletRequest req, ServletResponse res,FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
//不过滤的url,可以自行添加
if (request.getRequestURI().contains("/myCXF")) {
//System.out.println("使用自定义的过滤器");
chain.doFilter(req, res);
}else{
//System.out.println("使用默认的过滤器");
super.doFilter(request, res, chain);
}
}
}
然后重新配置struts2的拦截器:
<filter>
<filter-name>struts</filter-name>
<filter-class>com.filter.ExtendStrutsFilter</filter-class>
</filter>
此时访问就没有问题了,对原项目影响不大 同时修改也很方便
转载于:https://www.cnblogs.com/sdream/p/5473792.html
cxf与struts2拦截器冲突的解决方案相关推荐
- Spring Boot——Spring Security环境下跨域addCorsMappings与拦截器冲突导致跨域失效解决方案
问题分析 [SpringMVC]与权限拦截器冲突导致的Cors跨域设置失效问题 解决方案 @Beanpublic CorsFilter corsFilter() {//1.添加CORS配置信息Cors ...
- 【SpringMVC】与权限拦截器冲突导致的Cors跨域设置失效问题
问题描述 前端域名FE.com向后端域名BE.com分别请求访问优惠券的列表和提交新增的优惠券,API设计所用的Method分别为Get和Post,结果为前一次访问成功而后一次访问失败.这两次请求都是 ...
- Struts2拦截器的使用
如何使用struts2拦截器,或者自定义拦截器.特别注意,在使用拦截器的时候,在Action里面必须最后一定要引用struts2自带的拦截器缺省堆栈defaultStack,如下(这里我是引用了str ...
- springboot中配置了拦截器后,拦截器无效的解决方案之一
springboot中配置了拦截器后,拦截器无效的解决方案之一 参考文章: (1)springboot中配置了拦截器后,拦截器无效的解决方案之一 (2)https://www.cnblogs.com/ ...
- Struts2拦截器属性excludeMethods、includeMethods配置无效之解决方法
参考:http://blog.csdn.net/coolcoffee168/article/details/7963251 在配置struts2 拦截器属性excludeMethods.include ...
- WebServices中使用cxf开发日志拦截器以及自定义拦截器
首先下载一个cxf实例,里面包含cxf的jar包.我下的是apache-cxf-2.5.9 1.为什么要设置拦截器? 为了在webservice请求过程中,能动态操作请求和响应数据, CXF设计了拦截 ...
- Struts2 拦截器 及如何获得 servlet 请求对象 以及Struts 基本配置 Session 超时设置...
在拦截器中可以三种实现 一:继承 AbstractInterceptor 类 二:继承 MethodFilterInterceptor类 三:实现 Interceptor 接口 在实现Intercep ...
- 基于struts2拦截器实现用户操作日志记录
2019独角兽企业重金招聘Python工程师标准>>> 这里基于struts2的拦截器来实现. 使用struts2拦截器拦截所有或者指定的请求,对用户操作过程中的:操作用户,操作时间 ...
- Struts2拦截器实现异常处理机制
http://bbs.itcast.cn/thread-10364-1-1.html Struts2拦截器实现异常处理机制 在j2ee项目中,系统内部难免会出现一些异常,如果把异常放任不管直接打印 ...
- 从struts2拦截器到自定义拦截器
http://www.cnblogs.com/withyou/p/3170440.html 拦截器可谓struts2的核心了,最基本的bean的注入就是通过默认的拦截器实现的,一般在struts2.x ...
最新文章
- Android游戏开发指南lt;一gt;背景地图
- JS的Document属性和方法
- Eclipse europa 更新时 Error retrieving feature.xml. [error in opening zip file]
- java_opts gc回收器_JVM之垃圾回收机制(GC)
- Android Animation学习(六) View Animation介绍
- adoquery.parameters流化
- {}企业如何才能实现多方位网络营销
- 【VB.NET】VB.NET数据库技术问题的解答
- 有图有真相:带你实现当下流行的权限验证
- Reflector反编译winform心得
- POJ3982 序列【大数】
- jmp怎么做合并的箱线图_Python数据可视化:箱线图多种库画法
- 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_08-CMS需求分析-CMS页面管理需求...
- linux mysql数据库升级_Linux升级mysql到5.7
- 玩转STM32(4)学会目录分类
- OC集成Socket.IO时,出现错误: No such module 'Starscream' 的解决办法
- php读取加密表格,Excel表格如何加密
- 音视频开发必看:“秒变萝莉音”,游戏中的变声是如何实现的
- 基于Opencv和STM32物理鼠标的目标跟踪器
- LeetCode - 263 - Ugly Number
热门文章
- turtle模块实现多边形
- 七日Python之路--第十一天
- 艾伟:C#类和接口、虚方法和抽象方法及值类型和引用类型的区别
- html里文字跳动,Web前端
- 二维字符数组转字符串c语言,[求助] 怎样转换一个字符二维数组到一维数组~~~...
- centos7 pe系统安装_U盘PE启动安装Win7系统教程(微PE版)
- c语言基础代码_全国计算机二级等级考试:C语言二级考试有多难?不看不知道...
- markdown格式的文章如何转换为可以发布在微信公众号上的内容
- esxi6.7密码设置规则_太神奇了!excel表格竟然可以设置查看密码
- 《设计模式之美》之接口、抽象类笔记