国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

操作手冊_MyEclipse

2019-11-15 01:05:31
字體:
來源:轉載
供稿:網友
操作手冊_MyEclipse前言

假如你的人生有理想,那么就一定要去追,不管你現在的理想在別人看來是多么的可笑,你也不用在乎,人生蹉跎幾十年,如果年輕的時候計較得失前怕狼就后怕虎而不去追逐,等到了40,50歲的時候,你唯一能做的就是感嘆歲月的消逝和無情…

實驗軟件下載
  1. 下載struts2.1.6http://struts.apache.org/download.cgi#struts217(選擇下載fulldistribution)
  2. 下載myeclipse,http://www.myeclipseide.com
  3. 下載tomcat,http://tomcat.apache.org
  4. 下載xwork,http://www.opensymphony.com/xwork(要注意的是下載與struts2.1.6的對應版本,即2.1.2)
安裝與設置
  1. 解壓struts2.1.6,假設解壓后位于d:/struts2目錄
  2. 安裝MyEclipse,任何版本都可以
  3. 假設你已經安裝好jdk和tomcat了,如d:/tomcat
HelloWorld
  1. 建立項目
    1. 打開eclipse
    2. 新建項目
    3. 選擇myeclipse-javaenterPRiseprojects-webproject
    4. 項目名稱:struts2_0100_introduction
    5. 選擇javaee5.0
  2. 設定server
    1. window–preferences–myeclipse–servers–tomcat–6.x
    2. 選擇tomcathomedirectory
    3. 選擇enable
    4. finish
  3. 設定jdk環境
    1. window–preferences–java–installedjres
    2. 如果沒有對應的JDK(不是JRE),選擇add
    3. 選擇standardVM->next
    4. 選擇JDK對應的Directory
    5. 將剛剛設定的JDK設為默認
  4. 建立第一個struts2.1的程序
    1. 找到struts目錄下對應的apps目錄
    2. 解壓struts2-blank-2.1.6.war
    3. Copy對應的lib的jar文件,需要除junit和spring-test之外的所有文件,其中commons-io的jar包會在文件上傳和下載時需要,其他為必須
    4. Copy對應的struts.xml到src目錄,在packageexplorer視圖進行操作
    5. 注釋掉struts.xml的多余內容
    6. 建立HelloStruts2_1.jsp文件
    7. *修改jsp文件的默認編碼屬性window-preferences-web-jspfiles-設為Chinese,NationalStandard
    8. 在struts.xml中照原配置進行對應的配置
    9. 修改對應的web.xml,建立struts2的filter(參考struts自帶的項目)
  5. 運行項目
    1. 可以首先部署到tomcat上項目
    2. 也可以項目右鍵debugas–myeclipseserverapp,選擇剛剛建立好的server
  6. 其他
    1. 學習建立struts的dev-mode,好處在于我們修改了配置文件的時候能夠自動熱替換
    2. 建立jar文件對應的源碼D:/share/tools/struts-2.1.6/src/core/src/main/java,以及xwork對應的源碼,以及對應的javadoclocation,(更好的方式是建立自己的user-library)
    3. 瀏覽struts的目錄
    4. 認識eclipsejee的項目部署目錄,認識如何修改webapp的context-root,項目copy改名后可能會出現的問題
    5. packageexplorer–建立jar的源文件和目標關聯,navigator–觀察所有的內容
    6. 認識Action的后綴名,在struts2默認中,帶不帶action都可以

常見問題:
  1. struts.xml不自動提示
    1. window–preferences–搜索catalog–add
    2. 選擇keytype為URI
    3. key:http://struts.apache.org/dtds/struts-2.0.dtd
    4. location:對應的dtd文件,位于struts-core包中,解壓開,指定相應位置,如:D:/share/0750_Struts2.1.6/soft/struts-2.1.6/lib/struts2-core-2.1.6/struts-2.0.dtd
  2. 導入示例項目
    1. 注意JDK的版本,應該是JDK6,否則會出classversion的問題
    2. 如果總是項目出問題,可以重建項目,單獨拷文件
    3. 還有一種情況是項目右鍵,properties–java–compiler選擇6.0
    4. 另外,在tomcat配置中也要使用jdk6
  3. devMode設為true就會出問題空指針問題
    1. tomcat路徑帶了空格
  4. 在使用ActionContext.getContext().get(“request”)取不到對象,為null值
    1. web.xml不要使用2.0的filter,用新的
  5. 在action的試驗中,遇到一個奇怪的bug
    1. 用default-action-ref指定一個action
    2. 用*_*映射
    3. 在地址欄中訪問一個不存在的action,如adfsdfsfs
    4. 結果居然會映射到*_*上
    5. 如果換成*__*就沒問題了
    6. 靠,只能認為是bug
    7. 下次用*-*,不用*_*
學習方法說明
  1. 先閱讀老師的代碼
  2. 再建立自己的項目進行動手學習
Action
  1. 實現一個Action的最常用方式:從ActionSupport繼承
  2. DMI動態方法調用!
  3. 通配符配置*{1}{2}…
    1. *_*
  4. 接收參數的方法(一般用屬性或者DomainModel來接收)
  5. 簡單參數驗證addFieldError
    1. 一般不使用Struts2的UI標簽
  6. 訪問Web元素
    1. Map類型
      1. IoC
      2. 依賴Struts2
    2. 原始類型
      1. IoC
      2. 依賴Struts2
  7. 包含文件配置
  8. 默認action處理
Result
  1. 常用四種類型:
    1. dispatcher(默認)
    2. redirect
    3. chain
    4. redirectAction
  2. 全局結果集
    1. global-results|extends
  3. 動態結果(了解)
    1. 在action中保存一個屬性,存儲具體的結果location
  4. 傳遞參數
    1. 客戶端跳轉才需要傳遞
    2. ${}表達式(不是EL)
OGNL
  1. ObjectGraphNavigationLanguage
  2. 想初始化domainmodel,可以自己new,也可以傳參數值,但這時候需要保持參數為空的構造方法
  3. 其他參考ognl.jsp
  4. 什么時候在stack中會有兩個Action?chain
Struts-Tags
  1. 通用標簽:
    1. property
    2. set
      1. 默認為actionscope,會將值放入request和ActionContext中
      2. page、request、sessionapplication
    3. bean
    4. include(對中文文件支持有問題,不建議使用,如需包含,改用jsp包含)
    5. param
    6. debug
  2. 控制標簽
    1. ifelseifelse
    2. iterator
      1. collectionsmapenumerationiteratorarray
    3. subset
  3. UI標簽
    1. theme
      1. simplexhtml(默認)CSS_xhtmlAjax
  4. AJAX標簽
    1. 補充
  5. $#%的區別
    1. $用于i18n和struts配置文件
    2. #取得ActionContext的值
    3. %將原本的文本屬性解析為ognl,對于本來就是ognl的屬性不起作用
      1. 參考<s:property和<s:include
定義自己的theme
  1. css(覆蓋struts2原來的css)
  2. 覆蓋單個文件
  3. 定義自己的theme
  4. 實戰:
    1. 把所有主題定義為simple
    2. fielderror特殊處理
    3. 自己控制其他標簽的展現
作業
  1. 讀doc文檔:struts-tags
  2. 設計約定(編碼規定)
    1. 原則:簡單就是美
    2. 庫名:項目名
    3. 表的命名:_Model名
    4. 字段:保持和屬性名一致(盡量不要起名和數據庫命名沖突)
    5. 用層來劃分包com.bjsxt.bbs.actionmodel(bean)servicedto(vo)
    6. ActionXXXXAction
    7. *-*
    8. /
    9. /admin
    10. package“action”adminAction
項目開發順序-以BBS2009的名義
  1. 建立界面原型
  2. 建立Struts.xml
    1. 確定namespace
    2. 確定package
    3. 確定Action的名稱,空的方法
    4. 確定Result
    5. 將界面原型頁面進行修改,匹配現有設置
    6. 測試
    7. 做好規劃!!!!!
  3. 建立數據庫(或者實體類)
  4. 建立Model層
  5. 建立Service層(后面講了Hibernate后再完善)
    1. 此時可以使用JUnit進行單元測試了
  6. 著手開發
聲明式異常處理
  1. 在Actoin中進行異常映射
  2. 在package中進行全局異常映射
  3. 使用繼承共用異常映射
  4. Struts2中異常處理由攔截器實現(觀察struts-default.xml)
    1. 實際上Struts2的大多數功能都由攔截器實現
I18N
  1. I18N原理
    1. ResourceBundle和Locale的概念
    2. 資源文件
    3. native2ascii
  2. Struts的資源文件
    1. Action–Package–App級
    2. 一般只用APP
      1. struts.xmlcustom.i18n
    3. PropertiesEditor插件
      1. 解壓
      2. featuresplugin覆蓋到myeclipse中的eclipse目錄里
    4. 動態語言切換
      1. request_locale=en_US
Struts攔截器以及源碼解析
  1. Struts架構圖
    1. 見文檔
  2. Struts執行過程分析
  3. Interceptor攔截器過程模擬
  4. 定義自己的攔截器
    1. acegi–springsecurity
  5. 使用token攔截器控制重復提交(很少用)
  6. 類型轉換
    1. 默認轉換
      1. 日期處理
    2. 寫自己的轉換器:

publicclassMyPointConverterextendsDefaultTypeConverter{

@Override

publicObjectconvertValue(Objectvalue,ClasstoType){

if(toType==Point.class){

Pointp=newPoint();

String[]strs=(String[])value;

String[]xy=strs[0].split(",");

p.x=Integer.parseInt(xy[0]);

p.y=Integer.parseInt(xy[1]);

returnp;

}

if(toType==String.class){

returnvalue.toString();

}

returnsuper.convertValue(value,toType);

}

}

publicclassMyPointConverterextendsStrutsTypeConverter{

@Override

publicObjectconvertFromString(Mapcontext,String[]values,ClasstoClass){

Pointp=newPoint();

String[]strs=(String[])values;

String[]xy=strs[0].split(",");

p.x=Integer.parseInt(xy[0]);

p.y=Integer.parseInt(xy[1]);

returnp;

}

@Override

publicStringconvertToString(Mapcontext,Objecto){

//TODOAuto-generatedmethodstub

returno.toString();

}

}

    1. 三種注冊方式:
      1. 局部:XXXAction-conversion.properties
        1. p(屬性名稱)=converter
      2. 全局:xwork-conversion.properties
        1. com.xxx.XXX(類名)=converter
      3. Annotation
    2. 如果遇到非常麻煩的映射轉換
      1. request.setAttribute();
      2. session
補充視頻中講解的內容
  1. Lambda表達式
  2. 驗證框架
  3. UI標簽
  4. 類型轉換中的異常處理
  5. 上傳與下載文件
  6. Struts2注解
Struts2總結
  1. Action
    1. namespace(掌握)
    2. path(掌握)
    3. DMI(掌握)
    4. wildcard(掌握)
    5. 接收參數(掌握前兩種)
    6. 訪問request等(掌握MapIOC方式)
    7. 簡單數據驗證(掌握addFieldError和<s:fieldError)
  2. Result
    1. 結果類型(掌握四種,重點兩種)
    2. 全局結果(掌握)
    3. 動態結果(了解)
  3. OGNL表達式(精通)
    1. #%$
  4. Struts標簽
    1. 掌握常用的
  5. 聲明式異常處理(了解)
  6. I18N(了解)
  7. CRUD的過程(最重要是設計與規劃)(精通)
  8. Interceptor的原理(掌握)
  9. 類型轉換(掌握默認,了解自定義)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日照市| 堆龙德庆县| 会东县| 和硕县| 抚顺市| 巨野县| 武威市| 齐河县| 亳州市| 彝良县| 晋江市| 太白县| 安陆市| 岫岩| 利辛县| 台前县| 枝江市| 雷州市| 湟源县| 满洲里市| 长岛县| 铅山县| 齐河县| 冀州市| 南宫市| 江津市| 三门县| 长治市| 冕宁县| 新巴尔虎左旗| 东乡县| 从江县| 福清市| 潼关县| 新晃| 广河县| 平凉市| 定南县| 闽侯县| 杭锦旗| 伊宁市|