使用struts2所遇见的一点问题

大家好,这个是我第一次在csdn上面发表文章。因为我刚刚大学毕业,对于开发方面的知识懂的不是很多。在走向这个岗位的同时,遇到了很多的困难,我相信csdn会给我提供一个很好的学习平台。其它客气的话,就不说了。先看看我在开发中遇到的问题,和解决的办法。

 

项目开发环境:struts2.1.6+Spring 2.0+Hibernate3.2

 

前提:一切配置和框架黑油jar包都没有问题。

错误信息:

ERROR org.apache.struts2.dispatcher.Dispatcher - Dispatcher initialization failed

java.lang.IllegalStateException: The action name cannot be the same as the action suffix [Action]

    at org.apache.struts2.convention.SEOActionNameBuilder.build(SEOActionNameBuilder.java:64)

    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.determineActionName(PackageBasedActionConfigBuilder.java:712)

    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildConfiguration(PackageBasedActionConfigBuilder.java:535)

    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:318)

    at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)

    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:204)

    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)

    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)

    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)

    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:275)

    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)

    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)

    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)

    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)

    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)

    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)

    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)

    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)

    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)

    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)

    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)

    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)

    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)

    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)

    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)

    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)

    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)

    at org.apache.catalina.core.StandardService.start(StandardService.java:448)

    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)

    at org.apache.catalina.startup.Catalina.start(Catalina.java:552)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

    at java.lang.reflect.Method.invoke(Unknown Source)

    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)

    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

2010-1-14 11:00:54 org.apache.catalina.core.StandardContext filterStart

严重: Exception starting filter struts2

The action name cannot be the same as the action suffix [Action] - Class: org.apache.struts2.convention.SEOActionNameBuilder

File: SEOActionNameBuilder.java

Method: build

Line: 64 - org/apache/struts2/convention/SEOActionNameBuilder.java:64:-1

    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:275)

    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)

    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)

    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)

    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)

    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)

    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)

    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)

    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)

    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)

    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)

    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)

    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)

    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)

    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)

    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)

    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)

    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)

    at org.apache.catalina.core.StandardService.start(StandardService.java:448)

    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)

    at org.apache.catalina.startup.Catalina.start(Catalina.java:552)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

    at java.lang.reflect.Method.invoke(Unknown Source)

    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)

    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

Caused by: java.lang.IllegalStateException: The action name cannot be the same as the action suffix [Action]

    at org.apache.struts2.convention.SEOActionNameBuilder.build(SEOActionNameBuilder.java:64)

    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.determineActionName(PackageBasedActionConfigBuilder.java:712)

    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildConfiguration(PackageBasedActionConfigBuilder.java:535)

    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:318)

    at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)

    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:204)

    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)

    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)

    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)

    ... 29 more

 

开始解决方案:

以为这是名字ACTION的名称相同, 然后改变jar包和更改Action名称,结果还是一样。失败!

 

代价:一个下午过去了,头晕了。

 

最后解决方案:

第二天早上,才发现导错了包名。

正确的应该导入:import com.opensymphony.xwork2.ActionSupport;

而我导入的是:import org.springframework.web.struts.ActionSupport;

 

悲哀!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值