struts2整合CXF访问路径冲突问题
来源:互联网 发布:国内航空英语翻译软件 编辑:程序博客网 时间:2024/06/08 14:18
在用struts2整合cxf提供webservice供外部调用时,会出现访问路径冲突问题,原因是struts2的过滤器把所有的请求都拦截了,当我们调用webservice时,也会被拦截,在路由map中找不到匹配的路径 则报错。
1)解决方法:
1:新建一个类继承struts2中提供的过滤器类
2:重写doFiter方法,对调用webservice的访问路径放行,其他的则默认执行struts2的拦截流程
3:在web.xml 使用我们定义的过滤器类替换掉struts2的
2)实现代码
package yuan.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 YuanStrutsPrepareAndExecuteFilter extendsStrutsPrepareAndExecuteFilter {@Overridepublic void doFilter(ServletRequest req, ServletResponse res,FilterChain chain) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) req;// 对调用webservice的访问路径放行if (request.getRequestURI().contains("/services")) {chain.doFilter(req, res);} else {super.doFilter(req, res, chain);}}}3)在web.xml中使用重写后的过滤器类替换掉struts2的:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><!-- cxf 整合spring --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:yuan/resource/application.xml</param-value></context-param><filter><filter-name>structs2</filter-name><filter-class>yuan.filter.YuanStrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>structs2</filter-name><url-pattern>/*</url-pattern></filter-mapping><servlet><servlet-name>cxf</servlet-name><servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>cxf</servlet-name><url-pattern>/services/*</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>
0 0
- struts2整合CXF访问路径冲突问题
- CXF WebShere 冲突问题
- Struts2+Spring3+Hibernate3整合时遇到的包冲突问题
- Struts2与Axis2整合配置UrlPattern冲突问题
- cxf spring struts2 路径解决
- CXF整合spring部署问题
- jboss7与struts2整合出现 vfs路径问题的解决方法
- Struts2学习 路径访问
- 获取上当前访问路径问题 (struts2)
- jbpm4与struts2整合包冲突错误
- CXF-DOSGI整合问题的处理
- Struts2 Action的访问路径
- Struts2 Action的访问路径
- 关于struts2的访问action与根目录文件夹的冲突问题,碉堡了!
- struts2路径问题
- struts2中的路径问题
- struts2的路径问题
- struts2路径问题
- Java Swing JTable 表格【1:创建表格填充数据】
- 详解Struts2 Action名称的搜索顺序
- eclispse功能强大插件
- 第一章 Spring概述
- c语言编译常见报错
- struts2整合CXF访问路径冲突问题
- [4]姥爷幽默谈Objective-C-SEL的详细用法(封装方法)
- Codeforces 615C Running Track 【模拟匹配】
- [链表]九度OJ 题目1188:约瑟夫环
- Android Developer:Memory Monitor演示
- 原子性
- UIView的一些知识
- 小林的第一篇博客
- Android Studio中导入依赖库的方法