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

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

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

    kelefa  
    大千世界中,唯一缺乏的就是人類的注意力。
    日歷
    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789
    統(tǒng)計
    • 隨筆 - 11
    • 文章 - 0
    • 評論 - 28
    • 引用 - 0

    導航

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

     

    在linux下用rm刪除大量文件時會出現(xiàn)這個錯誤:

    ?? rm -rf 'wz-a1.2007-02*'
    rm?-rf?*?-bash:?/bin/rm:?參數(shù)列表過長

    經過google, 發(fā)現(xiàn)這個方法, 特記下來, 以防以后忘記

    find?.?-name?"wz-a1.2007-02*"?|?xargs?rm -rf 'wz-a1.2007-02*'
    posted @ 2007-02-02 14:24 楊杰榮 閱讀(1197) | 評論 (0)編輯 收藏
     
         摘要: 在某個項目中,經過幾個同事的修改, 最終得到這個支持分頁的action基類, 使用非常簡單:1. 在寫action類時把派生ActionSupport類改成派生這個PaginationSupportAction類2. 實現(xiàn)這兩個抽象方法, 其中doExecute方法就是你原來的execute方法的代碼, queryCount()返回符合條件的記錄數(shù)????/**?*//**?????*?just?...  閱讀全文
    posted @ 2006-12-28 08:46 楊杰榮 閱讀(2746) | 評論 (10)編輯 收藏
     
    1。通過cmpp協(xié)議接收短信不是在自己的服務器的7910端口監(jiān)聽,而是鏈接到移動短信服務器的7910端口 2。短信內容的長度是byte的類型,8個字節(jié),應該是無符號的,但是java的byte是有符號的,所以最大值是127,當大于127時長度就小于0了,所以這兩天一直郁悶為什么發(fā)長短信就死在那里,解決: bytetmpLen=in.readByte(); msg_
    文章來源:http://www.yourblog.org/Data/20054/249969.html
    posted @ 2006-12-27 11:35 楊杰榮 閱讀(726) | 評論 (1)編輯 收藏
     
    packagecom.kelefa.glidewindow; importjava.util.HashMap; importjava.util.LinkedHashMap; importjava.util.Map; /** *滑動窗口. *有些工作(例如網絡通信)需要回應,但不需要一個一個的等待回應,可并發(fā)的進行,但需要控制流量, *滑動窗口是比較好的方法
    文章來源:http://www.yourblog.org/Data/20054/250650.html
    posted @ 2006-12-27 11:35 楊杰榮 閱讀(491) | 評論 (0)編輯 收藏
     
         摘要: 不知道是自己對hibernate不了解,用的不對, 還是db2版本問題, 以前的一個項目用到db2, hibernate, 以為hibernate已經幫我們做好分頁的一切事情,只要用就行了, 代碼大概如下:????/**?*//**?????*?設置分頁,?pageNo或pageList<=0時返回所有記錄?????*??????*?@param?pageNo?????*??????????...  閱讀全文
    posted @ 2006-12-27 11:17 楊杰榮 閱讀(3915) | 評論 (3)編輯 收藏
     
         摘要: 一般主動告警系統(tǒng)的告警信息采集主要有5種方法: ??1. 在告警服務器ping各種設備, 判斷設備是否存活和掉包率?2. 接收設備發(fā)過來的系統(tǒng)日志(syslog), 并通過相應的規(guī)則庫(正則表達式)匹配判斷是否需要告警?3. 接收設備發(fā)過來的snmp Trap信息, 進行判斷告警?4. 提取網管系統(tǒng)的告警信息?5. 通過snmp協(xié)議, 取回相應oid的值, 進行判斷告警??什么是snmp:??Si...  閱讀全文
    posted @ 2006-12-27 09:50 楊杰榮 閱讀(5459) | 評論 (7)編輯 收藏
     
    用webwork的datepicker時, 如果格式是"%Y-%m-%d"工作很正常, 但是有些格式需要帶上時間的:
    "%Y-%m-%d?%H:%M", 這時用webwork默認的類型轉換就不行了,需要自己實現(xiàn), 根據(jù)javaeye論壇某高手的建議用正則表達式來判斷form傳過來的日期字符串是"%Y-%m-%d"還是"%Y-%m-%d?%H:%M",再用相應的SimpleDateFormat來parse分析字符串生成Date對象, 代碼如下:

    import?java.text.ParseException;
    import?java.text.SimpleDateFormat;
    import?java.util.Date;
    import?java.util.Map;

    import?org.apache.log4j.Logger;

    import?com.opensymphony.webwork.util.WebWorkTypeConverter;

    public?class?DateConverter
    ????????
    extends?WebWorkTypeConverter
    {
    ????
    private?static?final?Logger?log?=?Logger.getLogger(?DateConverter.class?);

    ????
    private?final?static?String?regex_time?=?"[0-9]{2,4}-[0-9]{1,2}-[0-9]{1,2}?[0-9]{1,2}:[0-9]{1,2}";

    ????
    private?final?static?SimpleDateFormat?sdf_time?=?new?SimpleDateFormat(
    ????????????
    "yyyy-MM-dd?HH:mm"?);

    ????
    private?final?static?String?regex_date?=?"[0-9]{2,4}-[0-9]{1,2}-[0-9]{1,2}";

    ????
    private?final?static?SimpleDateFormat?sdf_date?=?new?SimpleDateFormat(
    ????????????
    "yyyy-MM-dd"?);

    ????@Override?
    public?Object?convertFromString(?Map?context,?String[]?values,
    ????????????Class?toClass?)
    ????
    {
    ????????
    if?(?values.length?==?1?)
    ????????
    {
    ????????????Date?date?
    =?null;
    ????????????
    try
    ????????????
    {
    ????????????????date?
    =?convertToDate(?values[0]?);
    ????????????}

    ????????????
    catch?(?ParseException?e?)
    ????????????
    {
    ????????????????log.warn(?e.getMessage()?);
    ????????????}

    ????????????
    return?date;
    ????????}


    ????????Date[]?results?
    =?new?Date[values.length];

    ????????
    for?(?int?i?=?0;?i?<?values.length;?i++?)
    ????????
    {
    ????????????String?value?
    =?values[i];
    ????????????
    try
    ????????????
    {
    ????????????????results[i]?
    =?convertToDate(?value?);
    ????????????}

    ????????????
    catch?(?ParseException?e?)
    ????????????
    {
    ????????????????log.warn(?e.getMessage()?);
    ????????????}

    ????????}


    ????????
    return?results;
    ????}


    ????
    private?Date?convertToDate(?String?value?)
    ????????????
    throws?ParseException
    ????
    {
    ????????
    if?(?value.matches(?regex_time?)?)
    ????????????
    return?sdf_time.parse(?value?);
    ????????
    else?if?(?value.matches(?regex_date?)?)
    ????????????
    return?sdf_date.parse(?value?);

    ????????
    return?null;
    ????}


    ????@Override?
    public?String?convertToString(?Map?context,?Object?o?)
    ????
    {
    ????????
    if?(?o?instanceof?Date?)
    ????????
    {
    ????????????Date?date?
    =?(Date)?o;
    ????????????
    return?sdf_time.format(?date?);
    ????????}


    ????????
    return?o.toString();
    ????}


    ????
    public?static?void?main(?String[]?args?)
    ????
    {
    ????????System.out.println(?
    "2006-07-11".matches(?regex_date?)?);
    ????????System.out.println(?
    "2006-07-11?00:21".matches(?regex_time?)?);
    ????}

    }

    要讓這個類來代替webwork默認的轉換你還需要在classpath目錄, 一般就是classes目錄放置配置文件
    xwork-conversion.properties:
    java.util.Date=DateConverter

    這種方法是對整個application起作用,.
    如果要只對單個action起作用, 在action同一個package寫一個ActionClassName-conversion.properties:
    startDate=DateConverter
    posted @ 2006-07-13 15:07 楊杰榮 閱讀(913) | 評論 (0)編輯 收藏
     

    近日研究使用webwork(版本:2.2.1)的datepicker標簽, 它用jscalendar來實現(xiàn), 使用非常簡單:

    < ww:datepicker? cssClass ="ListBox" ?size ="16" ?showstime ="true" ?name ="start" ?id ="start" ?format ="%Y-%m-%d?%H:%M" ? />

    顯示頁面總說js錯誤, 什么什么對象沒有定義之類的, 具體忘記了, 查看網頁源代碼發(fā)現(xiàn)它需要3個js文件:

    <script?type="text/javascript"?src="/webwork/jscalendar/calendar.js"></script>
    <script?type="text/javascript"?src="/webwork/jscalendar/lang/calendar-ch.js"></script>
    <script?type="text/javascript"?src="/webwork/jscalendar/calendar-setup.js"></script>

    用winRAR打開webwork-2.2.1.jar發(fā)現(xiàn)com\opensymphony\webwork\static\jscalendar\lang 目錄并沒有calendar-ch.js文件,倒是有一個calendar-zh.js文件, 不曉得是怎么回事, 小弟對i18n沒有研究, 估計是webwork的一個bug吧,發(fā)現(xiàn)有兩個解決方法:
    1.把
    calendar-zh.js改名為calendar-ch.js, 或把calendar-zh.js另存為calendar-ch.js, 然后重新打包webwork-2.2.1.jar
    2.假設你的webwork.properties有這樣的設置:
    ###?Standard?UI?theme
    ###?Change?this?to?reflect?which?path?should?be?used?for?JSP?control?tag?templates?by?default
    webwork.ui.theme
    =xhtml
    webwork.ui.templateDir
    =template
    #sets?the?default?template?type.?Either?ftl
    ,?vm,?or?jsp
    webwork.ui.templateSuffix
    =ftl
    修改/template/xhtml/datepicker.ftl:
    <#if?!stack.findValue("#datepicker_js_included")?exists>
    <#assign?trash?
    =?stack.setValue("#datepicker_js_included",?true)/>
    <script?type
    ="text/javascript"?src="<@ww.url?value="/webwork/jscalendar/"?encode='false'/>calendar.js"></script>
    <script?type
    ="text/javascript"?src="<@ww.url?value="/webwork/jscalendar/lang/"?encode='false'/>calendar-zh.js"></script>
    <script?type
    ="text/javascript"?src="<@ww.url?value="/webwork/jscalendar/"?encode='false'/>calendar-setup.js"></script>
    </#if>
    <#include?
    "/${parameters.templateDir}/simple/text.ftl"?/>
    <a?href
    ="#"?id="${parameters.id}_button"><img?src="../images/pdate.gif"?width="16"?height="16"?border="0"?alt="點擊這里選擇日期"></a>
    <script?type
    ="text/javascript">
    ????Calendar.setup({
    ????????inputField?????:????
    "${parameters.id}",
    <#if?parameters.format?exists>
    ????????ifFormat???????:????
    "${parameters.format}",
    </#if>
    <#if?parameters.showstime?exists>
    ????????showsTime??????:????
    "${parameters.showstime}",
    </#if>
    ????????button?????????:????
    "${parameters.id}_button",
    <#if?parameters.singleclick?exists>
    ????????singleclick????:????${parameters.singleclick}
    ,
    </#if>
    ????????step???????????:????
    1
    ????})
    ;
    </script>
    其實就是把calendar-${parameters.language?default("en")}.js修改成calendar-zh.js
    posted @ 2006-07-13 14:32 楊杰榮 閱讀(2187) | 評論 (1)編輯 收藏
     
    一個使用webwork和hibernate的項目一直用mysql做為數(shù)據(jù)庫,一直工作正常,但是最近改用ms SqlServer時發(fā)現(xiàn)了兩個問題:

    1。在mysql用“user”作為一個表的表名,但是在SqlServer中“user”也許是個保留關鍵字,創(chuàng)建表失敗,
    ????? 只好改成“Tuser”才ok;

    2。由于大意,程序中有這一個hql:
    ????????????from Device device group by device.ip, device.name
    ????? 在mysql中正常,但是在SqlServer拋出異常,改成這樣就ok了:
    ??????????? from Device device?order by device.ip, device.name

    posted @ 2006-07-03 13:36 楊杰榮 閱讀(587) | 評論 (1)編輯 收藏
     
    ??????? kelefa是某公司的一個程序員,傳說他是一流的程序員,開發(fā)了一個系統(tǒng)非常穩(wěn)定,從來沒有出現(xiàn)過問題,當然這世界上沒有完美的人,也沒有完美的軟件,這個系統(tǒng)也有bug,而且他已經發(fā)現(xiàn)了,但是一直沒有找到很好的辦法解決,還好這個bug很少有機會能發(fā)作,關鍵是一發(fā)生這種情況時嚴重影響系統(tǒng)的運行,停止服務后再重新啟動是目前最好的方法。

    ??????? 為了保住“高手”的稱號,他又搞了一個監(jiān)控該系統(tǒng)的小程序,能及時發(fā)現(xiàn)系統(tǒng)是否工作正常,如果發(fā)現(xiàn)異常情況立刻發(fā)送email給自己,email又跟自己的手機短信綁定,使他能迅速的發(fā)現(xiàn)情況并跑到電腦前:
    //telnet進來后
    [root@kelefa?root]$?su?-
    [root@kelefa?root]$?password?
    [root@kelefa?root]#?cd?
    /usr/local/resin-3.0.14/bin
    [root@kelefa?bin]#?./httpd.sh??stop
    [root@kelefa?bin]#?.
    /httpd.sh??start

    一切又正常了,1分鐘內搞定,一流程序員再次得到驗證,可是email有時會發(fā)送失敗,sp的短信也不是絕對的正常,而且每個月還給n元大洋給sp,萬一收到告警短信旁邊沒有電腦也無能為力。

    ??????? 終于發(fā)現(xiàn)更好的方法:在監(jiān)控程序里直接telnet到設備上進行操作,動手前當然要看看有什么開源的可以利用,它就是Jakarta的Commons Net,這個包支持ftp,telnet,pop3,smtp,nntp等協(xié)議。

    ??????? 首先實現(xiàn)一個telnet的基類,它有個connectAndDocommad()的方法,實現(xiàn)鏈接到指定的設備上,并啟動一個線程執(zhí)行一個模板方法(某設計模式):


    ?? // 登陸
    ???log.debug( "login................" );
    ???if ( false == login() )
    ???{
    ????String msg = new Date().toString() + " telnet登陸不成功,ip:" + remoteip;
    ????log.warn( msg );
    ????SyslogUtil.send( msg );
    ????return;
    ???}

    ???log.debug( "doCommand................" );
    ???//?抽象方法
    ???doCommand();

    ???// 退出
    ???log.debug( "exit................" );
    ???exit();


    ??????? 其次類RestartTask繼承該抽象類,實現(xiàn)doCommand()抽象方法,往輸出流發(fā)送操作命令,實現(xiàn)重啟:

    @Override protected void doCommand()
    ?{
    ??log.debug( "resin restart................" );
    ??try
    ??{
    ???? writeLine("su -");????
    ???? writeLine("password");?
    ???? writeLine("cd /usr/local/resin-3.0.14/bin");
    ???? writeLine("./httpd.sh? stop");
    ???? writeLine("./httpd.sh? start");

    ???? readResult();
    ??}
    ??catch ( IOException e )
    ??{
    ???log.warn( e.getMessage() );
    ??}
    ?}


    以上為偽代碼,需要實現(xiàn)一些子方法, 如有雷同,純屬虛構!
    posted @ 2006-06-30 23:52 楊杰榮 閱讀(5403) | 評論 (3)編輯 收藏
    僅列出標題
    共2頁: 1 2 下一頁 
     
    Copyright © 楊杰榮 Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 国产精品亚洲av色欲三区| 亚洲国产精品免费在线观看| 日韩大片免费观看视频播放| 日韩在线看片免费人成视频播放| 精品国产污污免费网站aⅴ| 亚洲男人的天堂在线播放| 国产免费爽爽视频在线观看| 亚洲真人无码永久在线| 亚洲无限乱码一二三四区| 国产av无码专区亚洲av毛片搜| 人人玩人人添人人澡免费| 亚洲无线码一区二区三区| 亚洲色偷偷色噜噜狠狠99| 成人毛片18女人毛片免费96| 亚洲欧美日韩综合久久久| 国产一区二区三区在线免费观看| 亚洲最大成人网色| 亚洲中文无码永久免费| 亚洲GV天堂无码男同在线观看 | 亚洲日本精品一区二区| 99精品视频在线视频免费观看| 九月婷婷亚洲综合在线| 亚洲综合一区无码精品| 37pao成人国产永久免费视频| 亚洲精品国产自在久久| 少妇性饥渴无码A区免费| 久久精品a亚洲国产v高清不卡| selaoban在线视频免费精品| 亚洲av无码乱码国产精品| 精品国产sm捆绑最大网免费站| 国产成人亚洲精品青草天美| 美女被免费视频网站a| 亚洲精品少妇30p| 一级毛片a女人刺激视频免费 | 亚洲中文字幕无码爆乳av中文| 综合一区自拍亚洲综合图区| 亚洲精品国产精品乱码不卡√| 三级片免费观看久久| 亚洲色成人网一二三区| 国产成人一区二区三区免费视频 | 亚洲国产成人片在线观看无码|