第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

Struts2入門

我來解釋(逗逼)一下,方法3中struts框架的數(shù)據(jù)處理流程
1.和方法2不同點:把User換成List其它流程一樣
2.關(guān)鍵在于理解邏輯視圖分離的思想,框架先提取視圖中的表單數(shù)據(jù),用action的屬性name在xml中找到匹配的Action類,并實例化這個類的一個對象,用set方法把表單數(shù)據(jù)注入這個對象,執(zhí)行xml中method指定的方法,用返回值匹配result返回對應視圖
3.以上流程可以看出,視圖不需要考慮怎么把數(shù)據(jù)傳給邏輯,邏輯也不考慮怎么得到數(shù)據(jù)怎么把結(jié)果視圖返回給用戶,一切由MVC框架完成,邏輯視圖控制器相互獨立,這就是解耦,可以參考spring中“依賴注入”的概念,本質(zhì)是一樣的
我來解釋(逗逼)一下,方法2中struts框架的數(shù)據(jù)處理流程
1.和方法1不同點:表單數(shù)據(jù)被注入了User對象,再把user注入LoginAction
2.從Login.jsp視圖中得到表單數(shù)據(jù)后,用action="name1.action"的name1匹配xml中的<action>的name
3.匹配成功的是LoginAction,框架會實例化它的一個對象,由于這個對象有一個User屬性,再實例化一個User對象,然后用set方法把表單數(shù)據(jù)注入user再用set方法把user注入LoginAction
4.執(zhí)行l(wèi)ogin方法得到返回值,用返回值找到<result>中對應的jsp視圖返回給用戶
我來解釋(逗逼)一下,方法1中struts框架的數(shù)據(jù)處理流程
1.用戶在login.jsp提交表單數(shù)據(jù)后,提取<form>的屬性action="name1.action"
2.用name1去匹配struts.xml中<action>的屬性name,案例中是LoginAction
3.執(zhí)行匹配成功的action對應的class對應的method,得到返回值
4.用返回值去匹配<result>的屬性name返回對應jsp,name被省略了返回默認success.jsp
關(guān)鍵是步驟3中,Struts框架會先實例化class的一個對象,然后用set方法把表單數(shù)據(jù)注入到這個對象,所以必須先實現(xiàn)set方法
我來解釋(逗逼)一下,案例代碼的命名太具迷惑性了,不易理解struts執(zhí)行流程
1.收到頁面請求/HelloWorld/name1_name2_… .action后,用name1_name2_…匹配<action>的屬性name="*_*_…",并用name1代替所有{1},name2代替所有{2}…以此類推
2.執(zhí)行對應<action>的對應class的對應method,得到返回值value
3.用返回值匹配<result>的屬性name,若精確匹配則返回對應視圖jsp給用戶;若匹配失敗,如果返回值是SUCCESS則返回默認jsp,如果是NONE則返回空jsp,如果是ERROR則顯示錯誤頁面
我來解釋(逗逼)一下,Struts版本已經(jīng)更新至2.5.2,配置不一樣了
1.感嘆號方法
除了要常量<constant .../>,還要在<package>中增加屬性:strict-method-invocation="false"
2.通配符方法
不需要常量<constant.../>,但要在<package>中增加屬性:strict-method-invocation="false"
即:<package name="default" namespace="/" extends="struts-default" strict-method-invocation="false">
我來解釋(逗逼)一下,不一定正確,可以參考:
現(xiàn)在struts版本更新了,目前是struts-2.5.2,以上代碼直接運行會出錯
1.@里昂 說的:把log4j-api-2.5.jar包加到lib和path里
2.@零度空間 說的:xwork-core.jar包已經(jīng)沒了
3.@零度空間 說的:<filter-class>改為org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter去掉ng
4.運行出錯很可能某個猥瑣小角落的代碼敲錯了,仔細檢查!仔細檢查!仔細檢查!重要的事說三遍!
5.我查起bug來才發(fā)現(xiàn)自己的手有多殘
我覺得作為入門已經(jīng)講明白struts是什么,有什么了,對于吹毛求疵的那些人,不喜歡可以不看,沒必要讓老師非得滿足你。
動態(tài)方法調(diào)用這段代碼突然就出來了,中間的代碼講解這段是被掐掉了么
user如果不添加set,get的話,會報錯的
總體講的還可以,就是運用軟件的時候太快,根本看不清怎么怎么操作的,每次都要暫停重復看他的操作
如果是struts2 2.5版本,log4j-api-2.5.jar包也要加進去,否則tomcat服務器會啟動失敗
web.xml文件過濾器:
<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>
兩個不同錯誤信息的寫法:
用戶名:<input type="text" name="username"><s:fielderror><s:param>username</s:param></s:fielderror><br>
密碼:<input type="password" name="password"><s:fielderror><s:param>password</s:param></s:fielderror><br>

this.addFieldError("username", "用戶不能為空");
this.addFieldError("password", "密碼不能為空");
課程須知
小伙伴們,學習本課程前需要具備Java Web基礎,熟悉JSP和Servlet。
老師告訴你能學到什么?
1、能夠?qū)truts2框架有更深入的了解 2、能夠獨立編寫Struts2程序

微信掃碼,參與3人拼團

微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網(wǎng)的支持!

本次提問將花費2個積分

你的積分不足,無法發(fā)表

為什么扣積分?

本次提問將花費2個積分

繼續(xù)發(fā)表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消