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

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

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

    一竿殘照.金棣 @ blogJava.net

    腳往哪兒,路往哪兒

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      5 Posts :: 0 Stories :: 8 Comments :: 0 Trackbacks

       這篇文章講述搭建筆者(一個(gè)門(mén)外漢)學(xué)習(xí)webwork的第一步-----搭建webwork環(huán)境,并測(cè)試第一個(gè)程序.

    [過(guò)程]
       1.安裝j2sdk.略
       2.安裝tomcat,略
       3.解壓webwork2.1.7,略
       
       
       4.為tomcat安裝webwork支持
          拷貝webwork2.1.7.jar和${webwork_home}\core\*.jar到${tomcat_home}\sharedlib目錄中.
       5.撰寫(xiě)login.jsp,loginsucess.jsp,loginfailed.jsp,LoginAction.java.
          我們登錄login.jsp,輸入用戶名,post之后,請(qǐng)求將提交給LoginAction處理,如果成功則返回login-success.jsp,否則返回loginfailed.jsp
          我使用的eclipse3.0.1,并安裝了eclipseWork插件(不過(guò)整個(gè)過(guò)程)沒(méi)有合理的使用它,郁悶),
          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.發(fā)布代碼
       我們可以直接制定tomcat到開(kāi)發(fā)環(huán)境中讀取,在${tomcat_home}\conf\catalina\localhost   目錄新建一個(gè)文件example.xml,包含以下內(nèi)容

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

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

    整個(gè)過(guò)程是這樣的
    1.login.jsp中點(diǎn)擊submit按紐后,請(qǐng)求將被發(fā)送到web容器的login.action,
    2.web容器檢索web.xml,通過(guò)

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

    這一段得到webwork關(guān)鍵字,再通過(guò)

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

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

    將請(qǐng)求轉(zhuǎn)發(fā)給com.opensymphony.webwork.dispatcher.ServletDispatcher類(lèi)來(lái)處理,這個(gè)類(lèi)會(huì)讀取xwork.xml文件
    3.通過(guò)和最初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來(lái)處理這個(gè)請(qǐng)求,當(dāng)該對(duì)象的execute()方法返回
    <result>節(jié)點(diǎn)"name"屬性定義的字符串的時(shí)候,將結(jié)果使用某個(gè)jsp來(lái)響應(yīng).這里是
    success->login-success.jsp
    failed->login-failed.jsp
    4.兩個(gè)jsp中使用了

    <ww:property value="user" />

    來(lái)訪問(wèn)處理類(lèi)(com.cdpgc.salary.LoginAction)的屬性,它依賴于

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

    定義的標(biāo)簽庫(kù),而這個(gè)標(biāo)簽庫(kù)定義中的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會(huì)將發(fā)出請(qǐng)求的form中的值--------在<input type='xxx' name='xxx'>中的值
    填入到自己的屬性中(如果有同名屬性的化),這樣我們可以獲得請(qǐng)求參數(shù).在處理完畢后,同樣可以設(shè)置它,
    而在結(jié)果jsp中,webwork又會(huì)將該值提供給jsp訪問(wèn),當(dāng)然還是基于名稱相同.

    在整個(gè)過(guò)程中,我沒(méi)有使用eclipseWork插件的任何功能,原因是---------我不會(huì)用,曾經(jīng)在項(xiàng)目屬性中設(shè)置過(guò)xwork.xml是哪個(gè)xml,但是現(xiàn)在設(shè)置不了了,不知道為什么,并且也不知道如何提高開(kāi)發(fā)效率,希望有人能幫幫我.謝謝.




             

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

    Feedback

    # re: tomcat+webwok學(xué)習(xí)筆記.配置篇 2005-08-08 00:10 一竿殘照.金棣 @ blogJava.net
    碰到這樣的異常
    Unable to initialize TldLocationsCache: null
    并且刷新頁(yè)面有時(shí)候正常,有時(shí)候不正常,看來(lái)應(yīng)該tld緩存造成某些時(shí)候正常的現(xiàn)象


    原因是在jsp頁(yè)面中使用了標(biāo)簽庫(kù),而web容器未找到指定的標(biāo)簽庫(kù)

    將tld文件或jar文件部署到web.xml中指定的位置后,問(wèn)題解決,
      回復(fù)  更多評(píng)論
      

    # re: tomcat+webwok學(xué)習(xí)筆記.配置篇 2005-08-12 09:51 ken
    偶只使用過(guò)eclips 里面的vss插件,hoho
      回復(fù)  更多評(píng)論
      

    # re: tomcat+webwok學(xué)習(xí)筆記.配置篇[未登錄](méi) 2008-11-11 10:23 redcoatjk
    @一竿殘照.金棣 @ blogJava.net
    說(shuō)的不錯(cuò)..  回復(fù)  更多評(píng)論
      


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 中文字幕无码不卡免费视频| 麻豆国产VA免费精品高清在线 | 久久亚洲AV成人无码国产| 亚洲粉嫩美白在线| 国产免费牲交视频免费播放 | 亚洲kkk4444在线观看| 久久免费99精品国产自在现线| 亚洲高清中文字幕免费| 久99精品视频在线观看婷亚洲片国产一区一级在线| 久久精品国产精品亚洲艾草网| 久久人午夜亚洲精品无码区| 日韩人妻一区二区三区免费| 国产免费av片在线无码免费看| 久久亚洲AV成人出白浆无码国产| 十八禁的黄污污免费网站| 国产va精品免费观看| 亚洲韩国精品无码一区二区三区| 一区二区亚洲精品精华液| 大地资源中文在线观看免费版| 日本免费人成黄页在线观看视频| 亚洲精品视频在线| 有色视频在线观看免费高清在线直播| 国产卡一卡二卡三免费入口 | 免费在线看黄的网站| 大香人蕉免费视频75| 久久久久久亚洲精品| 免费一级毛片在线播放视频免费观看永久 | 波多野结衣中文一区二区免费| 亚洲剧场午夜在线观看| 99视频在线免费观看| 国产区卡一卡二卡三乱码免费| 亚洲欧洲日产韩国在线| 最新久久免费视频| 又大又黄又粗又爽的免费视频| 亚洲香蕉在线观看| 99精品视频免费观看| 亚洲成色WWW久久网站| 一区二区三区免费在线视频 | 未满十八私人高清免费影院| 在线播放高清国语自产拍免费 | 99久久精品免费精品国产|