[公告] 痞客邦新服務上線 每日星座運勢測算[公告] 痞客邦應用市集全新改版![公告] 痞客邦「應用市集」新 App 上架-iFontCloud Professional[公告] 痞客邦後台發表文章提供插入多張圖片新功能[公告]痞客邦新服務上線 部落客商店聚集就在《痞市集》
討厭鬼最大的動力來源

最近常常在用SSH架構

也就是所謂的Struts2 + Spring + Hibernate

也常常找不到一些有用的資料

所以討厭鬼決定要來寫一個詳細的建置步驟     

因為要講的比較詳細~所以討厭鬼這篇就只講Struts2的建置方法

 

下面的東西為之後會用的的部份~看各位客倌要不要先去網路上抓,或是等之後講到時再去抓也可以

首先我用的環境是 eclipse-helios-SR2-X86_64 + JDK1.6.031(64位元) +tomcat6.0.35(64位元)

會用到的eclipse plugin 有 SpringIDE 與 Hibernate tools 其中Hibernate tools 為必要的

 

因為要講的比較詳細,所以這邊要到用的jar檔只先講Struts2會用到有以下

struts2-core-2.2.3.jar 
xwork-core-2.2.3.jar 
commons-lang-2.5.jar 
commons-fileupload-1.2.2.jar 
freemarker-2.3.16.jar 
ognl-3.0.1.jar 
javassist-3.11.0.GA.jar
commons-io-2.0.1.jar
commons-lang3-3.1.jar

以上是配置Struts2 所必備的jar檔

將這些jar檔放置在 WEB-INF底下lib資料夾當中


接者來配置WEB-INF底下web.xml

在web.xml下加入

 

    <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>/*</url-pattern>
    </filter-mapping>

 

 

以下是我的配置

web.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">

    <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>/*</url-pattern>
    </filter-mapping>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
</web-app>

 

 

接下來設定 struts.xml

在src目錄底下建立 struts.xml

並加入

 

 

<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
    "http://struts.apache.org/dtds/struts-2.1.7.dtd">
    
    <struts>
        <package name="xxxxxxxx" extends="struts-default">
            <action name="xxxx" class="xxxx.xxxx" method="xxxx">
                <result name="success">xxxx.jap</result>
            </action>        
        </package>
    </struts>

 

 

以上xxxx的部份可以自己命名

class="xxxxx.xxxxx" 的部份需要對應到src底下的java檔

method="xxxx" 則是java檔裡的函式名稱

我的配置如下

 

struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
    "http://struts.apache.org/dtds/struts-2.1.7.dtd">
    
    <struts>
        <package name="default" extends="struts-default">
            <action name="index" class="nerdy.action.IndexAction" method="index">
                <result name="success">/index/index.jsp</result>
            </action>        
        </package>
    </struts>
   

 

因為我在class這個地方命名了nerdy.action.IndexAction

所以我要在src底下的nerdy.action package建立IndexAction.java

而我在method這個地方命名了index

則需要在IndexAction.java裡面建立一個名為index的method

我的IndexAction.java如下

 

java

package nerdy.action;

public class IndexAction {

    public String index() {
        return "success";
    }

 

 

當中return "success"; 是為了要與 struts.xml 中的  <result name="success">/index/index.jap</result> 的success

也就是說如果return是打error的話就不會返回到/index/index.jap這一頁,也會因為找不到result name ="error" 而報404錯

 

因為我在struts.xml中打了<result name="success">/index/index.jap</result>

所以我要在webContent底下建立一個叫index的資料夾,並在資料夾中建立一個index.jsp

 

jsp

打開index.jsp在<body></body>中打上 歡迎來到Struts的世界

 

接著將專案放到tomcat上面

放上去以後再網址列打上http://localhost:8080/xxxxxx/index.action

xxxxxxx為專案名稱

恭喜你網頁跑出來了 

console

 

你已經會struts的基本架構了

當然Strtus2的用法不止止是這些

等到把SSH架構都用好了以後會再說明要如何去使用Struts2的tag

 

 

 

 

 

補充

下圖為我的目錄結構 

menu

,

Posted by 討厭鬼 at 痞客邦 PIXNET 留言(16) 引用(0) 人氣()


open trackbacks list Trackbacks (0)

留言列表 (16)

Post Comment
  • kk
  • good
  • 多謝支持

    討厭鬼 replied in 2012/05/16 14:16

  • naruto
  • 第一次接觸 struts framework,非常清楚,謝謝大大
  • 討厭鬼
  • 略盡棉薄之力~有幫到就好
  • Anonymous
  • 真的很感謝阿,昨天折騰我一整夜沒搞好= =
    今天看了你的說明 五分鐘就搞定了QQ
    再次感謝
  • 不會不會~有幫到忙就好了

    討厭鬼 replied in 2012/08/20 09:19

  • 訪客
  • 超棒的!!
    雖然最近也在拼D3~XD
  • 真好~我都沒時間玩

    討厭鬼 replied in 2012/09/18 16:10

  • 訪客
  • 簡單清楚,真的非常佛心來的!雖然還不知道如何深入應用,至少已經入門,之後就要自己努力了! ^^bb
  • 加油喔,你已經在不歸路了~~

    討厭鬼 replied in 2012/09/18 16:11

  • Private Comment
  • 吳銘式
  • 很詳細,非常感謝!
  • Chauster
  • 請問一下
    我按照您的文章做完了
    可是要run的時候都會出現http error 503
    請問版大有遇過這樣的問題嗎?
  • 這樣的話可能要請客倌po一下錯誤訊息,才能知道問題的點在哪邊

    討厭鬼 replied in 2013/03/26 10:11

  • Chauster
  • 順便請問一下在您的文章內
    "會用到的eclipse plugin 有 SpringIDE 與 Hibernate tools 其中Hibernate tools 為必要的"

    這句話的意思?
    因為我好像沒有實作到這句話
    這是從eclipse marketplace 抓下來的嗎?
    感謝
  • 這句話是因為當初在寫的時候,是考慮到要以後跟spring與hibernate才加上去的。
    所以是之後才會用到,可是討厭鬼這邊沒有教要怎麼裝,要自己裝才行。
    marketplace應該是抓的到~如果沒有的話,去官網也應該會有的

    討厭鬼 replied in 2013/03/26 10:15

  • Chauster
  • HTTP Status 404 - /leather/index.action

    type Status report

    message /leather/index.action

    Apache Tomcat/7.0.37

    我將project使用tomcat跑出來的結果....

    感謝幫忙
    description The requested resource is not available.
  • 這個錯誤是說~找不到/leather/index.action這個路徑
    還要看看其它配置的東西,struts2的xml以及你的java code
    如果方便的話,可以將整個專案寄信到討厭鬼的信箱
    nerdyworld@pixnet.net

    討厭鬼 replied in 2013/03/27 09:57

  • 訪客
  • 我還要加入commons-lang3-3.1.jar才能順利執行
  • 那應該是我少寫一個jar檔,不好意思~

    討厭鬼 replied in 2013/10/17 23:21

  • 訪客
  • 請問小弟想開始學SSH請問一下

    需要安裝的有STRUTS.Spring.HIBEMATE

    可是我抓下來的都是zip檔案耶@@
  • 對~要解壓縮,裡面會有jar檔

    討厭鬼 replied in 2013/10/17 23:22

  • 不知道坂大還有沒有注意這篇
  • 我專案丟進去總是跑出這個來 錯誤代碼404 message /struts2/ description :The requested resource is not available. 不知該如何是好
  • 這個錯誤是說,程式找不到/struts2/這個路徑,通常有兩個可能
    1、你沒有這個路徑
    2、打錯路徑
    如果都不是可能就要請你把專案寄給討厭鬼看才行喔,

    討厭鬼 replied in 2014/05/12 00:04

  • 許文彥
  • 您好,我試了一個早上,還是出現404找不到jsp檔,能否將專案寄給您,請您幫小弟解惑呢?若方便的話,在麻煩提供EMAIL,感激
  • Sam
  • 設定半天不行,看了版主的 web.xml 之後才知道,原來是自己的版本宣告錯誤,version 必須為 2.5 的才行!

    感謝版主的分享~ ^^

You haven’t logged in yet, please use guest status to leave message. You can also log in with above service account and leave message

other options