欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何實現(xiàn)WebWork的學(xué)習(xí)

本篇文章為大家展示了如何實現(xiàn)WebWork的學(xué)習(xí),內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)按需定制,是成都網(wǎng)站開發(fā)公司,為成都橡塑保溫提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計、前端HTML5制作、后臺程序開發(fā)等。成都網(wǎng)站推廣熱線:18982081108

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

1.簡介

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

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

...  <servlet>  <servlet-name>action</servlet-name>  <servlet-class>webwork.dispatcher.ServletDispatcher  </servlet-class>  <load-on-startup>1</load-on-startup>  </servlet>  ...  <servlet-mapping>  <servlet-name>action</servlet-name>  <url-pattern>*.action</url-pattern>  </servlet-mapping>  ...

2 功能: 1. 處理action請求

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

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

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

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

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

1. HelloAction.java 源代碼

import webwork.action.ActionSupport;  import webwork.action.Action;  public class HelloAction  extends ActionSupport {  private String name ;  public HelloAction() {  }  public void setName(String name) {  this.name = name;  }  public String getName() {  return this.name;  }  public void doValidation() {  else if(name==null||name.length()<1){  addError("Name","can't be null or empty!");  }  }  //如果不做其它處理,也可以不override此方法.  缺省返回success  public String doExecute() {  return SUCCESS;  }  }

編譯完的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ǔ)上增加下面一個action

<action name="HelloAction" alias="hello">  <view name="success">hellosuccess.jspview>  <view name="error">helloerror.jspview>  <view name="input">helloinput.jspview>  action>

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

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

(1)index.jsp

<html>    <head>      <title>test webwork</title>    </head>    <body>      <A href="helloinput.jsp">example</a>    </body>  </html>

(2)hellosuccess.jsp

<html>    <head>      <title>test webwork</title>    </head>    <body>    <form action="hello.action" method="post">      <input type="text" name="name" value=""/>      <input type="submit" value="Submit"/>    </form>    </body>  </html>

(3)hellosuccess.jsp

<HTML>  <HEAD>  <TITLE>Test</TITLE>  </HEAD>  <BODY>  Hello world!  </BODY>  </HTML>

(4)helloerror.jsp

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

4.運行

(1)啟動Tomcat

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

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

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

5.流程說明

(1) 啟動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實例

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

(7) 校驗通過, 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) 校驗未通過,產(chǎn)生錯誤信息. 其它方法中檢測到有錯誤信息,默認返回"input"

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

(9) servlet中forward到helloinput.jsp

(10)完成.

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

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

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

相當與

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

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

(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é)類似.

    上述內(nèi)容就是如何實現(xiàn)WebWork的學(xué)習(xí),你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

    當前文章:如何實現(xiàn)WebWork的學(xué)習(xí)
    瀏覽路徑:http://chinadenli.net/article30/gshhpo.html

    成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名網(wǎng)站維護網(wǎng)站建設(shè)企業(yè)建站營銷型網(wǎng)站建設(shè)

    廣告

    聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

    外貿(mào)網(wǎng)站建設(shè)