严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.Invo
错误提示:严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
解决方法:
1、核对WEB-INF目录下的lib包 是否包含strut2的8个核心jar包
文件名 说 明
struts2-core-2.3.4.1.jar Struts 2框架的核心类库
Xwork-core-2.3.4.1.jar XWork类库,Struts 2的构建基础
Ognl-3.0.5.jar Struts 2使用的一种表达式语言类库
freemarker-2.3.19.jar Struts 2的标签模板使用类库
commons-fileupload-1.2.2.jar Struts 2文件上传依赖包
javassist-3.11.0.GA.jar 代码生成工具包
commons-lang3-3.1.jar Apache语言包,是java.lang包的扩展
commons-io-2.0.1.jar Apache IO包
注意2.1以前是没有commons-fileupload-1.2.1.jar, strut2的8个核心jar包是使用strut2必须导入的最少jar包
2、如果struts2版本是2.1以前
web.xml配置过滤器的时候应该是这样:
<web-app>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
如果struts2 版本是2.1以上
web.xml配置
<web-app>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
####################################################
实际上,无论struts2是哪个版本的,都可以在web.xml加入清除缓存的过滤器,但这不是必须的:
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
strtus2要在web.xml里面配置这一项作用:
清除缓存,帮我们进行清理
在做上传文件的时候,要在web.xml中增加ActionContextCleanUp这个filter,如果不增加,会发生第一次上传取不到文件的情况。
其实:struts2 版本在2.1以上也可以2中的web.xml配置
3、
在使用struts-2.2以上版本时,必须加入javassist-**.ga.jar,否则就会出现上面的错误提示,而这个在struts-2.3.4\lib(其中struts-2.3.4是struts的目录)下是没有的,需要在struts-2.3.4\apps\struts2-blank-2.2.1.war下的lib中找到并加入到当前项目下WEB-INF/lib目录下。
所以在struts2.1以上的版本要引入的包应该是8个包
commons-fileupload-1.2.1.jar,
commons-io-1.3.2.jar
commons-logging-1.0.4.jar
freemarker-2.3.16.jar
javassist-3.7.ga.jar
ognl-3.0.jar
struts2-core-2.2.1.jar
xwork-core-2.2.1.jar
struts.xml文件头是从struts2-2.2.1-all\struts-2.2.1\apps里的任意文件拷贝的!
--------------------------------------------------------------------------------------------------------------------------------------------------------
4、通用解决办法
其实可以把struts-2.3.4\apps\struts2-blank-2.2.1.war下的lib中所有jar包导入到当前项目的WEB-INF/lib目录下。(struts-2.3.4\apps\目录下是所有的示例文件)
相关推荐
at org.apache.struts2.dispatcher.Dispatcher.cleanUpRequest(Dispatcher.java:837) at org.apache.struts2.dispatcher.ng.PrepareOperations.cleanupRequest(PrepareOperations.java:103) at org.apache.struts2....
505) at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org....
Struts2.5.2是Apache Struts框架的一个版本,它是基于MVC设计模式的Java Web应用程序开发框架。本文将详细介绍Struts2.5.2的配置过程以及可能遇到的问题和解决方案。 首先,配置Struts2.5.2需要从官方站点下载所需...
struts2官网2.3版本的最后一个版本,能够...注意此版本的dispatcher是org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。详见https://struts.apache.org/docs/struts-23-to-25-migration.html。
<s:property value="@java.lang.Math@max(10,20)"/> ``` 这个例子展示了如何使用OGNL调用静态方法`Math.max()`。 ##### 配置允许静态方法访问 为了能够使用OGNL访问静态方法,需要配置Struts2允许此类访问: ```...
Console 错误:Dispatcher initialization failed **问题描述**: ``` java.lang.RuntimeException: java.lang.reflect.InvocationTargetException ``` **解决方法**: 这个问题通常与缺失`javassist-3.11.0.GA....
- **主要包路径及主要类**: `org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter`,该过滤器用于初始化Struts2框架并处理用户请求。 - **依赖的自有JAR包**: `xwork-core-2.3.4.jar` - **依赖...
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter <filter-name>struts2 <url-pattern>/* ``` 然后,我们需要创建一个Action类。Action类是业务逻辑的载体,通常继承自`...
plexus-sec-dispatcher-1.3.jar
严重: Exception starting filter struts2 java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
dispatcher.forward(request, response); } catch (Exception e) { e.printStackTrace(); } } } } ``` ##### 2.6 修改showProducts.jsp 修改`showProducts.jsp`页面,使其能够循环遍历`productList`并将其以...
<?xml version="1.0" encoding="UTF-8"?... org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter <!-- 拦截所有的url --> <filter-name>struts2 <url-pattern>/* </web-app>
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452) at org.apache.struts2.dispatcher....
dispatcher.forward(req, resp); } } ``` 在实际项目中,你可能还需要处理安全性、错误处理、数据验证等问题。Jersey提供了一些内置机制,如`@RolesAllowed`进行权限控制,`@Valid`进行参数验证。同时,可以利用...
4. **Dispatcher初始化失败:java.lang.RuntimeException: java.lang.reflect.InvocationTargetException** 这可能是由于缺少Javassist库导致的。你需要确保`javassist-3.11.0.GA.jar`在类路径中。 5. **加载文件...
- Loading XML bean definitions from ServletContext resource [/WEB-INF/dispatcher.xml] - JSR-330 'javax.inject.Named' annotation found and supported for component scanning - JSR-330 'javax.inject....
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter <filter-name>struts2 <url-pattern>/* <!-- welcome file --> <welcome-file>index.jsp ``` - 上述XML代码定义了...
dispatcher.forward(request, response); } ``` 3. **完成showProductById.jsp页面** - 补充`<base>`元素以设置页面中所有相对路径的起点。 - 检查用户登录状态,如未登录则跳转至首页提示用户登录。 ```jsp ...
```java OkHttpClient client = new OkHttpClient.Builder() .connectTimeout(10, TimeUnit.SECONDS) // 设置连接超时 .readTimeout(10, TimeUnit.SECONDS) // 设置读取超时 .writeTimeout(10, TimeUnit.SECONDS)...
- `DispatcherType`: 定义了不同的请求调度类型,如REQUEST、FORWARD、INCLUDE等。 3. **使用javax.servlet.jsp.jar** `javax.servlet.jsp` jar包是JavaServer Pages (JSP) API的一部分,它提供了将HTML和Java...