struts2学习中遇到的坑之 严重: Dispatcher initialization failed错误

爱被打了一巴掌 2022-06-13 07:38 310阅读 0赞

错误提示:
Unable to load configuration. - interceptor-ref - file:/E:/eclipse/hibernate/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/hibernate_crm/WEB-INF/classes/struts.xml:14:46
提示xml文件14行有错误

  1. 严重: Dispatcher initialization failed
  2. Unable to load configuration. - interceptor-ref - file:/E:/eclipse/hibernate/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/hibernate_crm/WEB-INF/classes/struts.xml:14:46
  3. at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)
  4. at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:967)
  5. at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:435)
  6. at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:479)
  7. at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
  8. at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)
  9. at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
  10. at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
  11. at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
  12. at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4809)
  13. at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5485)
  14. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  15. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
  16. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
  17. at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  18. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  19. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  20. at java.lang.Thread.run(Thread.java:745)
  21. Caused by: Unable to find interceptor class referenced by ref-name loginInterceptor - interceptor-ref - file:/E:/eclipse/hibernate/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/hibernate_crm/WEB-INF/classes/struts.xml:14:46
  22. at com.opensymphony.xwork2.config.providers.InterceptorBuilder.constructInterceptorReference(InterceptorBuilder.java:63)
  23. at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.lookupInterceptorReference(XmlConfigurationProvider.java:1114)
  24. at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStack(XmlConfigurationProvider.java:932)
  25. at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStacks(XmlConfigurationProvider.java:945)
  26. at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptors(XmlConfigurationProvider.java:968)
  27. at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:537)
  28. at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:295)
  29. at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112)
  30. at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:264)
  31. at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
  32. ... 17 more
  33. 七月 01, 2017 12:23:41 下午 org.apache.catalina.core.StandardContext filterStart
  34. 严重: Exception starting filter struts2
  35. Unable to load configuration. - interceptor-ref - file:/E:/eclipse/hibernate/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/hibernate_crm/WEB-INF/classes/struts.xml:14:46
  36. at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:493)
  37. at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
  38. at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)
  39. at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
  40. at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
  41. at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
  42. at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4809)
  43. at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5485)
  44. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  45. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
  46. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
  47. at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  48. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  49. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  50. at java.lang.Thread.run(Thread.java:745)
  51. Caused by: Unable to load configuration. - interceptor-ref - file:/E:/eclipse/hibernate/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/hibernate_crm/WEB-INF/classes/struts.xml:14:46
  52. at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)
  53. at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:967)
  54. at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:435)
  55. at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:479)
  56. ... 14 more
  57. Caused by: Unable to find interceptor class referenced by ref-name loginInterceptor - interceptor-ref - file:/E:/eclipse/hibernate/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/hibernate_crm/WEB-INF/classes/struts.xml:14:46
  58. at com.opensymphony.xwork2.config.providers.InterceptorBuilder.constructInterceptorReference(InterceptorBuilder.java:63)
  59. at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.lookupInterceptorReference(XmlConfigurationProvider.java:1114)
  60. at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStack(XmlConfigurationProvider.java:932)
  61. at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStacks(XmlConfigurationProvider.java:945)
  62. at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptors(XmlConfigurationProvider.java:968)
  63. at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:537)
  64. at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:295)
  65. at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112)
  66. at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:264)
  67. at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
  68. ... 17 more

我找了很久,最后才发现

  1. <interceptors>
  2. <!-- 注册拦截器 -->
  3. <interceptor name="loginInter" class="hibernate.web.interceptor.LoginInterceptor"></interceptor>
  4. <!-- 注册拦截器栈 -->
  5. <interceptor-stack name="myStack">
  6. <interceptor-ref name="loginInterceptor">
  7. <param name="excludeMethods">login</param>
  8. </interceptor-ref>
  9. <interceptor-ref name="defaultStack"></interceptor-ref>
  10. </interceptor-stack>
  11. </interceptors>

自己注册的拦截器的名字 即“loginInter”必须和注册拦截器栈中的引用的拦截器名字 即“loginInterceptor”一致。
如下修改即可

  1. <interceptors>
  2. <!-- 注册拦截器 -->
  3. <interceptor name="(loginInterceptor)" class="hibernate.web.interceptor.LoginInterceptor"></interceptor>
  4. <!-- 注册拦截器栈 -->
  5. <interceptor-stack name="myStack">
  6. <interceptor-ref name="(loginInterceptor)">
  7. <param name="excludeMethods">login</param>
  8. </interceptor-ref>
  9. <interceptor-ref name="defaultStack"></interceptor-ref>
  10. </interceptor-stack>
  11. </interceptors>

括号部分为修改部分

发表评论

表情:
评论列表 (有 0 条评论,310人围观)

还没有评论,来说两句吧...

相关阅读