DBMNG数据库管理与应用

书籍是全世界的营养品。生活里没有书籍,就好像没有阳光;智慧里没有书籍,就好像鸟儿没有翅膀。
当前位置:首页 > 经验分享 > Java组件

搭建struts2框架的步骤

  1. 将复制到项目的lib文件夹下,需复制的jar包有:commons-fileupload-1.2.1.jar、commons-io-1.3.2.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。

  2. 在src根目录下新建struts.xml文件,struts.xml配置如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
     "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
     "http://struts.apache.org/dtds/struts-2.1.7.dtd">
    <struts> 
    </struts>

  3. 在web.xml中配置struts,代码如下

    <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>

 

搭建Struts2框架时,出现问题:

 

  1. 警告: Could not create JarEntryRevision for [jar:file:/D:/apache-tomcat-7.0.5/webapps/Struts2/WEB-INF/lib/struts2-core-2.2.1.jar]!
    java.lang.NoClassDefFoundError: org/apache/commons/io/output/NullOutputStream
     at com.opensymphony.xwork2.util.FileManager$JarEntryRevision.build(FileManager.java:307)
     at com.opensymphony.xwork2.util.FileManager.loadFile(FileManager.java:145)
     at com.opensymphony.xwork2.util.FileManager.loadFile(FileManager.java:105)
     at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:898)
     at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:154)
     at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:121)
     at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:179)
     at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
     at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
     at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415)
     at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
     at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:273)
     at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:254)
     at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:372)
     at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:98)
     at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4405)
     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5037)
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812)
     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787)
     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:570)
     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1010)
     at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:933)
     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:468)
     at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1267)
     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:308)
     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
     at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89)
     at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:328)
     at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:308)
     at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1043)
     at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:738)
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
     at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1035)
     at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:289)
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
     at org.apache.catalina.core.StandardService.startInternal(StandardService.java:442)
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
     at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:674)
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
     at org.apache.catalina.startup.Catalina.start(Catalina.java:596)
     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:303)
     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431)
    Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.output.NullOutputStream
     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1671)
     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
     ... 47 more

     

    此错误的原因是:在项目的jar包中没有导入:commons-io-1.3.2.jar,导入后即可。

     

  2. 严重: Dispatcher initialization failed
    Unable to load configuration. - bean - jar:file:/D:/apache-tomcat-7.0.5/webapps/Struts2/WEB-INF/lib/struts2-core-2.2.1.jar!/struts-default.xml:48:178
     at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69)
     at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
     at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415)
     at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
     at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:273)
     at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:254)
     at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:372)
     at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:98)
     at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4405)
     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5037)
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812)
     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787)
     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:570)
     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1010)
     at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:933)
     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:468)
     at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1267)
     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:308)
     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
     at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89)
     at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:328)
     at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:308)
     at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1043)
     at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:738)
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
     at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1035)
     at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:289)
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
     at org.apache.catalina.core.StandardService.startInternal(StandardService.java:442)
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
     at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:674)
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
     at org.apache.catalina.startup.Catalina.start(Catalina.java:596)
     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:303)
     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431) 

     

    此错误的原因是:在项目的jar包中没有导入:commons-fileupload-1.2.1.jar,另外,看项目中是否导入了javassist-3.7.ga.jar,全都导入后即可。

本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号