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

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

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

    Vikings

    2008年7月11日 #

    Dom4j的CDATA問(wèn)題與UTF-8字符集

     

    本文轉(zhuǎn)自:http://www.b9527.net/?q=node/1124
     
    原文如下:
     

    1. 寫(xiě)入文件的格式

    寫(xiě)入 Xml 文件的時(shí)候默認(rèn)是全部?jī)?nèi)容寫(xiě)為一行,這個(gè)可以通過(guò)加入 Format 來(lái)解決:

    OutputFormat format = OutputFormat.createPrettyPrint();

    2. Xml 中文問(wèn)題

    2.1 Xml 最好設(shè)為 UTF-8 格式,

    format.setEncoding("utf-8");

    2.2 不要用 FileWriter 輸出雙字節(jié),改為 FileOutputStream 輸出單字節(jié):

    XMLWriter output = new XMLWriter(new FileOutputStream(configFile), format);

    3. CDATA類(lèi)型文本輸入

    Element conTblOpr = rowElement.addElement(XmlDBConstants.CON_TBL_OPR);// 加入節(jié)點(diǎn)

    DefaultCDATA conTblOprCdata = new DefaultCDATA(conTblOprField);// CDATA格式化

    conTblOpr.add(conTblOprCdata );// 加入CDATA文本

    Dom4j 里面已經(jīng)內(nèi)置了對(duì) CDATA 類(lèi)型文本的支持,不要硬編碼去在文本兩邊加<![CDATA[***]]>。

     

    posted @ 2011-07-05 00:12 Vikings 閱讀(2224) | 評(píng)論 (0)編輯 收藏

    實(shí)施WebService Security[WS-Security1.0]的Encrypt和Sign模式(XFire+WSS4J)

    轉(zhuǎn)自:
    http://www.tkk7.com/security/archive/2006/08/08/xfire_wss4j.html

    thanks for springside

    鑒于很多系統(tǒng)需要實(shí)施WS-Security的標(biāo)準(zhǔn),我們?cè)赟pringSide中提供了XFire+WSS4J的Demo,本文介紹SpringSide中Spring+XFire+WSS4J的基本配置

    [WebService Server端配置]
    第一,創(chuàng)建一個(gè)基本的BookService
    public interface BookService {
        
    /** *//**
         * 按書(shū)名模糊查詢(xún)圖書(shū)
         
    */

        List findBooksByName(String name);

        
    /** *//**
         * 查找目錄下的所有圖書(shū)
         *
         * 
    @param categoryId 如果category為null或“all”, 列出所有圖書(shū)。
         
    */

        List findBooksByCategory(String categoryId);

        
    /** *//**
         * 列出所有分類(lèi).
         *
         * 
    @return List<Category>,或是null。
         
    */

        List getAllCategorys();
    }
    第二,接口擴(kuò)展,即Extend基本的BookService,在XFire中,不同的WSS4J策略需要針對(duì)不同的ServiceClass,否則<inHandlers>里面的定義會(huì)Overlap。


       <!--BookService 基類(lèi)-->
        
    <bean id="baseWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter" abstract="true">
            
    <property name="serviceFactory" ref="xfire.serviceFactory"/>
            
    <property name="xfire" ref="xfire"/>
        
    </bean>

        
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
            
    <property name="mappings">
                
    <value>
                    /BookService=bookService
                    /BookServiceWSS4J=bookServiceWSS4J
                    /BookServiceWSS4JEnc=bookServiceWSS4JEnc
                    /BookServiceWSS4JSign=bookServiceWSS4JSign
                
    </value>
            
    </property>
        
    </bean>

       
    <!--(1)BookWebService 不需要認(rèn)證-->
        
    <bean id="bookService" class="org.codehaus.xfire.spring.remoting.XFireExporter">
            
    <property name="serviceFactory" ref="xfire.serviceFactory"/>
            
    <property name="xfire" ref="xfire"/>
            
    <property name="serviceBean" ref="bookManager"/>
            
    <property name="serviceClass" value="org.springside.bookstore.plugins.xfire.service.BookService"/>
        
    </bean>

        
    <!--  (3)BookWebService 使用 WSS4J驗(yàn)證-->
        
    <bean id="bookServiceWSS4J" class="org.codehaus.xfire.spring.remoting.XFireExporter">
            
    <property name="serviceBean" ref="bookManager"/>
            
    <property name="serviceClass" value="org.springside.bookstore.plugins.xfire.service.BookServiceWSS4J"/>
            
    <property name="inHandlers">
                
    <list>
                    
    <ref bean="domInHandler"/>
                    
    <ref bean="wss4jInHandler"/>
                    
    <ref bean="validateUserTokenHandler"/>
                
    </list>
            
    </property>
        
    </bean>

        
    <bean id="domInHandler" class="org.codehaus.xfire.util.dom.DOMInHandler"/>

        
    <bean id="wss4jInHandler" class="org.codehaus.xfire.security.wss4j.WSS4JInHandler">
            
    <property name="properties">
                
    <props>
                    
    <prop key="action">UsernameToken</prop>
                    
    <prop key="passwordCallbackClass">org.springside.bookstore.plugins.xfire.wss4j.PasswordHandler</prop>
                
    </props>
            
    </property>
        
    </bean>

        
    <bean id="validateUserTokenHandler" class="org.springside.bookstore.plugins.xfire.wss4j.WSS4JTokenHandler"/>
        
        
    <!--  (4)BookWebService 使用 WSS4J驗(yàn)證 Encrypt模式-->
        
    <bean id="bookServiceWSS4JEnc" class="org.codehaus.xfire.spring.remoting.XFireExporter">
            
    <property name="serviceBean" ref="bookManager"/>
            
    <property name="serviceClass" value="org.springside.bookstore.plugins.xfire.service.BookServiceWSS4JEnc"/>
            
    <property name="inHandlers">
                
    <list>
                    
    <ref bean="domInHandler"/>
                    
    <ref bean="wss4jInHandlerEnc"/>
                    
    <ref bean="validateUserTokenHandler"/>
                
    </list>
            
    </property>
        
    </bean>
            
        
    <bean id="wss4jInHandlerEnc" class="org.codehaus.xfire.security.wss4j.WSS4JInHandler">
            
    <property name="properties">
              
    <props>
                
    <prop key="action">Encrypt</prop>
                
    <prop key="decryptionPropFile">org/springside/bookstore/plugins/xfire/wss4j/insecurity_enc.properties</prop>
                
    <prop key="passwordCallbackClass">org.springside.bookstore.plugins.xfire.wss4j.PasswordHandler</prop>
              
    </props>
            
    </property>
        
    </bean>
        
        
    <!--  (5)BookWebService 使用 WSS4J驗(yàn)證 Signature模式-->
        
    <bean id="bookServiceWSS4JSign" class="org.codehaus.xfire.spring.remoting.XFireExporter">
            
    <property name="serviceBean" ref="bookManager"/>
            
    <property name="serviceClass" value="org.springside.bookstore.plugins.xfire.service.BookServiceWSS4JSign"/>
            
    <property name="inHandlers">
                
    <list>
                    
    <ref bean="domInHandler"/>
                    
    <ref bean="wss4jInHandlerSign"/>
                    
    <ref bean="validateUserTokenHandler"/>
                
    </list>
            
    </property>
        
    </bean>
        
        
    <bean id="wss4jInHandlerSign" class="org.codehaus.xfire.security.wss4j.WSS4JInHandler">
            
    <property name="properties">
              
    <props>
                
    <prop key="action">Signature</prop>
                
    <prop key="signaturePropFile">org/springside/bookstore/plugins/xfire/wss4j/insecurity_sign.properties</prop>
                
    <prop key="passwordCallbackClass">org.springside.bookstore.plugins.xfire.wss4j.PasswordHandler</prop>
              
    </props>
            
    </property>
        
    </bean>
        
    </beans>

    posted @ 2008-10-29 01:55 Vikings 閱讀(379) | 評(píng)論 (0)編輯 收藏

    簡(jiǎn)化spring中的事務(wù)管理配置(ZT)

    <!-- Transactional proxy for the services -->  
        
    <bean id="baseTxProxy" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">  
            
    <property name="transactionManager"><ref bean="transactionManager"/></property>  
            
    <property name="transactionAttributes">  
                
    <props>  
                    
    <prop key="*">PROPAGATION_REQUIRED</prop>  
                
    </props>  
            
    </property>  
        
    </bean>  
      
        
    <bean id="itemService" parent="baseTxProxy">  
            
    <property name="target">  
                
    <bean class="ItemServiceImpl" autowire="byName"/>  
            
    </property>  
        
    </bean>  
    這樣的話baseTxProxy也可能被實(shí)例化。是不是加上abstract="true"屬性,把baseTxProxy只是當(dāng)作一個(gè)模板比較好?因?yàn)橹恍枰猧temservice這個(gè)bean。

    posted @ 2008-08-07 00:12 Vikings 閱讀(301) | 評(píng)論 (0)編輯 收藏

    使用java.awt.RenderingHints類(lèi)設(shè)置參數(shù),改善圖片質(zhì)量

     

    如果想設(shè)置幾個(gè)呈現(xiàn)提示(RenderingHints),可以多次調(diào)用setRenderHint,或者創(chuàng)建值的完整映射,并使用Graphics2D的setRenderingHints方法一次把它們都設(shè)置好。

    java.awt.RenderingHints類(lèi) javadoc文檔連接:
    http://gceclub.sun.com.cn/Java_Docs/jdk6/docs/zh/api/java/awt/RenderingHints.html

    一般使用的代碼如下:

    RenderingHints rh=new RenderingHints(RenderingHints. KEY_ANTIALIASING,
                                                            RenderingHints. VALUE_ANTIALIAS_ON);
    rh.put(RenderingHints.KEY_STROKE_CONTROL
                  , RenderingHints.VALUE_STROKE_PURE);
    rh.put(RenderingHints.KEY_ALPHA_INTERPOLATION
                  , RenderingHints.ALPHA_INTERPOLATION_QUALITY);
    g2d.setRenderingHints(rh);

    找出一個(gè)給定系統(tǒng)的方法是判斷特定的繪制硬件(比如顯卡)在系統(tǒng)中是否可用,假設(shè)有一個(gè)假想的isAccelerated方法告訴系統(tǒng)是否可以使用一種類(lèi)型的圖像加速。下面的代碼允許根據(jù)isAccelerated方法的結(jié)果來(lái)設(shè)置提示:
    //假設(shè)renderQuality是RenderingHints的私有類(lèi)成員
    if(isAccelerated()){
           renderQuality
    =new RenderingHints(RenderingHints. KEY_RENDERING, 
                                                                   RenderingHints. VALUE_RENDER_QUALITY);
    }
    else{
           renderQuality
    =new RenderingHints(RenderingHints. KEY_RENDERING, 
                                                                   RenderingHints. VALUE_RENDER_SPEED);
    }

    這樣設(shè)置后比沒(méi)有設(shè)置效果會(huì)好點(diǎn)。但是和acdsee等圖片工具看起來(lái)還有差距。比較奇怪還需要設(shè)置什么參數(shù)才能優(yōu)化圖片質(zhì)量。。。

    另外,關(guān)于性能今天看到的一篇文章有點(diǎn)作用。。
    現(xiàn)在圖片預(yù)覽一樣存在Jprofile的大量?jī)?nèi)存使用的問(wèn)題.
    看到j(luò)avatar的blog: http://javatar.javaeye.com/blog/41098
    提及使用第三方的包 JMagicK: http://www.yeo.id.au/jmagick/ (Java接口)
    生成圖片預(yù)覽的方法,因?yàn)槟壳绊?xiàng)目面臨上線的壓力如果改變另外一種實(shí)現(xiàn)方式等于是從根部重構(gòu),面臨測(cè)試的壓力。。

    posted @ 2008-07-11 16:11 Vikings 閱讀(4039) | 評(píng)論 (0)編輯 收藏

    主站蜘蛛池模板: 亚洲精品国产自在久久 | 亚洲国产成人VA在线观看| 成人午夜免费福利视频| 免费A级毛片无码视频| 在线免费观看伊人三级电影| 五月天婷婷精品免费视频| 国产精品亚洲天堂| 国产精品亚洲精品日韩动图| 国产精品久久久久久亚洲影视| 亚洲AV成人无码久久WWW| 亚洲AV无码国产剧情| 羞羞视频免费网站入口| 国产av无码专区亚洲av毛片搜| 色偷偷噜噜噜亚洲男人| 成人亚洲国产精品久久| 国产成人综合亚洲绿色| 黄色网址大全免费| 国产成人无码免费网站| 国产一区二区免费视频| 日韩插啊免费视频在线观看 | 七次郎成人免费线路视频| 人妻免费久久久久久久了| www一区二区www免费| 国内永久免费crm系统z在线| 97人妻精品全国免费视频 | 一级特黄色毛片免费看| 久久免费99精品国产自在现线 | 亚洲综合一区国产精品| 亚洲av无码专区在线电影| 又黄又大的激情视频在线观看免费视频社区在线 | 亚洲精品一品区二品区三品区| 亚洲av中文无码乱人伦在线播放| 亚洲图片在线观看| 亚洲第一成人在线| 真人无码作爱免费视频| 美女巨胸喷奶水视频www免费| 久久久久久一品道精品免费看| 无人在线观看免费高清视频| 波多野结衣免费视频观看| 亚洲综合另类小说色区| 亚洲精品视频免费看|