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

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

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

    隨筆 - 312, 文章 - 14, 評論 - 1393, 引用 - 0
    數據加載中……

    我的評論

    共7頁: 上一頁 1 2 3 4 5 6 7 下一頁 
    在本文還未涉及到客戶端驗證,在服務端也可做簡單驗證。在客戶端驗證并不保險。
    @葛坤進
    你說的服務端處理是什么意思,是指調用execute方法,還是指處理請求參數。struts1.x的調用過程是這樣的。

    首先struts1.x會通過actionform對象裝載客戶端的請求參數,然后會調用actionform類的validate方法,最后會調用Action類的execute方法,這個過程無需爭辯,也不需要看struts1.x源代碼,誰做都會這么做的。 至于簡單驗證和復雜驗證,只是邏輯上區分一下。就算是客戶端的javascript,同樣可以通過ajax進行與數據庫相關的驗證。當然,非要在validate里進行數據庫驗證也沒有什么。不過一般ActionForm類里可直接訪問請求參數,因此,一般用于直接驗證請求參數的值是否合法。
    @葛坤進
    DAO?這篇文章只是演示如何使用Struts1.x,還沒上升到層次的概念。一個Helloworld是不需要使用任何設計模式的,那與本文的主旨不符。否則就成唯模式論了!
    但愿本文能給想學習struts1.x的朋友帶來收獲!_^_
    @aaa
    你這異常是建立mystruts.actionform.ProductForm錯誤,你將ProductForm類放在哪了?
    re: url中jsessionid引起的一個問題 銀河使者 2009-02-25 14:27  
    當客戶端不支持cookie是,就會使用url來傳遞sessionid,否則會直接用cookie來傳遞sessionid。
    re: 銀河系列原創教程 銀河使者 2009-02-25 09:14  
    @膘叔
    試了cyberarticle,總體來說不錯,不過不知怎么著,把我的空格都變成?了,暈。
    @test
    你是用myeclipse開發的嗎?那不太可能,struts1.x是否可成功發布?
    @test
    原因是你沒引用LinkedList,在程序前面加上import java.util.*;

    我一般是手寫的,MyEclipse或jbuilder也許能自動生成services.xml,但我沒用過。
    這些類應該放在WEB-INF\lib目錄或WEB-INF\classes目錄中,如果要在內部使用,直接調用就可以了,如果在外部使用(如發布成WebService),建議你使用spring來處理,這樣只要在aar文件中放一個services.xml就可以了,直接可以將spring的裝配bean發布成webservice。
    你可以參考我的文章:
    http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/02/13/254499.html
    @zhuyongjp
    被調用的類需要放在axis2目錄中的WEB-INF\lib目錄或WEB-INF\classes目錄中,這樣就可以調用了
    哈哈,struts 1.x快發完了,完事統一做pdf
    @zhy
    是的,也可以是web根目錄。

    <forward name="newProduct" path="/mystruts/newProduct.jsp" /> 這么不行嗎,<forward>沒有子元素。這么也可以的。這是xml的寫法,與struts沒關系。
    如果用戶修改密碼或刪除用戶,可以在修改或刪除密碼后將session里的相關內容刪除,這樣客戶端必須要重新登錄才能繼續使用了。
    @Alexwan
    如果用戶修改密碼,可以在修改密碼后將session里的相關內容刪除,這樣客戶端必須要重新登錄才能繼續使用了。
    第二種方法可以使用Web Service Session,我不太清楚CXF如何處理session,但寫了幾篇關于axis2處理http session的方法,
    http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/01/26/252564.html

    http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/nokiaguy/archive/2009/02/03/253154.html
    @java
    學哪個版本可由個人自己決定,現在有很多公司還有使用Struts1.x,當然,也可以從Struts 2.x開始學。關于Struts2.x,可以參閱我寫的Struts2.x教程:http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/nokiaguy/archive/2008/04/15/193229.html
    re: 歸并排序(merge sort)算法實現 銀河使者 2009-02-15 22:47  
    @剛哥
    你的那個是C++的算法,基本思路類型,都是數據結構講的,哈哈!!這些數據結構書上都有,看看就知道了!
    re: 歸并排序(merge sort)算法實現 銀河使者 2009-02-15 22:46  
    @剛哥
    這算法是很多年前寫的,現在看看寫成用變量定義數組了。估計是用Java用多了,不小心寫成Java格式的了。以前這些算法好象都調試過,可能是這個沒測試過。可能當初是寫的示意代碼。基本上都忘了細節了。^_^
    不需要參數就是參數為0,用

        <operation name="getPeopleInfo " mep="http://www.w3.org/2006/01/wsdl/in-out">
            <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
        </operation>
    啊,我很久以前寫的東西,一直沒發,現在發上了。現在仍然有很多人在使用struts1.x。
    @wjywilliam
    沒錯,可以通過invocation.getAction()獲得Action對象的屬性,但并不建議這么做,使用ValueStack接口的setValue和findValue方法更容易實現設置和獲得Action對象的屬性值的工作。
    re: Struts2教程1:第一個Struts2程序 銀河使者 2009-02-11 22:32  
    @123
    運行不了可能是配置錯了,把錯誤信息和配置方法貼出來看看。Java的東西剛開始是誰都會為配置頭痛,慢慢就好了。
    re: Struts2教程7:上傳任意多個文件 銀河使者 2009-02-11 16:50  
    @這是一個好教程
    這兩個jar可以到www.apache.org上的commons子項目上下載。這兩個文件是必須的。
    re: 銀河系列原創教程 銀河使者 2009-02-10 19:03  
    可惜啊,現在blogjava還未提供做pdf的功能,有空放到我在javaeye的blog里做一下,哈哈
    @1121
    放到一起是在開發階段,發布了,就已經放到jar包中了。
    @yapituy
    這個我也試了,但客戶端也是未補獲AxisFault異常,我用java、c#和delphi試的客戶端,都未補獲AxisFault異常,不知axis2內部是如何處理的,也許是有bug,也許是服務端程序的設置問題,最終還沒解決,還是就是超時的問題,可能是axis2本身的問題。
    @jiangminjie
    也可以,這種方法
    用到其他的再加上,但makefile這些已經適合大多數程序了。
    re: Struts2.1.6測試小記 銀河使者 2009-02-09 13:30  
    @zero
    不用struts2的ajax也行,自己用其他的ajax framework,繞過struts 2。
    struts 2分為兩部分,后端的攔截器,action等,以及前臺的struts 2標簽,這些標簽并不是必須的,也可直接用html表單。struts 2的標簽有時排版有些別扭,要想排好,還得了解struts 2中的模板。而且這些不能在象dreamweaver中設計。
    re: Struts2.1.6測試小記 銀河使者 2009-02-09 12:43  
    如果用ajax,可以用其他的,如jquery,struts 2本身的ajax功能不太好用,也比較復雜。不知道struts 2中的ajax是自己做的,還是集成的。
    re: Struts2.1.6測試小記[未登錄] 銀河使者 2009-02-09 11:59  
    這以前試的struts2.0.11有的只有ie里好使,firefox里不好使啊。ajax要實現真正的跨瀏覽器是很困難的
    應該是有的,就象Spring-struts插件一樣。在applicationContext.xml中有一些裝配bean可以在一裝載applicationContext.xml文件時就被自動裝載。不過這樣的bean我還沒有實現過,只要在這些bean中可獲得application,應該是可行的。還有就是可以在action中檢查application是否存在該bean,如果不存在,就獲得bean,并保存。也可以在攔截器中做這樣的事,這樣就不耦合了。
    @Hadis
    你的意思是這個Bean通過DAO獲得,而這個DAO對象需要使用Spring獲得。并想在程序啟動時(這是指程序第一次運行的時候吧)通過Spring獲得該DAO對象,并通過DAO對象再從數據庫的某個表映射成一個Bean,然后將這個Bean對象保存在application。如果上這個意思,實現的方法很多。
    如果想讓程序第一次運行之前就完成這個動作,可以使用Servlet監聽器,監聽域對象(application對象,實際上就是ServletContext對象)的創建和銷毀,要想監聽servletContext對象,需要實現ServletContextListener接口,在ServletContextListener接口的contextInitialized方法中通過Spring獲得DAO,再獲得Bean,這個方法在ServletContext對象創建之后立刻被調用。關于監聽器的細節請參閱相關的文檔吧!!!
    re: Struts2.1.6測試小記 銀河使者 2009-02-07 22:24  
    @zero
    試的哪個ajax特性
    另外會話是可以持久化的,但不知axis2是如何處理的
    不知你的用戶有多少,10000,還是20000,或更多,一個會話只占很小的內存。當然,除了使用會話解決你的問題外,還有另外一個方法可以達到同樣的效果。使用會話的目的是為了進行權限驗證,你可以為每一個web service方法都加上一個用戶名和密碼,可以將這些放到類中進行傳遞,這樣就不需要會話了,每次調用方法程序都從數據庫中驗證,你也可以定義一個靜態的Map對象在服務端來保存經常登錄的用戶名和密碼,這樣當這些用戶調用該方法時就不用再到數據庫中去驗證了。如博客園和blogjava所使用的msn writer寫blog,就是使用的MetaWebBlog API,這個API雖然不是Web Service(只是一個遠程方法調用),但使用的就是我說的第二種方法,每一方法都有一個用戶名和密碼。你看看這些方法就知道了:http://www.cnblogs.com/nokiaguy/services/metaweblog.aspx
    這是application級別的,只有服務器重啟或重新發布應用程序會話才會消失。而其他級別的我試了一下,并不能跨服務共享會話。
    re: Struts2.1.6測試小記 銀河使者 2009-02-06 18:20  
    @隔葉黃鶯
    是的,如果通過配置文件來實現多個方法,可以通過url的方式來實現(使用!),也可以在<action>元素中使用method屬性來配置。
    但使用注釋還沒有試過是否可以使用這種方式。
    re: HttpURLConnection上傳文件(圖片)小試 銀河使者 2009-02-06 14:37  
    @々上善若水々
    就是傳送二進制(字節流),至于字節流里是什么,完全由用戶自己定義,當然可以是文件夾里的內容,而且都自己實現還是個好處,可以實現斷點上傳功能。甚至是多線程上傳。在服務端利用Servlet就可以實現。
    re: HttpURLConnection上傳文件(圖片)小試 銀河使者 2009-02-06 13:27  
    要是在客戶端直接用java編寫程序上傳文件,直接用tcp傳二進制流就可以(當然,這要服務端也是自己實現),模擬http上傳效率有些低。
    @zb
    你用wsdl2java試一下就知道了,wsdl2java的用法見《WebService大講堂之Axis2(1):用POJO實現0配置的WebService》

    如果是字節,wsdl2java會使用DataHandler類型處理,詳見我的第四篇關于axis2的文章:

    http://www.tkk7.com/nokiaguy/archive/2009/02/archive/2009/01/archive/2009/01/22/252305.html
    @robin
    data.DataForm這個類在使用wsdl2java命令生成客戶端的stub類時已自動生成了。我們只要使用就可以了,在內部,axis2會將data.DataForm轉換成基于soap協議的請求和響應消息。這個我們一般不用去管他。就直接將data.DataForm當成本地的類使用即可。不過要注意,不能自己在本地建立個與data.DataForm的內容一樣的類,stub只能使用自己生成的類。你可以看一下stub代碼。


    對于本文并未直接使用wsdl2java生成stub代碼,是使用的RPC調用方式,對于這種方式,只要直接將服務端的data.DataForm復制給客戶端即可。客戶端的data.DataForm類就是服務端的data.DataForm類,只要將data.DataForm類同客戶端一定發布即可。

    你如果用過c#就會看到也是自動生成了相應的data.DataForm類。
    re: 令我頭疼的JSP亂碼問題 銀河使者 2009-02-03 14:50  
    還有就是URLEncoding=是處理服務端接收客戶數據時的亂碼的,這與頁面顯示亂碼無關。
    re: 令我頭疼的JSP亂碼問題 銀河使者 2009-02-03 14:49  
    AL32UTF8和UTF8類似,只是高級的UTF-8,這不用轉換

    你先看看頁面上編碼的設置是否為UTF-8,還有就是看一下頁面的源代碼,用記事本打開,看盾能否正常顯示。從數據庫中取出的是UTF-8編碼的字符,如果頁面出現亂碼,有可能是使用了其他的編碼方式進行了解碼。還是有就是看看你的web程序是不是什么地方用了GBK處理了。在發送到客戶端之前就成亂碼了。如response.setCharacter(...),或使用其他的方法處理的。
    @Sam
    是的,感謝提醒,已經改過來了。
    re: 感謝死亡 銀河使者 2009-02-01 09:42  
    以前看過一個美劇“星際之門:亞特蘭蒂斯”,劇中的亞特蘭蒂斯人擁有高度的文明。在他們的時代,正在研究一種可以使人永遠不死的方法,這種方法就是使生命脫離脆弱的肉體,相當于靈魂出殼,亞特蘭蒂斯人管這種技術叫“升天”,使生命以純能量的形式存在。但這種技術并不穩定,有時會失敗,使人永遠消失。 雖然這是科幻,不過科學總是在發展,未來總是充滿不確定性。也許處在遙遠未來的人類會成為這劇中的亞特蘭蒂斯人,完成亞特蘭蒂斯人未完成的事業。說到這,突然想起安徒生位于丹麥首都哥本哈根的墓志銘上寫的那樣“雖然我的肉體死亡了,但我的靈魂將得到永生”。
    最后祝人類一路走好,happy new year!
    re: JDBC查詢動態封裝 銀河使者 2009-01-31 21:05  
    @ cccp21
    在使用ResultSet時當然不能關閉Connection,不知道你為什么會在使用ResultSet之間關閉Connection,這個Connection是共享的?還是用的什么其他方式。為了提高效率,可以使用連接池,一般每個Connection都是線程獨享的,用完了再還給連接池。以上只針對Web應用,如果是桌面引用,建議使用Web Service方式。

    如果想關閉ResultSet方便些,可以使用jdbc+spring的方式,也就是jdbcTemplate,這個很方便。基本原理是從連接池中獲得一個Connection,執行一條或多條SQL語句,返回結果(這個結果也是封裝的,和你的方法差不多,但考慮了異常處理),在返回結果之前,Connection就已經關閉了,關閉的動作是由Spring自動完成的。 而對于用戶來說,只是調用了JdbcTemplate的一個方法來獲得查詢結果。再也不用考慮什么Connection、ResultSet,另人討厭。不過對于小程序,用什么都行,我還是喜歡直接用jdbc,對于大一點的程序,尤其對Web程序,個人認為用jdbc +Spring比較好,如果想更高級一些,還跨數據庫,可以使用hibernate+spring的方式。
    re: 跳出多層循環的簡單方法(Java版) 銀河使者 2009-01-30 19:33  
    @Robin's Java World
    我試了,的確不可以,就象java的const關鍵字,也不能使用,雖然是保留字。如果你有可以的例子,貼了來,讓我也學習一下。
    re: 跳出多層循環的簡單方法(Java版) 銀河使者 2009-01-30 19:27  
    象下面的程序可以嗎?
    String[] arr = new String[]{"a", "b", "c"};
    for(String s: arr)
    {
    for(String ss: arr)
    {
    for(String sss: arr)
    {
    System.out.print(sss);
    goto labelA;
    }
    }
    }
    labelA:

    不行啊,
    共7頁: 上一頁 1 2 3 4 5 6 7 下一頁 
    主站蜘蛛池模板: 国产一区二区三区免费观看在线| 国产精品亚洲专区一区| 99在线观看免费视频| 精品国产_亚洲人成在线高清| 一出一进一爽一粗一大视频免费的 | 日韩在线播放全免费| 亚洲蜜芽在线精品一区| 91大神在线免费观看| 亚洲欧洲日本国产| 国产免费毛不卡片| 亚洲欧洲AV无码专区| 国产大片91精品免费观看男同| 美女18毛片免费视频| 亚洲国产成人久久精品99| 一级日本高清视频免费观看| 国产gv天堂亚洲国产gv刚刚碰| 免费人成激情视频在线观看冫| 亚洲v高清理论电影| 成人五级毛片免费播放| 精品亚洲AV无码一区二区三区 | 久久久久久久亚洲精品| 高清永久免费观看| 亚洲综合一区二区国产精品| 麻豆高清免费国产一区| 亚洲日本VA中文字幕久久道具| 四虎永久精品免费观看| 久久最新免费视频| 亚洲福利视频一区二区三区| 成年女人喷潮毛片免费播放| 特级aaaaaaaaa毛片免费视频| 国产AV无码专区亚洲AV漫画| 免费无码毛片一区二区APP| 在线观看亚洲AV每日更新无码| 免费h成人黄漫画嘿咻破解版| a级毛片高清免费视频就| 亚洲精品视频在线观看免费| 国产美女做a免费视频软件| 精品无码国产污污污免费网站国产| 亚洲国产精品久久66| 国产精品免费综合一区视频| 青青操在线免费观看|