整合CXF和struts时,出现一个js和css文件的请求被CXFservlet拦截的问题,导致页面无法显示。
<!-- CXFservlet 配置-->
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<!--spring 配置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<!-- struts配置 -->
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
</filter>
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
webservice配置
<jaxws:endpoint id="memcached" implementor="#memcachedWebService" address="/memcached" ></jaxws:endpoint>
以上配置webservice是可以正常调用,struts的.action请求是可以访问,但是页面显示不正常,主要原因是.js以及css文件无法显示,请求的js和css请求被当作是webservice请求拦截了
更改:
web.xml
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/ws/*</url-pattern>
</servlet-mapping>
struts.xml中
添加
<constant name="struts.action.excludePattern" value="/console/*"/>
访问webservice的url变为localhost:8080/xxx
/ws/login.wsdl
url处多了一个/ws
分享到:
相关推荐
我们可以通过Spring的`struts-plugin.xml`配置文件或者Struts2的`struts.xml`配置文件中的`<interceptors>`元素添加Spring拦截器,从而实现在Struts2动作类中注入Spring管理的bean。 在实际操作中,"CXFServer"可能...
<import resource="classpath:META-INF/cxf/cxf.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/> <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
利用Apache CXF开发webservice接口需要用到的jar集合 cxf-core-3.0.15.jar cxf-rt-bindings-soap-3.0.15.jar cxf-rt-bindings-xml-3.0.15.jar cxf-rt-databinding-jaxb-3.0.15.jar cxf-rt-frontend-jaxws-3.0.15.jar...
Apache CXF是一个开源的服务框架,它支持多种Web服务标准,包括JAX-WS和JAX-RS。...通过理解和正确使用`jaxrs.xsd`等XSD文件,开发者可以在Spring环境中更高效地配置和管理CXF服务,从而提升开发体验和代码质量。
解压后,你会看到一系列的JAR文件,这些文件包含了许多CXF的核心组件和依赖项,如Apache CXF的运行时API、SPI、WS-*协议实现等。在Java Web项目中,通常我们会把这些JAR文件放入项目的`WEB-INF/lib`目录下,或者在...
org.apache.cxf.spring.remoting.Jsr181HandlerMapping.jar
1. **依赖库的更新**:升级Struts2的同时,还需要检查和更新所有依赖的库,例如在提供的文件列表中,我们看到了freemarker、log4j、javassist、commons-collections等。确保这些库与Struts2的新版本兼容,避免出现...
webservice CXF 报错:java.lang.NoClassDefFoundError: org/apache/neethi/builders/AssertionBuilder 需要用到此jar文件 通过apache官网可获得。 文件位置\apache-cxf-2.7.13\lib
- 对于SLF4J,可以在配置文件中定制日期格式、线程名、日志级别等信息的输出格式。 - 对于Log4j,可以在`log4j.properties`中配置`PatternLayout`来定义输出格式。 6. **日志级别管理**: - 在开发阶段,通常会...
在本案例中,我们讨论的是"apache-cxf-3.4.3.tar.gz",这是Apache CXF 3.4.3版本的压缩包,通常包含了CXF框架的所有组件和必要的库文件。 **1. CXF框架介绍** Apache CXF是一个全面的服务开发框架,它的全称是...
描述中提到的“**可解决客户端调用提示source 1.5已过时问题**”是指在使用较早的Java源代码版本(如Java 1.5)编译或运行时,可能会遇到警告或错误,因为这些版本已经被Java的新版本所替代。CXF 2.7.18可能已经更新...
升级前,检查所有依赖的库和插件,确保它们与新版本的Struts2兼容,因为某些旧的API可能会被弃用或改变。 2. **升级指南**:查阅官方的升级指南,了解详细的步骤和变更。这将帮助你了解从2.3.24到2.5.26的具体迁移...
这个压缩包包含的子文件都是CXF框架的重要组成部分,让我们一一深入探讨这些组件的作用和相关知识点。 1. **woodstox-core-asl-4.4.1.jar**: Woodstox是一个高性能的XML处理库,它提供了对StAX(Streaming API for ...
本篇文章将深入探讨如何使用CXF实现文件的上传和下载功能,这对于任何涉及文件交互的应用程序都是至关重要的。 在CXF中,实现文件上传通常涉及到创建一个Web服务接口,该接口接受Multipart请求,这允许用户发送多个...
当我们需要在CXF和Spring整合的基础上发布Web服务,并对权限进行控制时,可以利用拦截器来实现这一目标。本文将详细介绍如何为CXF与Spring整合发布WebService添加拦截器进行权限控制。 首先,我们需要理解CXF拦截器...
这个"apache-cxf-2.1.4.tar.zip webservice"文件包含了一个特定版本(2.1.4)的CXF框架,用于创建和消费Web服务。让我们深入了解一下Apache CXF的核心功能和它在Web服务中的应用。 1. **Apache CXF简介**:Apache ...
**Struts2** 是一个基于MVC设计模式的Java Web框架,Struts2.3 提供了强大的动作映射、拦截器和结果类型等特性,简化了Web应用的开发。它与Spring的结合使得可以利用Spring的依赖注入来管理Struts2中的Action和业务...
2. 插件系统:CXF拥有强大的插件架构,可以扩展和定制功能,如添加自定义消息处理器、拦截器等。 3. 安全性:提供安全功能,如基本认证、OAuth、SSL/TLS等,保障服务的安全通信。 4. 支持多种传输协议:包括HTTP、...
在"apache-cxf-2.4.6.zip"压缩包内,你会找到CXF的库文件、文档、示例代码和配置文件等。通过解压并导入到你的项目中,你可以开始利用这些组件构建和部署你的Web服务。不过,值得注意的是,由于这是较早的版本,可能...