1. 程式人生 > >IDEA 搭建 Struts2 專案(二)

IDEA 搭建 Struts2 專案(二)

本次介紹的 IDEA 搭建Struts專案與上一篇我們利用 IDEA MAVEN 搭建有所不同,這次我們使用 IDEA自帶的框架,IDEA 將自動為我們匯入jar 包,並配置相應的專案結構,但是會有一些問題,我們在這裡給出解決方案。

1.IDEA 搭建Struts專案步驟

新建專案:

File -> new project -> java -> javaee(勾選 webapplication 及 struts 框架,並選擇download方式載入libarary )

這裡寫圖片描述

專案結構:

這裡寫圖片描述

配置Tomcat ,點選執行

2. 報錯一: 找不到 struts 的Jar包

這是我們發現,tomcat 啟動之後,控制檯報錯,下面是主要報錯資訊,詳細報錯見附錄一

org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter

錯誤原因:

jar 包路徑 放在 lib裡,這樣導致 IDEA 打包時,沒有打包到 web-inf/lib 路徑下,所以Tomcat 會報錯

解決方案:

  1. 我們可以直接 將 jar 包 放到 WEB-INF/lib 路徑下

  2. 可以在 IDEA下設定,讓 IDEA在打包的時候,將jar 包打包 到 WEB-INF/lib 路徑下,下面介紹:

FILE -> Project Structure中設定。

這裡寫圖片描述

經過上面步驟,我們重啟,就會發現,已經打包 到了 WEB-INF/lib 路徑下

3.報錯二,缺少 javassist 包

上面步驟後,我們重新執行,提示出現了 新的錯誤,主要錯誤資訊如下:

Caused by: java.lang.ClassNotFoundException: javassist.ClassPool
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1275)
    at org.apache.catalina.loader
.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1104) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:166)

錯誤原因:

使用maven 就簡單多了,maven 把依賴處理的很好,但是直接使用 IDEA 的framework 引入jar 可能沒有那麼全,所以需要我們再次手動引入 javassist 包, 並配置 到 WEB-INF\lib 路徑下。

解決方案:

我們從IDEA maven 中搜索響應的jar 包。

這裡寫圖片描述

這裡寫圖片描述

同樣道理,我們對 javassist 的jar 包 進行 和 struts jar包一樣 的打包配置,如下圖:

這裡寫圖片描述

新增後重新執行,即可,如下圖,成功執行:

這裡寫圖片描述