1:namespace必須用斜槓開頭,你的namespace是什麼,你訪問的時候工程名後要跟什麼。然後再跟對應的action
解釋:package中namespace屬性是可以不寫的,等用於「namespace=""」,等空意味著只要你在url中輸入action的name,不管是「http://localhost:8080/aaa/bbb/index」還是「http://localhost:8080/struts2/index」,aaa和bbb都是亂敲的,效果都一樣,都可以訪問這個action。
即:namespace=""的package囊括了其他package處理不了的action,url先尋找對應namespace中的action,沒有的話再找namespace為空裡面有沒有對應的action
2:struts2的作用:把請求和檢視分開
3:struts.xml中的package作用:為了區分兩個同名的action,package中的name屬性一般都用「模組」命名,namespace屬性也和name一樣。如圖:
注意:凡是名字叫「success」的result都可以不寫name屬性,預設為success
4:部署專案後,啟動了用debug模式,如圖:點選滑鼠所在的那個圖示(七星瓢蟲狀)
5:拷貝專案a為b時,此時訪問b出現404,原因是要修改一處地方:右鍵專案名-properties-點選web,修改右邊的web-context root為b
6:修改jsp的預設編碼?
windows---preference---如圖:修改成chinese時,編碼是gb2312,也可以改成其他的。
action中有calss屬性,表明當你訪問該action的時候它會去尋找對應的class,並執行其中的execute方法,執行過程:當執行ececute,返回值為success,此時根據success找到對應的jsp,當你不配置calss時,預設是找actionsupport類的execute方法。
9:路徑問題說明:
直接訪問根路徑(http://localhost:8080/工程名)的時候,首先會到web.xml,到對應的strutsfilter,然後就會去找對應的namespace,如果沒找到,就會交給tomcat處理,就會到然後訪問該index.jsp。
即:如果struts.xml中的namespace是"/path",那麼訪問該action時要這樣寫:http://localhost:8080/工程名/path/aaa.action
10:相對路徑:
上圖中的href中使用的是相對路徑。要注意的是:
如何使用絕對路徑:
在myeclipse建立jsp頁面時會自動生成以下**:
string path = request.getcontextpath(); //它會自動獲取整個工程的路徑string basepath = request.getscheme()+"://"+request.getservername()+":"+request.getserverport()+path+"/"; //http:localhost:8080+上面的path
如下圖示例:action標籤裡面有name,class,method三個屬性,class是action類,name指定名稱,method指定該action中的哪個方法
13:萬用字元:如圖:url:http://localhost:8080/actions/studentadd
【在開發專案中,命名規範就是約定,命名要規範,這樣的話配置會很簡潔:*_*.jsp就等同於user_add.jsp】
jsp頁面可以是「user_add_success.jsp」
先是student*匹配了studentadd,該action中有add和delete兩個方法,此時的method=""就代表add方法,
{}中的1,2,3...和*號的內容是根據往裡傳的值來決定的。
萬用字元是為了減少action的數量:原因是如果用感嘆號呼叫action中的方法,此時那個result中jsp就不能唯一匹配了
14:還是萬用字元:如下圖,name有2個*,class中有,method為,result為_.jsp
當輸入url:http://localhost:8080/工程名/teacher_add時,name會匹配teacher_add,action會匹配teacheraction,jsp會匹配teacher_add.jsp
Struts2 學習基礎
struts2主要是將web應用所有的頁面請求統一管理,有自己實現的 相當於 filter mvc的乙個整潔實現。以上為這個demo的大致目錄 對於web的外部包,放在webcontent web inf lib目錄下即可,會自動同步載入到libraries目錄中 這裡用的是struts2.5.14...
struts2學習筆記 struts2的配置檔案
一 struts.xml定義bean的作用 1.建立該bean的例項,將該例項作為struts2框架的核心元件使用。2.bean包含的靜態方法需要乙個值注入。很方便地允許不建立某個類的例項,卻可以接受框架常量。通常需要設定static true 通常,當指定了type屬性時,該屬性不應該制定為tru...
struts2學習筆記 struts2的配置檔案
一 struts.xml定義bean的作用 1.建立該bean的例項,將該例項作為struts2框架的核心元件使用。2.bean包含的靜態方法需要乙個值注入。很方便地允許不建立某個類的例項,卻可以接受框架常量。通常需要設定static true 通常,當指定了type屬性時,該屬性不應該制定為tru...