(一)在Action中@Scope("prototype") 注解是什么意思?
spring 默認scope 是單例模式
這樣只會創建一個Action對象
每次訪問都是同一個Action對象,數據不安全
struts2 是要求 每次次訪問 都對應不同的Action
scope="prototype" 可以保證 當有請求的時候 都創建一個Action對象
(二)Struts2中Action接收參數的方法主要有以下三種:
1.使用Action的屬性接收參數(最原始的方式):
a.定義:在Action類中定義屬性,創建get和set方法;
b.接收:通過屬性接收參數,如:userName;
c.發送:使用屬性名傳遞參數,如:user1!add?userName=jim;
2.使用DomainModel接收參數:
a.定義:定義Model類,在Action中定義Model類的對象(不需要new),創建該對象的get和set方法;
b.接收:通過對象的屬性接收參數,如:user.getUserName();
c.發送:使用對象的屬性傳遞參數,如:user2!add?user.userName=mike;
3.使用ModelDriven接收參數(現在用的比較多的方式):
a.定義:Action實現ModelDriven泛型接口,定義Model類的對象(必須new),通過getModel方法返回該對象;
b.接收:通過對象的屬性接收參數,如:user.getUserName();
c.發送:直接使用屬性名傳遞參數,如:user2!add?userName=tom
(三)SSH中的VO類是干嘛的?
先給你說說PO,PO(persistant object 持久對象)對象模型反映了對象間的關系,如一對多、多對多、單向雙向訪問關系等。可以看成是與數據庫中的表相映射的java對象。
而VO(value object 值對象) 通常用於業務層之間的數據傳遞,在WEB應用中,一般用於和前台頁面做數據相互。