今天在做SSI框架整合的时候报了一个这样的错误:Action class [userAction] not found - action - file:/D:/tomcat-6.0.29/webapps/SSIBlank/WEB-INF/classes/struts.xml:10:54,找了好久,一直以为我配置的问题或者是缓存的原因,翻来覆去搞了好久也没搞好,最后想想...原来是这样,具体的异常详细信息如下:
严重: Exception starting filter Struts2.1
Unable to load configuration. - action - file:/D:/tomcat-6.0.29/webapps/SSIBlank/WEB-INF/classes/struts.xml:10:54
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:431)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
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.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
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.core.StandardService.start(StandardService.java:519)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: Unable to load configuration. - action - file:/D:/tomcat-6.0.29/webapps/SSIBlank/WEB-INF/classes/struts.xml:10:54
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)
... 29 more
Caused by: Action class [userAction] not found - action - file:/D:/tomcat-6.0.29/webapps/SSIBlank/WEB-INF/classes/struts.xml:10:54
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:409)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:354)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:468)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:264)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:193)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
... 31 more
面对出现异常的情况一定要冷静的心态,不要看报了一大串异常就觉得无从下手,感到心烦意乱,其实报的异常越多说明你出现的问题越容易找(这是我自己的观点),哈哈...在看异常的时候抓住最后的Caused by,这才是引起异常的最终原因。
下来看我们这个异常:
检查步骤:
1、看看你struts.xml文件中action中对应的class属性的值是否可以在Spring的配置文件中找到对应的id值。
2、如果你确定你的配置没有出现问题,那么一定是你导入包的时候少了包,这时候你检查下你的项目中是否有以下三个jar包,struts2-spring-plugin-2.0.11.1.jar、commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar。
3、导入jar包之后如果还是有同样的错误,这时候你需要清理缓存或者把项目重新部署下,这样应该就可以解决问题了。
分享到:
相关推荐
在OA系统中,Struts2负责接收HTTP请求,根据配置的Action映射转发到相应的业务逻辑,然后返回视图给用户。它的拦截器机制允许在请求处理过程中插入自定义的逻辑,如数据验证、权限校验等。 3. **Hibernate框架**:...
DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd"> </dwr> ``` - 这个文件是DWR的核心配置文件,用于指定哪些Java对象可以被远程调用。 4...
7. **执行result**:Action处理完成后,根据result配置跳转到相应的页面或执行其他操作。 8. **转发到目标资源**:执行forward或return操作,完成整个流程。 #### 三、Struts2 Namespace Namespace用于组织Action...
<s:action name="userAction" namespace="/user" executeResult="true"> <s:param name="id" value="123"/> </s:action> ``` ### 总结 以上介绍了Struts2框架中常用的几个标签:`<s:property>`、`<s:set>`、`...
- **用途**:用于标记一个Action类或Action类中的方法,相当于XML配置文件中的`<action>`元素。 - **属性**: - `value()`:指定Action的URL路径,即`<action>`元素的`name`属性。 - `results()`:定义Action执行...
<bean name="/login" class="com.coe.struts.action.UserAction"> <property name="userImp" ref="userImp"/> </bean> ``` - **解析**: - `name`属性指定Action的路径。 - `class`属性指定Action的实现类。 ...
<excludes file="${decorators-file}" /> <page-parsers> <parser content-type="text/html" class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" /> <parser content-type="text/html;charset=...
<action name="userAction1" class="com.ws.action.user.UserAction"> <result name="login">/WEB-INF/jsp/user/userlist.jsp</result> </action> </package> ``` - **动态方法调用**:支持在URL中直接调用...
- **工具准备**:确保安装了必要的开发环境,如JDK1.4.2或更高版本、Tomcat5.0+等。 - **环境配置**:设置好JAVA_HOME、ANT_HOME、CATALINA_HOME等环境变量,并将相关路径加入到系统PATH中。 - **下载资源**:...
DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <package name="com" extends="struts-default"> <action name=...
这里`userAction`是Action类的名称,`%{userEditUrl}`引用了前面定义的URL变量。 #### 6. `<s:form>` — 表单标签 - **用途**:用于创建表单,并定义表单提交的动作及方法。 - **示例用法**: ```xml <s:form ...
public class UserAction extends ActionSupport { private User user = new User(); public String execute() { // 设置用户信息 user.setName("张三"); user.setAge(25); return SUCCESS; } // ...
在提供的文件名中,如`PostManageAction.class`、`UserAction.class`等,可以看出这些类主要负责处理用户交互逻辑,属于Controller层。它们负责接收用户的请求,处理业务逻辑,并将结果传递给视图层展示。 2. **...
<bean id="userAction" class="com.client.action.UserAction"> <property name="myUserService" ref="MyUserService"/> </bean> </beans> ``` 在上述配置中,`JaxWsPortProxyFactoryBean`是一个关键的组件,它...
<bean name="/user" class="com.alonely.struts.action.UserAction"> <ref bean="userService"/> </property> </bean> ``` - **Action**:Struts框架中的控制器,处理用户请求并调用相应的服务层逻辑。 - **...
- **环境搭建**:安装JDK 1.4.2及以上版本、Tomcat 5.0+以及Ant 1.6.1+。 - **环境变量设置**:设置`JAVA_HOME`、`ANT_HOME`和`CATALINA_HOME`。 - **路径配置**:将`JAVA_HOME/bin`、`ANT_HOME/bin`和`CATALINA_...
public class UserAction implements Action { // ... } ``` - **实践意义**:使用`@Action`注解可以使Action类的配置更加清晰,同时也能充分利用Java注解的强大功能,简化配置过程。 综上所述,通过合理利用...
public class UserAction extends ActionSupport { private User u = new User(); @Override public String execute() throws Exception { System.out.println(u.getName() + "--" + u.getAge() + "--" + u....
<action name="main" class="com.tarena.web.action.UserAction" method="main"> <result name="index" type="dispatcher">/WEB-INF/jsp/index.jsp</result> </action> <action name="save" class=...