- 浏览: 547577 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (740)
- css (4)
- jquery (8)
- javascript (23)
- html (0)
- uml (0)
- 设计模式 (1)
- 开发工具 (14)
- json (4)
- struts 1.x (3)
- spring (3)
- hibernate (6)
- struts 2.x (17)
- JFreechart (0)
- j2se (48)
- jsp (9)
- flex (22)
- 找工作 (1)
- 技术杂谈 (18)
- 网络编程 (5)
- io流 (1)
- ORACLE (15)
- 报表 (3)
- extjs (11)
- jpbm (2)
- swing (5)
- jspereports (3)
- sql (1)
- linux (15)
- ps (1)
- storm (4)
- hbase (8)
- li (0)
- python (1)
- hive (3)
- 机器学习 (1)
- hdfs (1)
- elasticsearch (1)
- hadoop 2.2 (5)
- hadoop (1)
最新评论
-
Tristan_S:
这个有点意思
ASM -
starryskydog:
程序修改detail band部分的样式 如内容字体大小 ...
使用jasperReport实现动态表头 -
samwong:
Good, so usefule
使用YUI Compressor压缩CSS/JS -
gc715409742:
能够告诉我怎么在web项目中使用YUI Compressor? ...
使用YUI Compressor压缩CSS/JS -
JsonTeye:
您好! 我看你的代码,我现在也在做动态报表,实现功能由用户自己 ...
使用jasperreport动态生成pdf,excel,html
运行struts2时又出现问题了,本来是用通配符的,却出现了如下错误:
Struts Problem Report
Struts has detected an unhandled exception:
Messages: com.bjsxt.struts2.action.TeacherAction
Unable to instantiate Action, com.bjsxt.struts2.action.TeacherAction, defined for 'Teacher_add' in namespace '/actions'com.bjsxt.struts2.action.TeacherAction
File: org/apache/catalina/loader/WebappClassLoader.java
Line number: 1,387
--------------------------------------------------------------------------------
Stacktraces
Unable to instantiate Action, com.bjsxt.struts2.action.TeacherAction, defined for 'Teacher_add' in namespace '/actions'com.bjsxt.struts2.action.TeacherAction com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:306)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:387)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:458)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:76)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
java.lang.Thread.run(Thread.java:619)
java.lang.ClassNotFoundException: com.bjsxt.struts2.action.TeacherAction org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:146)
com.opensymphony.xwork2.ObjectFactory.getClassInstance(ObjectFactory.java:96)
com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:149)
com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:139)
com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:109)
com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:287)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:387)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:458)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:76)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
java.lang.Thread.run(Thread.java:619)
--------------------------------------------------------------------------------
You are seeing this page because development mode is enabled. Development mode, or devMode, enables extra debugging behaviors and reports to assist developers. To disable this mode, set:
struts.devMode=false
in your WEB-INF/classes/struts.properties file.
呵呵,仔细检查后发现:我的struts.xml配置如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="actions" namespace="/actions" extends="struts-default">
<action name="Student*" class="com.bjsxt.struts2.action.StudentAction" method="{1}">
<result>/Student{1}_success.jsp</result>
</action>
<action name="*_*" class="com.bjsxt.struts2.action.{1}Action" method="{2}">
<result>/{1}_{2}success.jsp</result>
</action>
</package>
<!-- Add packages here -->
</struts>
但是我的jsp的页面的名字确实Teacher_add_success.jsp
Teacher_delete_success.jsp之类的
呵呵,错误很明显了:
l.第一个错误:
Unable to instantiate Action, com.bjsxt.struts2.action.TeacherAction, defined for 'Teacher_add' in namespace '/actions'com.bjsxt.struts2.action.TeacherAction
就是说你的struts.xml中result返回的Action的名字与jsp的名字不一致的原因!!
2.第二个错误:
java.lang.ClassNotFoundException: com.bjsxt.struts2.action.TeacherAction
这是什么意思呢,呵呵仔细看自己的项目,终于发现了,这是报的com.bjsxt.struts2.action.TeacherAction 空指针异常,原来是我的这个类的名字写错了,呵呵,找不到自然的报空指针异常了!!
Struts Problem Report
Struts has detected an unhandled exception:
Messages: com.bjsxt.struts2.action.TeacherAction
Unable to instantiate Action, com.bjsxt.struts2.action.TeacherAction, defined for 'Teacher_add' in namespace '/actions'com.bjsxt.struts2.action.TeacherAction
File: org/apache/catalina/loader/WebappClassLoader.java
Line number: 1,387
--------------------------------------------------------------------------------
Stacktraces
Unable to instantiate Action, com.bjsxt.struts2.action.TeacherAction, defined for 'Teacher_add' in namespace '/actions'com.bjsxt.struts2.action.TeacherAction com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:306)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:387)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:458)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:76)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
java.lang.Thread.run(Thread.java:619)
java.lang.ClassNotFoundException: com.bjsxt.struts2.action.TeacherAction org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:146)
com.opensymphony.xwork2.ObjectFactory.getClassInstance(ObjectFactory.java:96)
com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:149)
com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:139)
com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:109)
com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:287)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:387)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:458)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:76)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
java.lang.Thread.run(Thread.java:619)
--------------------------------------------------------------------------------
You are seeing this page because development mode is enabled. Development mode, or devMode, enables extra debugging behaviors and reports to assist developers. To disable this mode, set:
struts.devMode=false
in your WEB-INF/classes/struts.properties file.
呵呵,仔细检查后发现:我的struts.xml配置如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="actions" namespace="/actions" extends="struts-default">
<action name="Student*" class="com.bjsxt.struts2.action.StudentAction" method="{1}">
<result>/Student{1}_success.jsp</result>
</action>
<action name="*_*" class="com.bjsxt.struts2.action.{1}Action" method="{2}">
<result>/{1}_{2}success.jsp</result>
</action>
</package>
<!-- Add packages here -->
</struts>
但是我的jsp的页面的名字确实Teacher_add_success.jsp
Teacher_delete_success.jsp之类的
呵呵,错误很明显了:
l.第一个错误:
Unable to instantiate Action, com.bjsxt.struts2.action.TeacherAction, defined for 'Teacher_add' in namespace '/actions'com.bjsxt.struts2.action.TeacherAction
就是说你的struts.xml中result返回的Action的名字与jsp的名字不一致的原因!!
2.第二个错误:
java.lang.ClassNotFoundException: com.bjsxt.struts2.action.TeacherAction
这是什么意思呢,呵呵仔细看自己的项目,终于发现了,这是报的com.bjsxt.struts2.action.TeacherAction 空指针异常,原来是我的这个类的名字写错了,呵呵,找不到自然的报空指针异常了!!
发表评论
-
Exception starting filter struts2java.lang.NoClassDefFoundError: org/apache/comm
2011-10-28 08:49 1364遇到个启动Tomcat的错误。错误类型是: 严重: Ex ... -
关于异常positioned update are not supported总结
2010-12-12 22:52 2061今天项目中遇到了positioned update are n ... -
Struts2 如何获取Request,Session对象
2010-10-19 10:34 1459Struts2 如何获取Request,Session对象 ... -
Jasperreport+ireport 实践操作及web应用
2010-08-08 09:10 1911Jasperreport+ireport 实践操 ... -
Struts2的基本流程
2010-08-03 11:17 1229Struts2的基本流程 大致上,Struts2框架由三个 ... -
动态表头
2010-08-02 23:19 1277最近在我公司drp(运营分销系统)开发中,需要大量报表,由于本 ... -
Unable to instantiate Action(关于struts2.0异常)
2010-08-02 17:57 1592Unable to instantiate Action(关于 ... -
Jasper Report用户手册
2010-08-02 11:32 1452Jasper Report用户手册... i version1 ... -
iReport学习笔记——动态报表
2010-08-01 23:29 1736iReport学习笔记——动态报表 最近一直在研究jaspe ... -
动态生成报表
2010-08-01 22:43 1852项目里用到了jasperreport,平时都是用ireport ... -
JasperReport学习笔记2-创建简单的报表例子
2010-08-01 21:21 1922JasperReport学习笔记2-创建简单的报表例子 一, ... -
log4j error
2010-07-27 19:17 750在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日 ... -
log4j:WARN Please initialize the log4j system properly
2010-07-27 18:49 1637log4j:WARN Please initialize th ... -
Struts2的类型转换器
2010-07-27 17:53 813Struts2的类型转换器 一、概述 在B/S应用中,将字 ... -
Struts2的常量详解
2010-07-27 17:51 759Struts2的常量详解 通常struts2加载strut ... -
Unable to load configuration
2010-07-23 09:18 1071问题解决:Unable to load configurati ...
相关推荐
在Struts2的配置中,通配符(Wildcard)的使用是一个非常实用的功能,它使得URL映射更加灵活,减少了重复配置。下面将详细解释Struts2通配符的用法,并结合示例代码进行解析。 1. **Struts2通配符概述** Struts2的...
### Struts2通配符详解 #### 一、引言 Struts2是基于MVC设计模式的一个开源框架,它提供了强大的功能来帮助开发者构建健壮的企业级应用。本文主要介绍Struts2中的通配符配置,这是一种非常实用且灵活的方式来处理...
3. **执行Struts2过滤器**:Struts2的过滤器被触发,开始处理请求。 4. **读取struts.xml配置文件**:根据配置文件中的信息确定请求的处理方式。 5. **解析namespace**:确定请求所属的namespace。 6. **定位action*...
这篇博客可能详细解释了如何在Struts2框架中使用通配符配置来简化Action配置。 通配符配置的核心思想是通过使用特殊字符(如*)来匹配多个Action名称。例如,如果你有一个处理所有用户操作的通用Action,你可以使用...
在Struts2中,使用通配符优化配置是实现这一目标的有效手段。通配符允许开发者以一种更加灵活的方式定义Action,避免了为每一个Action单独编写配置项的繁琐工作。 首先,我们来理解一下什么是通配符。在Struts2的...
通过分析和运行这些示例,你可以更好地掌握Struts2的通配符配置和错误处理机制。 总之,熟练掌握Struts2的通配符配置和错误处理能够使你的应用更加健壮,代码更加简洁。这不仅能提高开发效率,还能为用户提供更友好...
压缩包中的`CrudText`文件可能是一个用于演示CRUD操作的例子,可能是用文本形式展示了如何使用Struts2的通配符进行创建、读取、更新和删除数据的操作。具体的内容可能包括Action的配置、Action类的编写以及对应的...
9. 通配符匹配:Struts2允许使用通配符进行Action和结果的匹配,例如,`*.{action}`可以匹配所有以action结尾的动作。 七、Struts2与Spring集成 10. 集成Spring:Struts2可以通过Struts2-Spring-plugin插件与Spring...
Struts2作为一款流行的Java Web框架,其动态调用功能为开发者提供了极大的便利。在处理多样化的用户请求时,能够灵活地映射不同的操作(methods)到同一个Action,从而简化配置,提高代码的可维护性。本文将深入探讨...
4. **通配符映射**:Struts2支持使用通配符来映射Action,例如 `*` 和 `{1}`。通配符可以用于动态生成Action名,但不当使用可能会引起路径匹配混乱。 5. **插件和拦截器**:Struts2的插件和拦截器也会影响路径处理...
当客户端发送请求时,Struts2会根据配置文件中的通配符规则来匹配相应的Action。匹配过程中遵循以下规则: - 如果存在一个精确匹配的Action名称,则优先使用精确匹配。 - 如果不存在精确匹配,则按照通配符规则进行...
Struts2是一个强大的Java web应用...在使用通配符时,一定要注意方法名的命名规则,确保它们与URL路径中的通配符部分匹配,避免出现找不到方法的错误。同时,合理利用通配符和拦截器,可以提升应用的健壮性和用户体验。
2. **通配符**:Struts2支持使用通配符来匹配多个Action。比如,`*`可以匹配任何字符,`{1}`、`{2}`等可以捕获URL中的动态参数。例如,`*_*" class="com.example.UserAction">`可以匹配`user_get_1`、`user_save_2`...
### Struts2 通配符映射创建步骤详解 #### 一、项目环境搭建与配置 根据提供的描述,本文将详细介绍如何实现Struts2中的通配符映射,并结合具体的步骤来阐述整个过程。 **第一步:创建动态Web工程** 1. **创建...
**二、搭建Struts2的运行环境** 搭建Struts2环境通常包括以下几个步骤: 1. 引入Struts2的核心库依赖到项目中,这通常是在Maven或Gradle的pom.xml或build.gradle文件中添加对应的依赖。 2. 配置web.xml文件,将...
Struts2.5框架使用通配符与动态方法常见问题小结 Struts2.5框架使用通配符与动态方法是Struts2.5框架中两个非常重要的概念。通配符是Struts2.5框架中的一种强大的功能,它允许开发者使用通配符来指定方法,减少配置...
- Struts2的拦截器支持使用通配符来指定Action的执行顺序或拦截条件,例如在`struts.xml`中配置拦截器时可以使用通配符来指定某些特定的Action被拦截。 - **国际化处理**: - Struts2内置了国际化支持机制,允许...
这些jar包是Struts2运行所必需的,缺少任何一项都可能导致运行时错误。 接下来,我们需要配置`web.xml`文件,这是Web应用程序的部署描述符。在`<filter>`和`<filter-mapping>`标签内,定义一个名为`struts2`的过滤...
为了更高效地调试和测试,可以使用Struts2提供的开发工具,如Struts2的开发模式,它会提供更详细的错误信息,帮助定位问题。同时,了解Struts2的源码也是提升开发效率的关键,可以深入理解框架的工作原理,更有效地...