严重: Exception starting filter struts2
java.lang.ClassCastException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter cannot be cast to javax.servlet.Filter
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4001)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
at org.apache.catalina.startup.Embedded.start(Embedded.java:825)
at org.codehaus.mojo.tomcat.AbstractRunMojo.startContainer(AbstractRunMojo.java:558)
at org.codehaus.mojo.tomcat.AbstractRunMojo.execute(AbstractRunMojo.java:255)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
2012-3-28 11:45:54 org.apache.catalina.core.StandardContext start
严重: Error filterStart
经过排查时发现引入的包cxf-rt-transports-http-jetty.jar 导致。改用
cxf-rt-transports-http.jar问题解决。
分享到:
相关推荐
import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet....
创建一个名为`SetCharacterEncodingFilter`的类,这个类实现了`javax.servlet.Filter`接口。在这个类中,我们覆盖`doFilter()`方法,调用`request.setCharacterEncoding("gbk")`来设置请求的字符编码为GBK,这是一种...
<listener-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter <!-- 配置WebContextLoaderListener --> <listener-class>org.springframework.web.context.ContextLoaderListener ...
在Web应用中,例如在Servlet容器(如Tomcat)中,Filter通过实现javax.servlet.Filter接口来定义。这个接口包含三个关键方法:init()、doFilter()和destroy()。init()在过滤器初始化时调用,doFilter()是过滤的核心...
通过实现javax.servlet.Filter接口,我们可以定义过滤规则,比如登录检查、GZIP压缩、字符编码转换等。 在Struts2中,Filter可以作为应用程序的入口点,负责拦截所有请求,并根据配置决定是否转发到Struts2的Action...
2. **利用FilterDispatcher或StrutsPrepareAndExecuteFilter**:Struts2的核心过滤器(如FilterDispatcher,或在Struts2.3之后的StrutsPrepareAndExecuteFilter)可以拦截请求并将其转发给Action。在Action中,可以...
这个bug是由Struts2上传文件后return SUCCESS...at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:103) 可以完美解决此类struts2的出错问题!
为了设置Struts2环境,开发者需要在web.xml中配置Struts2的前端控制器Filter,比如`<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>`。然后,创建Action类、...
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { // ... // 调用 prepare 方法进行预处理 prepare.execute(dispatcher, request, ...
5. **Struts 2 Servlet API**:依赖于Servlet和JSP的相关API,如javax.servlet和javax.servlet.jsp。 6. **Struts 2 JSTL Taglib**:提供JSTL标签库的支持,方便在JSP页面中使用。 7. **Struts 2 Commons ...
通过实现`javax.servlet.Filter`接口并重写`doFilter()`方法,我们可以定义自定义的过滤逻辑。 2. **MVC架构中的Filter** - 在MVC架构中,Filter可以作为一个额外的控制层,用于处理全局性的任务,如认证、授权、...
### Struts2与Servlet共存问题详解 #### 一、问题背景 在Java Web开发中,Struts2框架因其简洁的MVC模式和强大的插件系统而被广泛使用。但在某些场景下,开发者可能需要同时使用Struts2和其他Servlet技术(如...
在web.xml的display-name标签与welcome-file-list标签中加入一下代码 struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* org.springframework.web.context....
<servlet-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</servlet-class> </servlet> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org....
3. **Servlet API**:由于Struts2是基于Servlet技术的,因此需要`javax.servlet-api.jar`和`javax.servlet.jsp-api.jar`,它们提供了Servlet和JSP的API接口。 4. **Spring框架**:SSH(Struts2、Spring、Hibernate...
<filter-name>StrutsPrepareAndExecuteFilter</filter-name> <filter-class>com.example.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>...
要创建自定义过滤器,我们需要继承`javax.servlet.Filter`接口,并实现其`doFilter()`方法。在这个方法里,我们可以编写检查用户权限的代码。例如,检查用户是否已登录,或者用户是否有权限访问特定资源。 ```...
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/* </filter-mapping> `...
Filter是Servlet API的一部分,它允许开发者在请求到达目标Servlet或JSP之前对其进行拦截和处理,以及在响应返回给客户端之后进行后处理。在Struts2中,我们可以利用Filter作为控制器,将请求路由到Struts2的Action...