成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

WebWork學(xué)習(xí)筆記

開發(fā) 后端
本文向您介紹作者進(jìn)行WebWork學(xué)習(xí)的一個(gè)實(shí)例,包括WebWork重要組件的配置、代碼編寫和WebWork自帶例子的講解。

WebWork學(xué)習(xí)***步: 一個(gè)servlet :webwork.dispatcher.ServletDispatcher  

1.簡介

webwork1.4所有自帶例子中的action都提交到此servlet進(jìn)行處理,重要性當(dāng)然不言而喻.

打開webwork\WEB-INF下web.xml,可以看到以下配置

  1. ...  
  2. <servlet>  
  3. <servlet-name>action</servlet-name>  
  4. <servlet-class>webwork.dispatcher.ServletDispatcher  
  5. </servlet-class>  
  6. <load-on-startup>1</load-on-startup>  
  7. </servlet>  
  8. ...  
  9. <servlet-mapping>  
  10. <servlet-name>action</servlet-name>  
  11. <url-pattern>*.action</url-pattern>  
  12. </servlet-mapping>  
  13. ...  

2 功能: 1. 處理action請求

2. 查找相應(yīng)action類,產(chǎn)生實(shí)例.

3. 執(zhí)行doValidation()校驗(yàn)輸入?yún)?shù);

4. 如果3校驗(yàn)結(jié)果為合法, 執(zhí)行doExecute();

5. 根據(jù)執(zhí)行結(jié)果字符串("success","input","error")查找views配置轉(zhuǎn)到相應(yīng)view.

WebWork學(xué)習(xí)第二步:動(dòng)手寫一個(gè)簡單例子

1. HelloAction.java 源代碼

  1. import webwork.action.ActionSupport;  
  2. import webwork.action.Action;  
  3. public class HelloAction  
  4. extends ActionSupport {  
  5. private String name ;  
  6. public HelloAction() {  
  7. }  
  8. public void setName(String name) {  
  9. this.name = name;  
  10. }  
  11. public String getName() {  
  12. return this.name;  
  13. }  
  14. public void doValidation() {  
  15. else if(name==null||name.length()<1){  
  16. addError("Name","can't be null or empty!");  
  17. }  
  18. }  
  19. //如果不做其它處理,也可以不override此方法.  
  20. 缺省返回success  
  21. public String doExecute() {  
  22. return SUCCESS;  
  23. }  

編譯完的class文件拷入webwork\WEB-INF\classes下.

2.配置

有兩種配置方法可選:

(1) 配置views.properties(在webwork\WEB-INF\classes下)

hello.action=HelloAction

hello.input=helloinput.jsp

hello.success=hellosuccess.jsp

hello.error=helloerror.jsp

(2) 配置actions.xml(在webwork\WEB-INF\classes下)

在原有基礎(chǔ)上增加下面一個(gè)action

  1. <action name="HelloAction" alias="hello">  
  2. <view name="success">hellosuccess.jspview>  
  3. <view name="error">helloerror.jspview>  
  4. <view name="input">helloinput.jspview>  
  5. action

3.相關(guān)jsp文件

 建立以下四個(gè)jsp文件,存放目錄為:webwork下.

(1)index.jsp

  1. <html>  
  2.   <head>  
  3.     <title>test webwork</title>  
  4.   </head>  
  5.   <body>  
  6.     <A href="helloinput.jsp">example</a>  
  7.   </body>  
  8. </html> 

(2)hellosuccess.jsp

  1. <html>  
  2.   <head>  
  3.     <title>test webwork</title>  
  4.   </head>  
  5.   <body>  
  6.   <form action="hello.action" method="post">  
  7.     <input type="text" name="name" value=""/>  
  8.     <input type="submit" value="Submit"/>  
  9.   </form>  
  10.   </body>  
  11. </html>  

(3)hellosuccess.jsp

  1. <HTML>  
  2. <HEAD>  
  3. <TITLE>Test</TITLE>  
  4. </HEAD>  
  5. <BODY>  
  6. Hello world!  
  7. </BODY>  
  8. </HTML> 

 

(4)helloerror.jsp

同上,將字符串改掉即可.本例子中只是配置中用到,運(yùn)行過程未用此頁面.

4.運(yùn)行

  (1)啟動(dòng)Tomcat

  (2)IE中輸入:http://localhost:8080/webwork/index.jsp

  (3)不輸入任何字符,提交,頁面仍然在helloinput.jsp

     輸入字符后提交,頁面轉(zhuǎn)至hellosuccess.jsp

5.流程說明

(1) 啟動(dòng)Tomcat后, 初始化servlet(ServletDispatcher)

(2) 在輸入頁面(helloinput.jsp), 輸入字符提交(提交到hello.action)

(3) 根據(jù)web.xml中配置,此請求由ServletDispather處理.

(4) servlet根據(jù)actionName("hello")查找配置(配置內(nèi)容:hello.action=HelloAction)

(5) 產(chǎn)生HelloAction實(shí)例

(6) servlet調(diào)用HelloAction的doValidation()校驗(yàn)輸入?yún)?shù).

(7) 校驗(yàn)通過, servlet調(diào)用HelloAction的doExecute(),返回成功("success").

(8) 根據(jù)views配置查找到:

hello.success=hellosuccess.jsp (actionaliasName.viewName=pagename)

(9) servlet中forward到hellosuccess.jsp

(10)輸出hello world!, 完成.

如果不輸入直接提交,以下幾步略有不同

(7) 校驗(yàn)未通過,產(chǎn)生錯(cuò)誤信息. 其它方法中檢測到有錯(cuò)誤信息,默認(rèn)返回"input"

(8) 根據(jù)views配置查找到:hello.input=helloinput.jsp

(9) servlet中forward到helloinput.jsp

(10)完成.

6.補(bǔ)充HelloAction的調(diào)用步驟其實(shí)是:

ServletDispatcher->GenericDispatcher->

調(diào)用executeaction()->ActionSupport的execute()->

調(diào)用HelloAction的相應(yīng)方法.

5中的說明只是為了簡單而這樣描述的.

如果你對這些有興趣,可以看看ServletDispatcher,GenericDispatcher,ActionSupport,Action等源碼.

WebWork學(xué)習(xí)第三步: webwork自帶例子Bank app的簡單介紹

1.環(huán)境

http://localhost:8080/webwork 中JSP下面的Bank app

相關(guān)class:webapps\webwork\WEB-INF\lib\webwork-examples.jar中的webwork.examples.bank.Transfe

相關(guān)jsp:  webapps\webwork\examples\bank\index.jsp,transfer.jsp,confirm.jsp

相關(guān)配置: webapps\webwork\-WEB-INF\classes\views.properties

# Bank example (Struts example adaptation)

bank.transfer.action=bank.Transfer (即webwork.examples.bank.Transfer)

bank.transfer.input=transfer.jsp

bank.transfer.success=confirm.jsp

bank.transfer.error=transfer.jsp

由于webwork.properties配有

webwork.action.packages=webwork.examples, webwork.examples.vxml

因此上面配置bank.transfer.action=bank.Transfer省略了webwork.examples.

2.index.jsp

  1. <jsp:forward page="bank.transfer!default.action"/> 

相當(dāng)與

  1. <form action="bank.transfer!default.  
  2. action" method="post">  
  3. <input type="submit" />  
  4. </form>  

WebWork學(xué)習(xí)第四步:自動(dòng)提交.

(1)提交到servlet, servlet處理bank.transfer!default.action(構(gòu)成:actionAliasName+!commandName+.action)

由于action中有command(command為:default), 通過reflect查找doCommand即(doDefault),

執(zhí)行doDefault()返回"input"

(2)input對應(yīng)的view為transfer.jsp,轉(zhuǎn)到此頁面.

(3)輸入?yún)?shù)后提交,執(zhí)行bank.transfer.action, 其它流程與上面第二部分第5結(jié)類似.

【編輯推薦】

  1. WebWork框架原理與應(yīng)用(1)
  2. 用WebWork注冊頁面建立過程
  3. WebWork注入Servlet方法詳解
  4. WebWork中返回INPUT的原因
  5. WebWork如何實(shí)現(xiàn)文件上傳配置過程
    責(zé)任編輯:冰荷 來源: csdn
    相關(guān)推薦

    2009-07-16 14:08:14

    webwork配置

    2009-07-14 15:52:00

    WebWork文件下載

    2009-07-14 17:34:53

    Webwork配置

    2009-07-16 16:51:56

    WebWork驗(yàn)證機(jī)制

    2009-07-16 16:08:30

    WebWork Act

    2009-07-08 09:55:51

    WebWork下載

    2009-07-08 10:11:30

    WebWork

    2009-07-16 16:01:54

    WebWork敏捷開發(fā)

    2009-07-08 10:30:57

    WebWork

    2009-07-14 14:04:36

    WebWork框架

    2009-07-09 15:55:18

    WebWork配置文件

    2009-07-14 17:53:11

    WebWork安裝WebWork配置

    2009-07-16 17:42:47

    WebWork配置

    2009-07-14 01:00:43

    WebWorkActionConte

    2009-07-16 14:58:03

    WebWork安裝WebWork配置

    2009-07-16 16:27:26

    Struts WebW

    2009-07-14 14:41:33

    Webwork與Spr

    2009-07-09 16:22:12

    WebWork配置

    2009-07-14 12:47:07

    WebWork工作方式

    2009-07-14 17:20:31

    Webwork文件上傳
    點(diǎn)贊
    收藏

    51CTO技術(shù)棧公眾號

    主站蜘蛛池模板: 91在线一区| 国产一区久久久 | 免费国产视频在线观看 | 久久精品国产亚洲 | 久久精品久久久久久 | 亚洲精品乱码久久久久久9色 | 精品1区 | 成人av一区| 国产精品久久久久久久久久久久久 | 亚洲欧美日韩国产综合 | 成人高清网站 | 黄色国产视频 | 国产免费又色又爽又黄在线观看 | 精精精精xxxx免费视频 | 国产高清一区二区三区 | 在线黄av | 亚洲日日夜夜 | 成人在线观看网址 | 日韩精品不卡 | 亚洲福利 | 色性av | 日韩精品免费视频 | 国精日本亚洲欧州国产中文久久 | 亚洲国产一区二区在线 | 国产精品久久久久久福利一牛影视 | 日韩精品久久久久 | 激情国产在线 | 91精品国产自产在线老师啪 | 三级欧美 | 日本免费黄色一级片 | 日韩欧美在线一区二区 | 99精品视频在线观看 | 欧美午夜影院 | 天天干狠狠操 | 国产一级精品毛片 | 亚洲欧美一区二区三区视频 | 久久亚洲国产 | 久久国产视频播放 | 九九九久久国产免费 | www.国产精 | 毛片一区二区 |