學習Struts2框架遇到的問題可以說是很常見的,我自己就總結了一下遇到的一些問題,希望可以對你有幫助。
404問題
後綴名問題
解決:主要配置兩個文件struts.xml和web.xml。
<!-- 指定被struts2處理的請求後綴類型。多個用逗號隔開 -->
<constant name="struts.action.extension" value="action,do,go,xkk"/>
<!-- 配置Struts2過濾器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
端口占用問題
解決:到Tomcat安轉文件下的bin目錄下的shutdown文件雙擊,出現一閃後表示退出成功。
開發者模式問題
原因:Struts框架默認情況下是非開發者模式,即struts.devMode的常量值爲false,當修改struts.xml文件時服務器不會重新加載配置文件,使用的還是未改變之前的struts.xml文件。
解決:可以關閉Tomcat然後再啓動,也可以在struts.xml中配置成爲開發者模式。
<!-- 是否使用struts的開發模式。開發模式會有更多的調試信息。默認值爲false(生產環境下使用),開發階段最好打開 -->
<constant name="struts.devMode" value="true" />
亂碼問題
<!-- 設置表單提交數據的格式,對get和post都有用 -->
<constant name="struts.i18n.encoding" value="UTF-8"/>
表單數據提交問題
原因:屬性封裝和模型驅動封裝modelDriven的類中的屬性名和表單form標籤中的相關name屬性值不一致,導致數據提交失敗。當然表單提交的數據項可以和屬性封裝或者模型驅動封裝的數量可以不一致。服務器多項目加載問題
原因:myeclipse中有多個項目發佈到了Tomcat服務器,其中有的項目如果有錯誤,就會報錯。因爲Tomcat服務器啓動時就會將webapps目錄下的所有web項目加載。解決:不需要到Tomcat服務器的webapps目錄下將不需要的項目刪除,可以在myeclipse中的server小窗口將已經加載的其他項目取消發佈。如果沒有server小窗口可以設置出來,Window -> show view ->other... ->輸入server -> 雙擊即可。
多餘的話
以上的問題只是暫時發現的常見問題,今後還會繼續更新。
這是我的一些理解了,希望見諒。