天天看點

struts 學習筆記之一 Struts配置

說在前面:我的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

加油吧,為了那個曾經欠下的努力。