這篇文章是以前過去蛙齋中的文章(現在看到以前的文章覺得小蛙以前怎麼那麼勤勞,每個動作都附一張圖 …),最近有一個新的案子使用了 Struts2 開發,對 Struts2 有比較深的了解,先把這篇以前的文章記錄下來,之後再慢慢補上 Struts2 相關文章。

對 JSP 一天比一天熟悉,不過還沒擺脫「JSP菜鳥」的封號 …  這一陣子接觸 Struts2 的心得,在這邊記錄下來,免得到時候要重裝卻裝不起來 >< 附帶一提,原來 … MyEclipse 這麼好用,網路上的一些高手說的一點都沒錯,越便利的 IDE 會讓老手開發起來更快,卻會讓新手變得更白癡。

使用環境:
Tomcat 5.5
MyEclipse 5.5.1 GA
Struts 2.0.11

步驟如下:

1. 下載 Struts2 (http://struts.apache.org/2.x/index.html)

000001.png

2. 選這個

000002.png

3. 開啟 MyEclipse

000003.png

4. 選擇工作區域

000004.png

5. MyEclipse 視窗

000005.png

000006.png

6. 新增專案

000007.png

000008.png

7. 輸入專案名稱(可以隨便打),其他的直接用預設值不修改

000009.png

8. 按下 finish 後,看到下圖,左邊有多出一個剛剛新建立的專案

000010.png

9. 網頁直接放在 WebRoot 下面,且包含 META-INF 和 WEB-INF 資料夾

000011.png

10. 編輯 Tomcat 安裝資料夾 /conf/server.xml 檔案

000012.png

11. 找到文件最後輸入 <Context path=”struts” docBase=”C:\Web\blog\WebRoot” reloadable=”true” />,docBase 看剛剛 MyEclipse 建立專案的時候放在哪,就設置其下的 WebRoot 。注意,下面一定要看到 </Host> </Engine> </Service> </Server> 千萬別弄錯。

000013.png

12. 在 Tomcat 安裝目錄下 / bin / 的 tomcat5.exe (tomcat5w.exe也可以,看自己習慣),小蛙把 tomcat5.exe 建立捷徑,拉到開始旁邊的快捷列,重啟 SERVER 快很多 ^^

000014.png

13. 啟動 Tomcat,tomcat5.exe會看到下面第一張圖,tomcat5w.exe可以看到第二張圖。

000015.png

如果要讓 Tomcat 開機自動啟動,選擇 Automatic,這樣每次開機就會自行啟動了,不過小蛙覺得用上一張圖的做法會比較快速且方便。

000016.png

14. 啟動之後,開啟瀏覽器,在網址列輸入 http://localhost/struts/ (Tomcat 預設 port 為 8080,所以如果沒改過設定的話,這邊要輸入 http://localhost:8080/struts/ )可以看到 「This is my JSP page.」,這是剛剛新增專案的時候,MyEclipse 幫我們建立的 index.jsp 檔案。如果顯示「Internet Explorer 無法顯示網頁」,可能是 Tomcat 沒有啟動成功;如果顯示下圖,可能是路徑OR檔名打錯。

000017.png

15. 練習一個登入的範例,新增表單,文字、密碼欄位跟按鈕,如下:

<form name="form1" action="" method="post">  
帳號 :<input type="text" name="name"><br>
密碼:<input type="password" name="pass"><br>
<input type="submit" value="送出">
</form>

HTML 的細節就不再贅述了,其中 action 部份小蛙留空白,等等再來填。在瀏覽器中可以看到
000018.png16. 要使用 struts2 必須先設定 WEB-INF / web.xml,詳細設定請參閱 中文亂碼總整理 (Tomcat 5.5)如果懶得自已 key 可以直接到文章底下載來用,第一個 filter 是解決中文亂碼的問題,第二個 filter 是為了讓 struts2 能夠正常運作。

000019.png

17. 將下載完的 struts2 解壓縮後,進入 struts-2.0.11 \ lib 下,找到 commons-logging-1.0.4.jarfreemarker-2.3.8.jarognl-2.6.11.jarstruts2-core-2.0.12.jarxwork-2.0.6.jar,將這五個 jar 複製到網站目錄下的 WEB-INF \ lib 裡,以剛剛的例子是 C:\Web\blog\WebRoot\WEB-INF\lib,(畫面上少一個~”~)

000020.png

18. 在 MyEclipse 左邊的 struts 專案中,按滑鼠右鍵點選 Refresh(F5)

000021.png

會變成下圖,可以看到剛剛載入的 jar 檔案,到這裡 struts2 的配置就差不多完成囉!! 接著,來試試看 struts2 是否能正常運作

000022.png

19. struts2 的控制全靠 .action (也就是 form 剛剛留空白要填的部份),我們將這個登入的 action 叫做 Login.action,把剛剛 form 後面的 action=”Login.action 補上。

000023.png

20. 在 struts 下的 src 資料夾上按滑鼠右鍵新增 package

000024.png

000025.png

21. 假設名字輸入 com.local

000026.png

22. 在新增的 com.local 再新增一個 Class file

000027.png

23. Name 的地方輸入我們要建立 action 的名稱(也就是剛剛的 form 要送出的地方 Login),接著按右邊的 Browser

000028.png

24. 在空格裡輸入 actionsupport,是我們要繼承的套件

000029.png

25. MyEclipse 會自己產生部份程式碼

000030.png

26. 輸入以下內容

private String name;
private String pass;

public String execute() throws Exception{
    return SUCCESS;
}
//下面的部份,可以自己寫,也可以直接用 MyEclipse 產生 (所以讓初學者變笨 >< 我就是 ...)
public String getName(){
    return name;
}
public void setName(String name){
    this.name = name;
}
public String getPass(){
    return pass;
}
public void setPass(String pass){
    this.pass = pass;
}

27. 自動產生的方法:Source -> Generate Getters and Setters

000031.png

28. 可以看到剛剛建立的變數名稱,把它們都打勾,按下OK

000032.png

29. 幾乎所有內容,MyEclipse 都幫忙產生了 @@

000033.png

30. 再來編輯輸入完帳號密碼後,轉向的頁面(這邊用result.jsp當例子),在 WebRoot 下按右鍵 -> New -> JSP

000034.png

31. 檔名改為 result.jsp

000035.png

32. 輸入以下內容

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
  <head>
  </head>
  <body>

 姓名為:  <s:property value="name"/> <br>
 密碼是:  <s:property value="pass"/>

  </body>
</html>

這邊我們使用 struts2 的標籤(第2行宣告),<s:property value=”name” /> 表示呼叫 Login.action 中的 getName() 方法來取得 name 的值;<s:property value=”pass” /> 同理。

33. 儲存之後,剩下最後一個工作,設定 struts.xml,這個檔案記錄了 action 跟 jsp 頁面的 mapping,在 src 點選右鍵 -> New -> XML

000036.png

34. 點選 Next,檔名輸入 struts.xml (千萬不能輸入錯誤,包括大小寫)

000037.png

000038.png

35. 在 struts.xml 中輸入以下內容

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
 <package name="struts2" extends="struts-default">
  <action name="Login" class="com.local.Login">
     <result name="success">/result.jsp</result>
  </action>
 </package>
</struts>

36. 儲存之後,重新啟動 Tomcat,在網址列輸入 http://localhost/struts/ (or http://localhost:8080/struts/),接著在頁面中輸入帳號跟密碼,送出之後,就可以在 Login.action 指向的 result.jsp 頁面顯示剛剛設定的內容。

000039.png  000040.png

37. 開發 struts2 的流程,要傳資料的頁面(ex. index.jsp) -> action file -> 接收資料的頁面(ex. reslut.jsp) -> struts.xml (把對應加上去) -> 重新啟動 Tomcat …

一方面記錄下來 = =,神經大條如我,經常忘記環境怎麼設定;一方面希望對剛接觸 struts2 的網友能夠有幫助(應該照著設定就能把環境弄好)。:D

38. 範例檔案下載

相關文章

SSL For Free – 免費又有綠色鎖頭的 SSL Certificates

之前聽說 Google 會優先搜尋有 https 的網頁 (參考:
2016-07-07 23:00:54
hans

8

Android Vuforia with jPCT-AE (5) – 多重模型載入,以 obj 為例

要進到這系列最後一篇文章了,這篇文章拖了很久,一直沒有時間整理,結果到最後 ... 程式碼留下來了,記憶卻有些模糊了,這邊小蛙配著程式碼盡可能的把還記得的東西寫下來。
2016-07-06 11:24:19
hans

8

Android Vuforia with jPCT-AE (4) – 載入 3DS 測試

延續 jPCT-AE Loader 載入模型的部份,這篇要記錄載入 3ds 檔案格式的方法,基本上跟前面幾個 obj, md2 的方法差不多,只有一些小小的變化而已。
2016-07-06 10:24:33
hans

8

Android Vuforia with jPCT-AE (2) – 載入 obj 測試

上一篇 Android Vuforia with jPCT-AE (1) –
2016-07-06 08:24:55
hans

8

Android Vuforia with jPCT-AE (1) – 基本範例

說來慚愧,從 Google Adsense 被 ban 之後,就好久沒有發文了,站上 Vuforia 的文章也已經是好久以前的事情了 (遠目),最近有專案要用到 Vuforia,爬以前的文回來看,蛙哩咧 ... 現在已經更新到 Vu
2016-07-06 07:57:58
hans

8

ClickForce (MobiForce) 當機問題

這真是個浪費時間又漫長的過程,CF 推出新版後台以及新版 SDK 的時候,小蛙就下載來測試,一開始小蛙直接套在「我的股票精算師」上,但只要一套上去就當機 ...
2015-09-02 10:32:51
hans

8

我的股票精算師備份功能

常遇到使用者詢問「我的股票精算師」要怎麼備份,這篇記錄一下,需要寫怎麼備份表示軟體設計上有很大的問題,造成使用者使用上的困難,但小蛙最近沒有時間去做修改 ... 只好委屈精算師的使用者了 ><
2015-02-06 18:32:07
hans

8

第一次從淘寶買小米盒子3

最近阿咕有在大螢幕上看韓劇的需求,剛好搭上 Chromecast 的上市,survey 了一些 Android 電視棒。這篇記錄這幾天的經過。

2015-01-04 23:36:33
hans

8

Java was started but returned exit code = 13

前陣子不知道做了什麼更新,今天要開 Eclipse 突然遇到這個錯誤 ... 記錄一下,留給有需要的人,以 Java 更新的速度,應該很常遇到這個問題。
2014-12-18 11:43:20
hans

8




  一個回應 to “Struts2 設置筆記 (Hello World 級^^)”

  1. 你好
    我照您的教學執行一次
    步驟11我加入完,Tomcat就無法打開了
    事哪邊出問題嗎?

 回覆

你可以使用以下語法 HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="">

(required)

(required)

   
© 2012 蛙齋 Suffusion theme by Sayontan Sinha