說在前面:我的My Eclipse版本是9.0m1,tomcat版本是7.0,java的jdk版本是1.6.0_23。不完善的地方歡迎大手們指導和探讨。
步驟如下》》》
1.在網站http://struts.apache.org/download.cgi上下載下傳用到的配置檔案架構
2.打開My Eclipse,new-project-MyEclipse-Web Project,Next 輸入項目名稱struts 然後點選finish(注意,這可能會有警報,選擇忽略,原因是jdk版本的問題),至此項目建好了,接下來要進行一些設定
3.設定tomcat和java jdk:
Window-preferences-MyEclipse-Servers-tomcat-7.0x
第一個目錄應該是這樣的一個路徑C:\Program Files\Apache Software Foundation\Tomcat 7.0,其他的自動補全,點選ok,tomcat伺服器配置好了。
接下來,配置jdk。
Window-preferences-MyEclipse-java-Installed jres,點選add,選擇Standard Vm,next,出現的jre home選擇你安裝的jre路徑,我的是這樣的C:\Program Files\Java\jre6。
至此,第三步完成了。
4.解壓下載下傳到的structs檔案,得到struts-2.2.3,進入apps,解壓struts2-blank.war,得到一個目錄檔案
、
一直進入到struts2-blank\WEB-INF\classes檔案夾内,把struts.xml拷貝到剛才建立的那個項目的src目錄内。
進入到struts2-blank\WEB-INF内,把web.xml拷貝到WEB-INF内
進入到struts2-blank\WEB-INF\lib目錄,把所有的jar檔案拷貝到lib目錄内。
接下來還要進行一番配置。
5.打開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/javaee
http://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>/*</url-pattern>
</filter-mapping>
</web-app>
打開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>
<!--
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="index" />
<default-action-ref name="index" />
<global-results>
<result name="error">/error.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping exception="java.lang.Exception" result="error"/>
</global-exception-mappings>
<action name="index">
<result type="redirectAction">
<param name="actionName">HelloWorld</param>
<param name="namespace">/example</param>
</result>
</action>
</package>
<include file="example.xml"/>
-->
<!-- Add packages here -->
<package name="default" namespace="/" extends="struts-default">
<action name="index">
<result>/index.jsp</result>
</action>
</package>
</struts>
不過,請注意<!-- Add packages here -->後面的東西才是你添加的,前邊有很多進階特性,現在用不着,是以,為了簡明,隻填加後面的那些基礎的用法。
至此,檔案的配置以及設定已經進行完了,我的工作空間沒有在C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps下面,是以,建立一個檔案夾,struts,然後把MyEclipse工作空間下struts目錄下的檔案全部拷到剛才建立的那個檔案夾内。至此,打開伺服器,進行測試,我的結果是
。
至此,你已經學會了如何進行一個struts項目的基本的配置,可能你對一些标簽有些迷惑,我把我搜到的幾個問題分享一下,十分感謝這些答案的主人
web.xml中<url-pattern>的3種寫法
① 完全比對
<url-pattern>/test/list.do</url-pattern>
② 目錄比對
<url-pattern>/test/*</url-pattern>
③ 擴充名比對
<url-pattern>*.do</url-pattern>
<servlet-mapping></servlet-mapping>servlet-mapping的重要規則:
☆ 容器會首先查找完全比對,如果找不到,再查找目錄比對,如果也找不到,就查找擴充名比對。
☆ 如果一個請求比對多個“目錄比對”,容器會選擇最長的比對。
=======================================================、
Struts2 中default-action-ref的作用
<default-action-ref name="index"></default-action-ref>
的作用為當所請求的Action不存在或找不到時,會預設調用指定的Action
-------------------------------------------------------------------------------------------
param标簽主要用于為其他标簽提供參數,例如bean和include标簽。
param參數設定:
name:可選屬性,指定設定參數名稱
value:可選屬性,指定參數的值
id:可選屬性,指定該元素引用id
加油吧,為了那個曾經欠下的努力。