最近在學習關于JavaEE部分,接觸到了Struts架構,本來打算好好研習一番的,結果在配置的過程中一直都出問題,在這裡為了讓大家不在被跟我碰到的類似的問題所困擾,決定記錄下來,希望對大家有所幫助。
首先安裝好MyEclipse2014之後,建立一個web項目,如圖1:
這裡選擇Web Project,點選之後,命名為demo,一直下一步就好(圖2)。
最後在Myeclipse中顯示的是這樣的(圖3)
這裡注意,在檔案夾“src”和“lib”下面是沒有任何内容的,然後這裡有兩種方法來建立struts,我們都知道myeclipse這個IDE是非常強大的,它自帶了Tomcat伺服器,也自帶了Struts2.0的相關jar包,但是這裡我們不用,而是自己手動的配置,即從外部來導入,首先是伺服器的配置,這裡選用Tomcat,我就不多言了,相信大家都會,最主要的還是導入struts2.0相關jar包的問題,很關鍵的一點就是,先從官網上下載下傳好之後,直接将其複制粘貼到lib檔案夾下面,這裡選用的是struts 2.1.8,哪都有下載下傳的。
首先是複制jar包:
然後直接到Myeclipse下面粘貼
粘貼完成之後是這個效果:
有多少無所謂,據說隻需要9個主要的jar包就可以了,但是這裡為了保險以及友善起見,筆者全部複制進去了,反正對結果沒什麼影響,然後就是配置struts.xml以及web.xml,其實這兩樣檔案不需要自己寫,直接copy就可以了,在哪呢,就在下載下傳的struts的檔案包中,路徑比較難找,這裡我就不截圖了,直接說路徑吧:F:\Java檔案\struts-2.1.6\apps\struts2-blank-2.1.6\WEB-INF\src\java\src.xml。
同樣的,web.xml也不需要自己手動敲,直接複制粘貼并覆寫即可,路徑也在相似的位置:
F:\Java檔案\struts-2.1.6\apps\struts2-blank-2.1.6\WEB-INF\web.xml,其中有一個檔案叫做struts2-blank-2.1.6.war,這個檔案需要先解壓,
把這兩個檔案分别粘貼到相應的位置,struts.xml粘貼到src下面,而web.xml直接覆寫即可,裡面的代碼如下,都是最最基礎的代碼:
Struts.xml:————
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
</struts>
Web.xml:————
<?xml version="1.0"encoding="UTF-8"?>
<web-app version="2.5"xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<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>*.action</url-pattern>
</filter-mapping></web-app>
然後配置好tomcat之後就可以運作了,在浏覽器裡面輸入:
http://localhost:8888/demo/index.jsp
運作成功,接下來就可以進行真正的struts配置了,例如加入各種action,這裡隻是第一步能讓項目正常的運作。
這裡也可能有第二種情況,即直接在myeclipse中直接配置内置的struts,但是很遺憾,筆者試過了n次,也沒有搞懂,每次建立一個項目,隻有一個檔案index.jsp,在伺服器下可以正常運作并輸出“This is my JSP page.”,但是一旦配置了内置的struts之後,就會出事,配置過程如圖:
配置完成之後就會出現這個東西:
這個表示struts配置完成,可以運作了,然後我就在浏覽器裡面輸入:
http://localhost:8888/demo/index.jsp
結果确實很奇怪:
我不知道是什麼原因,這個與之前的項目唯一的差別就在于jar包的位置,這個是直接ID預設就在struts 2.1 Library,而之前是自己手動的粘貼到lib目錄下,但是結果卻不一樣。