簡介
因爲公司的項目要用到SSH框架,所以趁着國慶放假這幾天趕緊把Struts2 Web框架學習一遍。首先提示我本次學習使用的Struts2 2.5版本,具體下載自己可以去官網下載。不過Struts2 2.3版本與2.5版本的東西變動有些大,希望各位學習的時候能夠明確對應版本,進行對應的配置,避免不必要的麻煩。另外本次學習的資料來源於B站up:authshuker搬運的傳智播客的視頻。有一定基礎的同學可以自己去學習Struts2。
一.下載jar包
找到Struts官網的下載頁面,我下載的是:
最新的2.5.20版本。
二.eclipse中創建web項目
雖然intellij idea 和eclipse我都有用,但是我的臺式機上面只有eclipse,所以就選擇使用了eclipse。具體的創建過程我就不詳細介紹了。直接上項目文件配置:
這裏struts.xml文件名稱位置都固定在src目錄下面。
接下來就是導入對應的包:
你不知道需要導入什麼包,你只需要在你下載的Struts2壓縮包中去找到對應的樣例web包,把裏面的jar包複製過來就行了。
使用壓縮包的方式打開找到裏面的lib目錄下面的jar全複製過來就行了。這個樣例web包中還有web.xml和Struts.xml文件的樣例,也可以複製過來進行修改。後面就不再複述。
三.創建action類
action類有三種創建方式,後面我在單獨進行詳細介紹,這裏我就使用最簡單的方式。
public class HelloAction {
public String execute() throws Exception{
System.out.println("這裏是execute");
return "success";
}
}
四.配置struts.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<package name="hello" extends="struts-default" namespace="/">
<action name="test" class="com.xj.struts.HelloAction">
<result name = "success">/Hello.jsp</result>
</action>
</package>
</struts>
上述配置中package標籤是這是一個請求包name自定義名稱,extends是固定值不變,namespace的值與action標籤中的name屬性的值組合成url訪問請求路徑。action標籤表示action類的請求處理,class表示action裏的路徑(action中還有一個method屬性,如果沒有寫就默認執行action中的execute方法),result標籤表示action類返回後的處理跳轉。name值與action類返回的值必須相同,result標籤中包含的是跳轉的路徑。
五.在web.xml文件中配置struts過濾器
<display-name>HelloStruts2</display-name>
<!-- Filters -->
<!-- START SNIPPET: filter -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- END SNIPPET: filter -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
過濾器位置隨意放在web-app標籤裏面就行了。
六.創建一個Hello.jsp文件,啓動項目
在WebContent目錄下面創建Hello.jsp文件。
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
TEST STRUTS2!!
</body>
</html>
然後把項目添加到Tomcat中去。啓動Tomcat,在瀏覽器中輸入http://127.0.0.1:8080/HelloStruts2/test.action
沒問題的情況下訪問結果:
也不排除有時候會遇到這種情況:
解決方法參考