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

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

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

    dingfirst

    On the Road

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      8 隨筆 :: 2 文章 :: 3 評論 :: 0 Trackbacks

    2006年7月18日 #

    勵精圖治
    posted @ 2007-09-11 16:29 dingfirst 閱讀(178) | 評論 (0)編輯 收藏

    現在在干啥啊!
    沒有方向,沒有動力。
    十年之后會是什么樣子呢?
    nnd
    郁悶!
    極其郁悶!!!

    改變,
    要改變啊!!

    posted @ 2007-04-25 17:13 dingfirst 閱讀(220) | 評論 (0)編輯 收藏

    問題:
    ??????直接用URLEncoder.encode(fileName,"UTF-8"),得到的文件名長度會被截斷。

    解決方法是:
    ??????文件名先用“GB2312”編碼,然后用“ISO8859_1”解碼。當然也可以在將文件名保存到數據庫之前用“GB2312”編碼。

    代碼如下:

    ?1conn?=?DBUtil.getConnection();
    ?2????????????ps?=?conn.prepareStatement("SELECT?FILE_NAME,?CONTENT_TYPE,?CONTENT?FROM?PUB_JOB_ATTACHMENTS?WHERE?ATTACHID?=??");
    ?3????????????ps.setString(1,getAttachId());
    ?4????????????rs?=?ps.executeQuery();
    ?5????????????if(rs.next())
    ?6????????????{
    ?7????????????????//java.net.URLEncoder.encode(rs.getString("FILE_NAME"),?"UTF-8")
    ?8????????????????response.setContentType(rs.getString("CONTENT_TYPE"));
    ?9????????????????String?fileName=rs.getString("FILE_NAME");
    10????????????????fileName=URLEncoder.encode(fileName,"GB2312");
    11????????????????fileName=URLDecoder.decode(fileName,?"ISO8859_1");
    12????????????????response.addHeader("Content-Disposition",?"attachment;?filename=\""?+?fileName?+?"\"");
    13????????????????Blob?content?=?rs.getBlob("CONTENT");
    14????????????????InputStream?ins?=?content.getBinaryStream();
    15????????????????byte?buffer[]?=?new?byte[1024];
    16????????????????int?length?=?-1;
    17????????????????outs?=?response.getOutputStream();
    18????????????????while((length?=?ins.read(buffer))?!=?-1)
    19????????????????????outs.write(buffer,?0,?length);
    20????????????????ins.close();
    21????????????????outs.flush();
    22????????????}

    posted @ 2006-11-27 18:59 dingfirst 閱讀(1175) | 評論 (0)編輯 收藏

    先看一下Proxy的兩種用法:

    public ? interface ?Foo? {
    ????
    int ?doSomthing();
    }
    ???一個基本的實現:
    public?class?FooImpl?implements?Foo?{
    ????
    public?FooImpl()?{
    ????}


    ????
    public?int?doSomthing()?{
    ????????System.out.println(
    "FooImpl?doSomthing");
    ????????
    return?10;
    ????}

    ????
    }
    ???調用處理類,這也是aop的一種實現方式,呵呵。
    public?class?MyInvocationHandler?implements?InvocationHandler{
    ????Object?proxyObject;
    ????
    ????
    public?MyInvocationHandler(Object?_proxyObject)?{
    ????????
    this.proxyObject=_proxyObject;
    ????}


    ????
    public?Object?invoke(Object?proxy,?Method?method,?Object[]?args)?throws?Throwable?{
    ????????System.out.println(
    "in?proxy?instance");
    ????????
    return?method.invoke(proxyObject,args);
    ????}

    }
    ???兩種實現方式:
    public?class?ProxyUse?{
    ????
    public?ProxyUse()?{
    ????}


    ????
    public?void?useProxy1()?throws?SecurityException,?NoSuchMethodException,?InvocationTargetException,
    ????????????IllegalArgumentException,?IllegalAccessException,?InstantiationException?
    {
    ????????FooImpl?obj?
    =?new?FooImpl();
    ????????InvocationHandler?handler?
    =?new?MyInvocationHandler(obj);
    ????????Class?proxyClass?
    =?Proxy.getProxyClass(
    ????????????????Foo.
    class.getClassLoader(),?new?Class[]?{Foo.class});
    ????????Foo?f?
    =?(Foo)?proxyClass.
    ????????????????getConstructor(
    new?Class[]?{InvocationHandler.class}).
    ????????????????newInstance(
    new?Object[]?{handler});
    ????????System.out.println(f.doSomthing());
    ????}

    ????
    ????
    public?void?useProxy2()?throws?SecurityException,?NoSuchMethodException,?InvocationTargetException,
    ????????????IllegalArgumentException,?IllegalAccessException,?InstantiationException?
    {
    ????????FooImpl?obj?
    =?new?FooImpl();
    ????????InvocationHandler?handler?
    =?new?MyInvocationHandler(obj);
    ????????Foo?f?
    =?(Foo)?Proxy.newProxyInstance(
    ????????????Foo.
    class.getClassLoader(),
    ????????????
    new?Class[]?{?Foo.class?},
    ????????????handler
    ????????????);
    ????????System.out.println(f.doSomthing());
    ????}

    ????
    ????
    public?static?void?main(String?[]?args){
    ????????ProxyUse?use
    =new?ProxyUse();
    ????????
    try{
    ????????????use.useProxy1();
    ????????????use.useProxy2();
    ????????}
    catch(Exception?ex){
    ????????????ex.printStackTrace();
    ????????}

    ????}


    }

    看一下java api doc

    static?InvocationHandlergetInvocationHandler(Object?proxy)
    ??????????返回指定代理實例的調用處理程序。
    static?Class<?>getProxyClass(ClassLoader?loader, Class<?>...?interfaces)
    ??????????返回代理類的 java.lang.Class 對象,并向其提供類加載器和接口數組。
    static?booleanisProxyClass(Class<?>?cl)
    ??????????當且僅當指定的類通過 getProxyClass 方法或 newProxyInstance 方法動態生成為代理類時,返回 true。
    static?ObjectnewProxyInstance(ClassLoader?loader, Class<?>[]?interfaces, InvocationHandler?h)
    ??????????返回一個指定接口的代理類實例,該接口可以將方法調用指派到指定的調用處理程序。

    沒時間了,先這樣吧。


    ?

    posted @ 2006-07-26 17:48 dingfirst 閱讀(266) | 評論 (0)編輯 收藏

         摘要: 原文名稱:Double-checked locking and the Singleton pattern ???????????????????????????A comprehensive look at this broken programming idiom 1,請首先看一下下面的這個類,只有第一個getInstance()方法是正確的。其中get...  閱讀全文
    posted @ 2006-07-18 19:17 dingfirst 閱讀(332) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 亚洲日本VA中文字幕久久道具| 在线观看亚洲成人| 亚洲免费网站在线观看| 免费国产污网站在线观看15| 久久亚洲一区二区| 无码午夜成人1000部免费视频| 久久精品亚洲综合专区| 全部免费毛片在线播放| 亚洲国色天香视频| 在线看片无码永久免费视频| 亚洲色成人网站WWW永久四虎| 国产成人免费网站在线观看| 国产精品亚洲二区在线| 国产精品V亚洲精品V日韩精品| 一级毛片**免费看试看20分钟| 国产亚洲色婷婷久久99精品91| 在线看片免费人成视频播| 香蕉视频在线观看亚洲| 18禁免费无码无遮挡不卡网站 | 国产AV无码专区亚洲Av| 免费在线看黄的网站| 亚洲精品免费在线| 在线免费观看韩国a视频| 一个人看的免费视频www在线高清动漫 | 免费观看久久精彩视频| 亚洲视频国产精品| 免费看美女被靠到爽| 国产福利在线观看永久免费| 亚洲国产精品免费视频| 女人18毛片水真多免费播放| 亚洲五月午夜免费在线视频| 亚洲福利视频网站| 一本久到久久亚洲综合| 久久精品无码专区免费东京热| 亚洲熟妇无码一区二区三区导航| 亚洲国产中文字幕在线观看| 一区二区三区观看免费中文视频在线播放| 一本色道久久综合亚洲精品蜜桃冫 | 337p日本欧洲亚洲大胆艺术| 四虎影视精品永久免费网站| 久久大香伊焦在人线免费|