最近在學習關於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目錄下,但是結果卻不一樣。