最近常常在用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

文章標籤

創作者介紹
創作者 討厭鬼 的頭像
討厭鬼

討厭鬼教學

討厭鬼 發表在 痞客邦 留言(17) 人氣()