<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    一竿殘照.金棣 @ blogJava.net

    腳往哪兒,路往哪兒

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      5 Posts :: 0 Stories :: 8 Comments :: 0 Trackbacks

       這篇文章講述搭建筆者(一個門外漢)學習webwork的第一步-----搭建webwork環境,并測試第一個程序.

    [過程]
       1.安裝j2sdk.略
       2.安裝tomcat,略
       3.解壓webwork2.1.7,略
       
       
       4.為tomcat安裝webwork支持
          拷貝webwork2.1.7.jar和${webwork_home}\core\*.jar到${tomcat_home}\sharedlib目錄中.
       5.撰寫login.jsp,loginsucess.jsp,loginfailed.jsp,LoginAction.java.
          我們登錄login.jsp,輸入用戶名,post之后,請求將提交給LoginAction處理,如果成功則返回login-success.jsp,否則返回loginfailed.jsp
          我使用的eclipse3.0.1,并安裝了eclipseWork插件(不過整個過程)沒有合理的使用它,郁悶),
          login.jsp

    <html>
    <head>
    <title>WebWork Tutorial - Lesson 3 - Example 1</title>
    </head>

    <body>

    <p>
    Click the [post] button below to Login.
    </p>

    <form action="login.action" method="post">
    <p>user:<input type="text" name="user" value="" /></p>
    <p>password:<input type="password" name="password" value="" /></p>
    <p><input type="submit" value="post" /></p>
    </form>

    </body>
    </html>

    login-success.jsp


    <%@ taglib uri="webwork" prefix="ww" %> 
    <html>
     
    <head>
     
    <title>welcome to salary</title>
     
    </head>
     
    <body>
     

    <font color="green">


    <ww:property value="user" /> has logon [SalaryQueryModule]

    </font>

    <br>



    </body> 
    </html>

    login-failed.jsp


    <%@ taglib uri="webwork" prefix="ww" %> 
    <html>
     
    <head>
     
    <title>failed login</title>
     
    </head>
     
    <body>
     
    <font color="red">

    error login by [
    <ww:property value="user" /> ],invalid user or pwd
    </font>

    <br>
    </body> 
    </html>

    web.xml,位于web-inf目錄下

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation
    ="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    >


        
    <display-name>My WebWork Application</display-name>
        
    <servlet>
            
    <servlet-name>webwork</servlet-name>
            
    <servlet-class>
                com.opensymphony.webwork.dispatcher.ServletDispatcher
            
    </servlet-class>

            
    <load-on-startup>1</load-on-startup>
        
    </servlet>
        
    <servlet-mapping>
            
    <servlet-name>webwork</servlet-name>
            
    <url-pattern>*.action</url-pattern>
        
    </servlet-mapping>
        
        
    <taglib>
            
    <taglib-uri>webwork</taglib-uri>
            
    <taglib-location>
                /WEB-INF/lib/webwork-2.1.7.jar
            
    </taglib-location>
        
    </taglib>
    </web-app>

    xwork.xml位于web-inf\classes目錄下

    <!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"
    "http://www.opensymphony.com/xwork/xwork-1.0.dtd"
    >


    <xwork>
        
    <!-- Include webwork defaults (from WebWork JAR). -->
        
    <include file="webwork-default.xml" />
        
        
    <!-- Configuration for the default package. -->
        
    <package name="default" extends="webwork-default">
            
    <!-- Default interceptor stack. --> 
            
    <default-interceptor-ref name="defaultStack" />
     
            
            
    <!-- Action: Lesson 03: HelloAction. -->

            
    <action name="login" class="com.cdpgc.salary.LoginAction">
                
    <result name="failed" type="dispatcher">login-failed.jsp</result>
                
    <result name="success" type="dispatcher">login-success.jsp</result>
            
    </action>
        
    </package>
    </xwork>

    LoginAction.java

     1/*
     2 * Created on 2005-8-4
     3
     *
     4
     * TODO To change the template for this generated file go to
     5
     * Window - Preferences - Java - Code Style - Code Templates
     6 */

     7package com.cdpgc.salary;
     8

     9
    import com.opensymphony.xwork.ActionSupport;
    10

    11
    /*
    12
     * @author codemyth
    13
     * 
    14
     * TODO To change the template for this generated type comment go to Window -
    15
     * Preferences - Java - Code Style - Code Templates
    16 */

    17public class LoginAction extends ActionSupport {
    18

    19
        String user;
    20
        String password;
    21

    22    
    /*
    23     * (non-Javadoc)
    24
         * 
    25
         * @see com.opensymphony.xwork.Action#execute()
    26     */

    27    public String execute() throws Exception {
    28        // TODO verify user-password

    29        if (user.equals("bbb"))
    30            return
     super.SUCCESS;
    31        else

    32            return "failed";
    33    }

    34    /**
    35
         * @return Returns the user.
    36     */

    37    public String getUser() {
    38        return
     user;
    39    }
     
    40    
    /**
    41
         * @param user
    42
         *            The user to set.
    43     */

    44    public void setUser(String user) {
    45        this.user =
     user;
    46    }

    47    /**
    48
         * @return Returns the password.
    49     */

    50    public String getPassword() {
    51        return
     password;
    52    }

    53    /**
    54
         * @param password
    55
         *            The password to set.
    56     */

    57    public void setPassword(String password) {
    58        this.password =
     password;
    59    }

    60}

    61

    6.發布代碼
       我們可以直接制定tomcat到開發環境中讀取,在${tomcat_home}\conf\catalina\localhost   目錄新建一個文件example.xml,包含以下內容

    <Context path="/salary" docBase="D:/tools/Develop/ide/eclipse-SDK-3.0.2-win32/eclipse/workspace/salary/webroot" unpackWAR="True" /> 

    這是一個tomcat支持的xml片斷 Fragment,它的名稱無所謂,tomcat會讀取它并將該docbase指定的目錄作為名叫salary的虛擬目錄.

    整個過程是這樣的
    1.login.jsp中點擊submit按紐后,請求將被發送到web容器的login.action,
    2.web容器檢索web.xml,通過

    <servlet-mapping>
            
    <servlet-name>webwork</servlet-name>
            
    <url-pattern>*.action</url-pattern>
        
    </servlet-mapping>

    這一段得到webwork關鍵字,再通過

        <servlet>
            
    <servlet-name>webwork</servlet-name>
            
    <servlet-class>
                com.opensymphony.webwork.dispatcher.ServletDispatcher
            
    </servlet-class>

            
    <load-on-startup>1</load-on-startup>
        
    </servlet>

    將請求轉發給com.opensymphony.webwork.dispatcher.ServletDispatcher類來處理,這個類會讀取xwork.xml文件
    3.通過和最初login.jsp提交的"login.action"中去掉web.xml中的定義的".action", 得到"login",在xwork.xml中的

            <action name="login" class="com.cdpgc.salary.LoginAction">
                
    <result name="failed" type="dispatcher">login-failed.jsp</result>
                
    <result name="success" type="dispatcher">login-success.jsp</result>
            
    </action>

    找到"login"的定義,并尋找com.cdpgc.salary.LoginAction來處理這個請求,當該對象的execute()方法返回
    <result>節點"name"屬性定義的字符串的時候,將結果使用某個jsp來響應.這里是
    success->login-success.jsp
    failed->login-failed.jsp
    4.兩個jsp中使用了

    <ww:property value="user" />

    來訪問處理類(com.cdpgc.salary.LoginAction)的屬性,它依賴于

    <%@ taglib uri="webwork" prefix="ww" %>

    定義的標簽庫,而這個標簽庫定義中的uri依賴于web.xml中的

        <taglib>
            
    <taglib-uri>webwork</taglib-uri>
            
    <taglib-location>
                /WEB-INF/lib/webwork-2.1.7.jar
            
    </taglib-location>
        
    </taglib>

    定義的taglib-uri名稱


    另外,在LoginAction.java中webwork會將發出請求的form中的值--------在<input type='xxx' name='xxx'>中的值
    填入到自己的屬性中(如果有同名屬性的化),這樣我們可以獲得請求參數.在處理完畢后,同樣可以設置它,
    而在結果jsp中,webwork又會將該值提供給jsp訪問,當然還是基于名稱相同.

    在整個過程中,我沒有使用eclipseWork插件的任何功能,原因是---------我不會用,曾經在項目屬性中設置過xwork.xml是哪個xml,但是現在設置不了了,不知道為什么,并且也不知道如何提高開發效率,希望有人能幫幫我.謝謝.




             

    posted on 2005-08-06 08:15 一竿殘照.金棣 @ blogJava.net 閱讀(2176) 評論(3)  編輯  收藏 所屬分類: webworktomcat

    Feedback

    # re: tomcat+webwok學習筆記.配置篇 2005-08-08 00:10 一竿殘照.金棣 @ blogJava.net
    碰到這樣的異常
    Unable to initialize TldLocationsCache: null
    并且刷新頁面有時候正常,有時候不正常,看來應該tld緩存造成某些時候正常的現象


    原因是在jsp頁面中使用了標簽庫,而web容器未找到指定的標簽庫

    將tld文件或jar文件部署到web.xml中指定的位置后,問題解決,
      回復  更多評論
      

    # re: tomcat+webwok學習筆記.配置篇 2005-08-12 09:51 ken
    偶只使用過eclips 里面的vss插件,hoho
      回復  更多評論
      

    # re: tomcat+webwok學習筆記.配置篇[未登錄] 2008-11-11 10:23 redcoatjk
    @一竿殘照.金棣 @ blogJava.net
    說的不錯..  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产偷伦视频免费观看| 亚洲中文字幕伊人久久无码| 久久国产精品免费一区二区三区| 亚洲一区免费在线观看| 国产国拍亚洲精品mv在线观看| 日本大片在线看黄a∨免费| 1000部拍拍拍18勿入免费视频下载| 菠萝菠萝蜜在线免费视频| 亚洲日日做天天做日日谢| 亚洲国产精品人久久| 亚洲精品无码99在线观看| 又粗又硬又大又爽免费视频播放| 四虎永久在线观看免费网站网址| 日韩免费观看一区| 色www永久免费| 人妻仑刮八A级毛片免费看| 亚洲成av人片在www鸭子| 精品久久久久久亚洲精品| 亚洲小视频在线观看| 亚洲国产一二三精品无码| 亚洲视频在线精品| 免费午夜爽爽爽WWW视频十八禁| 免费毛片a在线观看67194| 四虎精品视频在线永久免费观看| 国产好大好硬好爽免费不卡| a毛片免费在线观看| 久久精品成人免费观看97| av网站免费线看| 一级一片免费视频播放| 思思久久99热免费精品6| 青青青视频免费观看| 尤物视频在线免费观看| 暖暖免费中文在线日本| 四虎精品成人免费视频| 成人a毛片视频免费看| 国产成人精品免费大全| 成人无码区免费A∨直播| 日本三级在线观看免费| 美女在线视频观看影院免费天天看 | 亚洲第一极品精品无码久久| 在线观看亚洲成人|