<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
    說的不錯..  回復  更多評論
      


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲中文字幕久久久一区| 一级特黄色毛片免费看| 国产精品免费看香蕉| 国产福利电影一区二区三区,免费久久久久久久精 | 亚洲成av人片在www鸭子| 亚洲香蕉网久久综合影视| 99国产精品永久免费视频| 免费看一级高潮毛片| 亚洲一区二区三区电影| 四虎永久免费观看| 无码专区AAAAAA免费视频| 理论亚洲区美一区二区三区 | 国产亚洲精品AA片在线观看不加载| 91香蕉在线观看免费高清| 免费观看亚洲人成网站| 亚洲精品国产情侣av在线| 亚洲美女在线国产| 男人的好免费观看在线视频| 久久国产精品免费一区二区三区| 亚洲午夜精品一区二区麻豆| 亚洲Av无码精品色午夜| 国产乱子伦精品免费无码专区 | 情人伊人久久综合亚洲| 国产国产人免费视频成69大陆| 无码国产精品一区二区免费模式| 国产成人va亚洲电影| 亚洲一区二区三区在线观看蜜桃| 亚洲精品白浆高清久久久久久| 日本19禁啪啪无遮挡免费动图| 97青青草原国产免费观看| 一级特级女人18毛片免费视频| 久久亚洲国产最新网站| 久久狠狠高潮亚洲精品| 国产AV无码专区亚洲AV手机麻豆 | 国产偷国产偷亚洲高清日韩 | 亚洲国产成人超福利久久精品| 久久精品国产69国产精品亚洲| 亚洲国产日韩成人综合天堂 | 97久久精品亚洲中文字幕无码 | 亚洲Aⅴ无码一区二区二三区软件| 一级女人18毛片免费|