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

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

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

    fun

     

    2009年5月7日

    大規模網站架構ppt

    為公司講解的一個PPT,相關內容如下:

     

     http://www.bt285.cn BT下載 有300W部BT種子.
    http://www.5a520.cn 小說520網 有300W部小說

    CAP原則
    BASE策略
    異步(MessageQueue)
    數據庫
       數據的水平切分及垂直切分
        數據庫讀寫分離
        避免分布式事務
        反范式的數據庫設計
    負載均衡
        DNS負載均衡
        反向代理負載均衡
         LVS
    緩存
        數據庫緩存
         服務器緩存/頁面緩存/數據緩存/靜態化
        反向代理緩存

    HA
    Session

    Share Nothing Architecture架構
    瀏覽器優化
        瀏覽器緩存/CDN/小圖片合并
    分布式文件系統(MogileFS)

    下載地址為:http://www.bt285.cn/soft/res.ppt

     

    posted @ 2009-11-06 19:44 fun 閱讀(2558) | 評論 (3)編輯 收藏

    Tomcat配置成https方式訪問(用單向認證)

    在命令提示符窗口,進入Tomcat目錄,執行以下命令:
    keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600
    通過以上步驟生成server.keystore證書文件、

    將servlet.xml一下的的注釋打開(最好拷貝此段)
    <!-- Define a SSL HTTP/1.1 Connector on port 8443 -->  
    <Connector protocol="org.apache.coyote.http11.Http11Protocol"    
                         port="8443" maxHttpHeaderSize="8192"  
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  
               enableLookups="false" disableUploadTimeout="true"  
               acceptCount="100" scheme="https" secure="true"  
               clientAuth="false" sslProtocol="TLS"                   
               keystoreFile="server.keystore"    
               keystorePass="changeit"/> 
    到這一步訪問https;//ip:8443/item

    一般Tomcat默認的SSL端口號是8443,但是對于SSL標準端口號是443,這樣在訪問網頁的時候,直接使用https而不需要輸入端口號就可以訪問,如http://www.bt285.cn
    想要修改端口號,需要修改Tomcat的server.xml文件:
    1.non-SSL HTTP/1.1 Connector定義的地方,一般如下:
         <Connector port="80" maxHttpHeaderSize="8192"
                    maxThreads="500" minSpareThreads="25" maxSpareThreads="75"
                    enableLookups="false" redirectPort="443" acceptCount="100"
                    connectionTimeout="20000" disableUploadTimeout="true" />
    將其中的redirectPort端口號改為:443
    2.SSL HTTP/1.1 Connector定義的地方,修改端口號為:443,如下:
    <Connector    
       port="443" maxHttpHeaderSize="8192"
       maxThreads="150" minSpareThreads="25"
       maxSpareThreads="75"
       enableLookups="false"
       disableUploadTimeout="true"
       acceptCount="100" scheme="https"
       secure="true"
       clientAuth="false" sslProtocol="TLS"
       keystoreFile="conf/tomcat.keystore"
       keystorePass="123456" />
    3.AJP 1.3 Connector定義的地方,修改redirectPort為443,如下:
         <Connector port="8009"
                    enableLookups="false" redirectPort="443" protocol="AJP/1.3" />

    重新啟動Tomcat就可以了。到這一步可以形成訪問方式 http://www.5a520.cn /item

    到tomcat下面的webapps下面的ROOT下面的index.jsp文件的內容
    <?xml version="1.0" encoding="ISO-8859-1"?>
      <%response.sendRedirect("/item");%>

    修改web.xml文件的內容
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app 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"
        version="2.4">

      <display-name>Welcome to Tomcat</display-name>
      <description> 
         http://www.feng123.com 蜂蜜交易網
      </description>

      <welcome-file-list>
       <welcome-file>/index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
    刪除lib目錄下的lib文件
    重啟Tomcat服務器,在這一步可以直接通過https:ip來訪問項目

    posted @ 2009-05-12 11:35 fun| 編輯 收藏

    10分鐘學懂Struts 2.0 攔截器

    Struts 2.0攔截器

    簡介

     

    Struts 2.0 中的攔截器,要實現com.opensymphony.xwork2.interceptor.Interceptor接口,在struts.xml中配置。可以用攔截器來完成調用Action業務邏輯之前的預處理或是之后的善后處理。還可以通過配置多個攔截器來滿足action需求。

     

    Interceptor stack是由多個攔截器組成的攔截器組,在攔截器組中可以對每一個攔截器映射。所有進行配置攔截器時,不必對每一個攔截器進行配置,而只需對interceptor stack進行配置即可。在struts 2中默認配置了一個全局interceptor stack,包括Exception InterceptorValidation Interceptor等。

     

    實例

     

    在這個實例當中,我將配置一個時間攔截器,用來統計每個action的請求時間。

    package interceptor;      
         
    import com.opensymphony.xwork2.ActionInvocation;      
    import com.opensymphony.xwork2.interceptor.Interceptor;      
    /**
    *author by 
    http://www.bt285.cn http://www.5a520.cn
    */
         
    public class ActionTimer implements Interceptor{      
        
    public String intercept(ActionInvocation next) throws Exception {      
            
    long t1 = System.currentTimeMillis();      
            String s
    = next.invoke();      
            
    long t2 = System.currentTimeMillis();      
            System.out.println(
    "Action "+next.getAction().getClass().getName()+" took "+(t2-t1)+" millisecs");      
            
    return s;      
        }
          
              
        
    public void init() {      
        }
          
        
    public void destroy() {      
        }
          
    }
      
    struts.xml
    <?xml version="1.0" encoding="UTF-8" ?>     
    <!DOCTYPE struts PUBLIC      
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"      
        "http://struts.apache.org/dtds/struts-2.0.dtd"
    >     
    <struts>     
        
    <package name="interceptor" extends="struts-default">     
            
    <interceptors>     
                
    <interceptor name="actiontimer"     
                    class
    ="interceptor.ActionTimer" />     
         
                
    <interceptor-stack name="demostack">     
                    
    <interceptor-ref name="defaultStack" />     
                    
    <interceptor-ref name="actiontimer" />     
                
    </interceptor-stack>     
            
    </interceptors>     
            
    <default-interceptor-ref name="demostack" />     
            
    <action name="InterceptorDemo"     
                class
    ="interceptor.action.InterceptorDemo">     
                
    <result>http://www.bt285.cn /interceptor/interceptordemo.jsp</result>     
            
    </action>     
        
    </package>     
         
    </struts>   

    interceptordemo.jsp

    <html>     
    <head>     
         
    </head>     
    <body>     
    </body>     
    </html>   

     

     

    posted @ 2009-05-08 20:31 fun| 編輯 收藏

    Spring中的定時任務介紹

    下面我們來看一下Spring中提供的定時任務開發:
    在Spring中開發定時任務,分為3個步驟。
    1 創建定時任務
    2 注冊定時任務
    3 啟動定時任務
    分別來看一下
    1 創建定時任務:

    package org.jnotnull;
    import java.util.TimerTask;
    public class MyTesk extends TimerTask{
    ....
    public void run(){
    //添加任務
    }
    ....
    }

    2 注冊定時任務,并設置參數
    我們來配置TimerConfig.xml防御WEB-INF下

    <bean id="myTesk" class="edu.cumt.jnotnull.action.TaskAction">  
            
    <property name="newsManageService">  
                
    <ref bean="newsManageService" />  
            
    </property>  
        
    </bean>  
        
    <bean id="stTask"  
            class
    ="org.springframework.scheduling.timer.ScheduledTimerTask">  
            
    <property name="delay">  
                
    <value>20000</value>  
            
    </property>  
            
    <property name="period">  
                
    <value>30000</value>  
            
    </property>  
            
    <property name="timerTask">  
                
    <ref bean="myTesk" />  
            
    </property>  
        
    </bean>  
        
    <bean id="timerFactory"  
            class
    ="org.springframework.scheduling.timer.TimerFactoryBean">  
            
    <property name="scheduledTimerTasks">  
                
    <list>  
                    
    <ref bean="stTask" />  
                
    </list>  
            
    </property>  
        
    </bean>  
    3 啟動定時任務   
    <PRE class=xml name="code"><?xml version="1.0" encoding="UTF-8"?>  
    <web-app>  
    <context-param>  
    <param-name>contextConfigLocation</param-name>  
    <param-value>http://www.bt285.cn /WEB-INF/TimerConfig.xml</param-value>  
    </context-param>  
    <listener>  
    <listener-class>  
     org.springframework.web.context.ContextLoaderListener   
    </listener-class>  
    </listener>  
    </web-app>  
    </PRE>  
    <BR>  
    <BR>下面我們再來看看在Spring中如何使用Quartz實現定時功能   
    <BR>1 創建定時任務:   
    <BR><PRE class=java name="code">package org.jnotnull;   
    import java.util.TimerTask;   
    /**
    *http://www.5a520.cn
    */
    public class MyTesk extends TimerTask{   
     
    public void excute(){   
    //添加任務   
    }   
    .   
    }   
    </PRE>  
    <BR>2 注冊定時任務,并設置參數   
    <BR>我們來配置TimerConfig.xml防御WEB-INF下   
    <BR><PRE class=xml name="code"><?xml version="1.0" encoding="UTF-8">  
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"    
    "http://www.springframework.org/dtd/spring-beans.dtd">  
    <beans>  
    <bean id ="myTesk" class="org.jnotnull.MyTesk"/>  
    <bean id ="myJob"    
    class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  
    <property name="targetObject">  
    <ref bean="myTask">  
    </property>  
    <propertyproperty ="targetMethod">  
    <value>execute</value>  
    </property>  
    </bean>  
    <bean id ="timeTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">  
    <property name="jobDetail">  
     <ref bean="myJob">  
    </property>  
    <property name="cronExpression">  
    <value>12,23****?</value>  
    </property>  
    </bean>  
    <bean id ="timerFactory"    
    class="org.springframework.scheduling.quartz.ScheduleFactoryBean">  
    <property name="triggers">  
    <list>  
    <refref="timeTrigger">  
    </list>  
    </property>  
    </bean>  
    </beans>  
    </PRE>  
    <BR>3 啟動定時任務   
    <BR><PRE class=xml name="code"><?xml version="1.0" encoding="UTF-8"
    ?>  
    <web-app>  
    <context-param>  
    <param-name>contextConfigLocation</param-name>  
    <param-value> http://www.bt285.cn /WEB-INF/TimerConfig.xml</param-value>  
    </context-param>  
    <listener>  
    <listener-class>  
     org.springframework.web.context.ContextLoaderListener   
    </listener-class>  
    </listener>  
    </web-app>  
    </PRE>    

    posted @ 2009-05-07 18:59 fun| 編輯 收藏

    導航

    統計

    常用鏈接

    留言簿(11)

    隨筆檔案

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲精品亚洲人成人网| 亚洲av永久无码精品古装片| tom影院亚洲国产一区二区| 久久综合九九亚洲一区| aa级毛片毛片免费观看久| 无码精品人妻一区二区三区免费看 | 亚洲精品日韩中文字幕久久久| 亚洲综合中文字幕无线码| www.免费在线观看| 激情综合亚洲色婷婷五月| 国产福利视精品永久免费| 亚洲精品专区在线观看| 风间由美在线亚洲一区| 免费成人在线观看| 看成年女人免费午夜视频| 四虎影视成人永久免费观看视频 | 免费高清在线影片一区| 国产亚洲精久久久久久无码AV| 日韩在线视频线视频免费网站| 国产片AV片永久免费观看| 亚洲人精品亚洲人成在线| 国产美女被遭强高潮免费网站| 污视频网站在线观看免费| 国产成人综合亚洲AV第一页| 先锋影音资源片午夜在线观看视频免费播放| 久久久国产精品亚洲一区| 成全高清视频免费观看| 国产成人无码免费看片软件| 四虎在线视频免费观看| 亚洲最大黄色网站| 久草福利资源网站免费| 久久99亚洲综合精品首页| 亚洲免费观看网站| 春暖花开亚洲性无区一区二区| 亚洲综合色自拍一区| 日本最新免费网站| 未满十八私人高清免费影院| 亚洲自偷精品视频自拍| 免费A级毛片无码久久版| 91福利视频免费| 亚洲AV综合色区无码一区|