程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> Struts2中出現嚴重: Dispatcher initialization failed錯誤

Struts2中出現嚴重: Dispatcher initialization failed錯誤

編輯:關於JSP

嚴重: Dispatcher initialization failed

Unable to load configuration. - action - file:/D:/Apache%20Software%20Foundation/Tomcat%206.0/webapps/structs2/WEB-INF/classes/struts.xml:23:79
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)
.

.

.

無法加載配置,檢查下jar包是否完整!
除了
commons-logging-1.0.4.jar
freemarker-2.3.12.jar
ognl-2.6.11.jar
struts2-core-2.1.8.jar
xwork-2.1.1.jar

這五個核心lib要復制外,
依次加載下面兩個lib
commons-fileupload-1.2.1.jar

commons-io-1.3.2.jar

另外,還要注意是不是原先的代碼有問題!
仔細看下你的錯誤信息
Unable to load configuration. - action -file:/D:/Apache%20Software%20Foundation/Tomcat%206.0/webapps/structs2/WEB-INF/classes/struts.xml:23:79
它不能加載struts.xml這裡的配置,你仔細檢查下那個文件的代碼!

 


在自己的例子中錯誤的原因是:

 

 

 <?xml version="1.0" encoding="GBK"?> 
<!DOCTYPE struts PUBLIC 
        "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN" 
        "http://struts.apache.org/dtds/struts-2.1.7.dtd"> 
<!-- 指定Struts 2配置文件的根元素 --> 
<struts> 
    <!-- 指定全局國際化資源文件 --> 
    <constant name="struts.custom.i18n.resources" value="mess"/> 
    <!-- 指定國際化編碼所使用的字符集 --> 
    <constant name="struts.i18n.encoding" value="UTF-8"/> 
    <!--指定constant的name為devMode表示處於開發模式,value=true修改配置文件內容自動熱替換而不需要每次重新發布--> 
    <constant name="struts.devMode" value="true"/> 
    <!-- 所有的Action定義都應該放在package下,Struts2中通過package來管理action,這裡的包名name並不對應java類中的包 --> 
    <package name="wbb" namespace="/" extends="struts-default"> 
        <action name="loginPro" class="w_basketboy.ajax.action.LoginAction"> 
            <result name="success" type="stream"> 
                <param name="contentType">/html</param> 
                <param name="inputName">result</param> 
            </result> 
            <result name="login">login.jsp</result> 
        </action> 
    </package> 
    <package name="wbb" extends="json-default"> 
        <action name="JSONExample" class="w_basketboy.ajax.action.JSONExample"> 
            <!--配置類型的json的Result--> 
            <result type="json"> 
                <!--為該Result指定參數--> 
                <param name="noCache">true</param> 
                <param name="contentType">text/html</param> 
            </result> 
        </action> 
        <action name="*"> 
            <result>/{1}.jsp</result> 
        </action> 
    </package> 
</struts> 

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
        "http://struts.apache.org/dtds/struts-2.1.7.dtd">
<!-- 指定Struts 2配置文件的根元素 -->
<struts>
    <!-- 指定全局國際化資源文件 -->
    <constant name="struts.custom.i18n.resources" value="mess"/>
    <!-- 指定國際化編碼所使用的字符集 -->
    <constant name="struts.i18n.encoding" value="UTF-8"/>
    <!--指定constant的name為devMode表示處於開發模式,value=true修改配置文件內容自動熱替換而不需要每次重新發布-->
    <constant name="struts.devMode" value="true"/>
    <!-- 所有的Action定義都應該放在package下,Struts2中通過package來管理action,這裡的包名name並不對應java類中的包 -->
    <package name="wbb" namespace="/" extends="struts-default">
        <action name="loginPro" class="w_basketboy.ajax.action.LoginAction">
            <result name="success" type="stream">
                <param name="contentType">/html</param>
                <param name="inputName">result</param>
            </result>
            <result name="login">login.jsp</result>
        </action>
    </package>
    <package name="wbb" extends="json-default">
        <action name="JSONExample" class="w_basketboy.ajax.action.JSONExample">
            <!--配置類型的json的Result-->
            <result type="json">
                <!--為該Result指定參數-->
                <param name="noCache">true</param>
                <param name="contentType">text/html</param>
            </result>
        </action>
        <action name="*">
            <result>/{1}.jsp</result>
        </action>
    </package>
</struts>


這裡的兩個package的name是一樣的,package中的name屬性相當於id,不能重復,將其中一個name改為其他值即可.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved