解决方法
写一个filter继承StrutsPrepareAndExecuteFilter
/** * 解决和struts2的路径冲突 */ public class FilterMy extends StrutsPrepareAndExecuteFilter { @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; if (request.getRequestURI().contains("webservice")) { //如果是访问webservice,不进行过滤 chain.doFilter(req, res); } else { super.doFilter(req,res,chain); } } }
<filter> <filter-name>myFilter</filter-name> <filter-class>com.svwpu.pukci.base.filter.FilterMy</filter-class> </filter> <filter-mapping> <filter-name>myFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping> <!-- CXF配置 begin --> <servlet> <description>Apache CXF Endpoint</description> <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>/webservice/*</url-pattern> </servlet-mapping> <!-- CXF配置 end -->