posts - 23, comments - 0, trackbacks - 0, articles - 3
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          2010年7月16日

          lxq@lxq:~/tmp$ tree
          .
          |-- Makefile
          |-- bin
          |   `-- Makefile
          |-- hello
          |   |-- Makefile
          |   |-- hello
          |   `-- hello.c
          `-- tmp

          3 directories, 5 files


          cat Makefile
          SRCBASE := $(shell pwd) #獲取當前目錄
          ELEASEDIR := $(shell (cd $(SRCBASE)/.. && pwd -P))
          print:
                  echo ${ELEASEDIR}
          install: all
                  install -d ${ELEASEDIR}/tmp
                  $(MAKE) -C ./hello clean #切換到hello目錄執行clean目標
                  $(MAKE) -C ./hello hello #切換到hello目錄執行hello目標
                  $(MAKE) -C ./hello $@ #切換到hello目錄執行install目標
          all clean:
          ifneq ($(wildcard hell),) #如果有hell這個文件就執行里面的動作
                  $(MAKE) -C ./bin $@ #切換到hello目錄執行all\clean目標
          endif
          .PHONY: all clean install

          cat hello/Makefile
          clean:
          ifneq ($(wildcard hello),)
                  rm hello
          endif
          hello:
                  gcc -o hello hello.c
          install:
                  -cp hello ../bin/

          cat hello/hello.c
          #include <stdio.h>
          int main()
          {
                  printf("hello");
                  exit(0);
          }









          posted @ 2010-07-16 20:01 beauty9235 閱讀(278) | 評論 (0)編輯 收藏

          新員工培訓建議
          開始模式
          開發的軟件(VI,代碼
          開發的技巧(如VI的使用,如果新員工較熟悉,可略過)
          1.代碼規范 編碼質量要求
          關于代碼文檔 發送 由經驗比較豐富的程序員講解一下要求,對新員工的前幾次編碼進行檢查

          2。項目架構
          項目的文檔(原理圖,開發文檔)
          項目的整體架構
           1。(硬件構成 CPU,模塊,最好有相關的原理圖)
           2。軟件整體結構,可從makefile編譯開始講起
           用到的開源的軟件包,將各種二進制文件打包,數據流程,進程啟動通信機制(如果有相應的架構圖,流程圖最好)

          與工作相關的(現在或將來要做的和急需要了解的協議,資料)

          posted @ 2010-07-16 19:32 beauty9235 閱讀(521) | 評論 (0)編輯 收藏

          2008年8月18日


          作者: beauty9235  鏈接:http://beauty9235.javaeye.com/blog/229658  發表時間: 2008年04月30日

          聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

          List list = new ArrayList();
                  SearchTotalWorkfile swt 
          = new SearchTotalWorkfile();
                  swt.setFiletime(
          "2008-03-08");
                  swt.setFiles(
          new Long(1));
                  swt.setCustomers(
          new Long(109));
                  list.add(swt);
                   swt 
          = new SearchTotalWorkfile();
                  swt.setFiletime(
          "2008-02-04");
                  swt.setFiles(
          new Long(4));
                  swt.setCustomers(
          new Long(96));
                  list.add(swt);
                  swt 
          = new SearchTotalWorkfile();
                  swt.setFiletime(
          "2008-03-06");
                  swt.setFiles(
          new Long(4));
                  swt.setCustomers(
          new Long(96));
                  list.add(swt);
                    swt 
          = new SearchTotalWorkfile();
                  swt.setFiletime(
          "2008-03-07");
                  swt.setFiles(
          new Long(8));
                  swt.setCustomers(
          new Long(217));
                  list.add(swt);
                  Collections.sort(list, 
          new Comparator() {
                      
          public int compare(Object o1, Object o2) {
                          
          int i = 0;
                          
          try {
                              Date l1 
          = DateUtils.parseDate(((SearchTotalWorkfile) o1).getFiletime(), new String[]{"yyyy-MM-dd"});
                              Date l2 
          = DateUtils.parseDate(((SearchTotalWorkfile) o2).getFiletime(), new String[]{"yyyy-MM-dd"});
                              String s1
          =  ((SearchTotalWorkfile) o1).getFiletime();
                              String s2
          =  ((SearchTotalWorkfile) o2).getFiletime();
                              i 
          = s2.compareTo(s1);
                          }
           catch (Exception e) {

                          }

                          
          return i;

                      }


                  }
          );
                  log.debug(list); 

          本文的討論也很精彩,瀏覽討論>>


          JavaEye推薦



          posted @ 2008-08-18 17:05 beauty9235 閱讀(454) | 評論 (0)編輯 收藏


          作者: beauty9235  鏈接:http://beauty9235.javaeye.com/blog/229657  發表時間: 2008年05月23日

          聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

          proxool是一個開放的Java SQL Driver驅動程序,提供了對你選擇的其它類型的驅動程序的連接池封裝。可以非常簡單的移植到現存的代碼中。完全可配置。快速,成熟,健壯。可以透明地為你現存的JDBC驅動程序增加連接池功能。

          1.直接在Java寫

           

          private Connection conn = null;
          static {
                      
          try {
                          Class.forName(
          "org.logicalcobwebs.proxool.ProxoolDriver");
                      }

                      
          catch(ClassNotFoundException e) {
                          log.debug(
          "can not find db driver"+e);
                      }

                  }

              
          void getConnection() {
                  String dataDriver 
          = "com.mysql.jdbc.Driver";
                  String dataURL 
          = "jdbc:mysql://localhost:3306/test";
                  String user 
          = "root";
                  String pwd 
          = "";
                  
          try {
                      conn 
          = DriverManager.getConnection("proxool.example:" + dataDriver + ":" + dataURL, user, pwd);
                  }
           catch (SQLException e) {
                      log.debug(e);
                  }

              }

          2.spring 配置文件里寫
          context.xml

           

          <bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource" destroy-method="close">
                 
          <property name="driver">
                   
          <value>com.mysql.jdbc.Driver</value>
                 
          </property>
                 
          <property name="driverUrl">
                   
          <value>jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=utf8</value>
                 
          </property>
                 
          <property name="user">
                   
          <value>root</value>
                 
          </property>
                 
          <property name="password">
                   
          <value></value>
                 
          </property>
                 
          <property name="alias">
                   
          <value>example</value>
                 
          </property>
                 
          <property name="houseKeepingSleepTime">
                   
          <value>90000</value>
                 
          </property>
                 
          <property name="prototypeCount">
                   
          <value>5</value>
                 
          </property>
                 
          <property name="maximumConnectionCount">
                   
          <value>100</value>
                 
          </property>
                 
          <property name="minimumConnectionCount">
                   
          <value>10</value>
                 
          </property>
                 
          <property name="trace">
                   
          <value>true</value>
              
          </property>
              
          </bean>    

          3.結合數據池程序監控
          web.xml

           

          <servlet>
                  
          <servlet-name>proxoolServletConfigurator</servlet-name>
                  
          <servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>
                  
          <init-param>
                      
          <param-name>propertyFile</param-name>
                      
          <param-value>WEB-INF/classes/proxool.properties</param-value>
                  
          </init-param>
                  
          <load-on-startup>1</load-on-startup>
              
          </servlet>
              
          <servlet>
                  
          <servlet-name>proxool</servlet-name>
                  
          <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
              
          </servlet>
            
          <servlet-mapping>
                  
          <servlet-name>proxool</servlet-name>
                  
          <url-pattern>/proxool</url-pattern>
              
          </servlet-mapping>    

          proxool.properties

           jdbc-0.proxool.alias=spring_proxool
          jdbc-0.proxool.driver-class=com.mysql.jdbc.Driver
          jdbc-0.proxool.driver-url=jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=utf8
          jdbc-0.user=root
          jdbc-0.password=
          jdbc-0.proxool.maximum-connection-count=100
          jdbc-0.proxool.prototype-count=4
          jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE
          jdbc-0.proxool.verbose=true
          jdbc-0.proxool.statistics=10s,1m,1d
          jdbc-0.proxool.statistics-log-level=ERROR

          spring里的配置

           

           <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close"
                    singleton
          ="true">
                  
          <property name="driverClassName">
                      
          <value>org.logicalcobwebs.proxool.ProxoolDriver</value>
                  
          </property>
                  
          <property name="url">
                      
          <value>proxool.spring_proxool</value>
                  
          </property>
              
          </bean>

          普通的java獲得Connection

           

           public Connection getConnection() {
                  Connection conn 
          = null;
                  
          try {
                  conn 
          = DriverManager.getConnection("proxool.spring_proxool");
                        }
           catch (SQLException e) {
                      log.debug(e);
                  }
           
                  
          return conn;
              }
          參考資料http://www.memezilla.com/2005/05/18/proxool-in-practice
          本文的討論也很精彩,瀏覽討論>>


          JavaEye推薦



          posted @ 2008-08-18 17:05 beauty9235 閱讀(484) | 評論 (0)編輯 收藏


          作者: beauty9235  鏈接:http://beauty9235.javaeye.com/blog/229654  發表時間: 2008年05月23日

          聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

          事務代理標準寫法

           

          <!--DAO層接口實現  -->
          <bean id="userDAO" class="net.test.dao.UserDAO">
                 
          <property name="sessionFactory">
                        
          <ref local="sessionFactory" />
                 
          </property>
          </bean>
           
          <!--業務層接口實現,把DAO注入到Service里面 --> 
          <bean name="userServiceTarget" class="net.test.service.UserService">
                 
          <property name="userDAO">
                        
          <ref bean="userDAO" />
                 
          </property>
          </bean>
          <!--spring代理業務層的事務管理 -->
          <bean id="userServiceProxy"  class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
                 
          <property name="transactionManager">
                        
          <ref local="transactionManager" />
                 
          </property>
                 
          <property name="transactionAttributes">
                        
          <props>
                              
          <prop key="insert*">PROPAGATION_REQUIRED</prop>
                              
          <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
                        
          </props>
                 
          </property>
                 
          <property name="target">
                        
          <ref bean="userServiceTarget" />
                 
          </property>
          </bean>

          事務代理簡寫法

           

          <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="insert*">PROPAGATION_REQUIRED</prop>
                          
          <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
                      
          </props>
                  
          </property>
              
          </bean>
              
          <bean id="userDAO" class="net.test.dao.UserDAO">
                  
          <property name="sessionFactory">
                      
          <ref local="sessionFactory" />
                  
          </property>
              
          </bean>
              
          <bean id="userServiceProxy" parent="baseTxProxy">
                  
          <property name="target">
                      
          <bean class="net.test.service.UserService">
                          
          <property name="userDAO">
                              
          <ref local="userDAO" />
                          
          </property>
                      
          </bean>
                  
          </property>
              
          </bean>

          事務自動化代理寫法

           

          <!-- 定義事務攔截器bean -->
              
          <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
                  
          <property name="transactionManager" ref="transactionManager"/>
                  
          <property name="transactionAttributes">
                      
          <props>
                          
          <prop key="insert*">PROPAGATION_REQUIRED</prop>
                          
          <prop key="update*">PROPAGATION_REQUIRED</prop>
                          
          <prop key="delete*">PROPAGATION_REQUIRED</prop>
                          
          <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
                          
          <prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>
                          
          <prop key="*">PROPAGATION_REQUIRED</prop>
                      
          </props>
                  
          </property>
              
          </bean>
              
          <!--定義BeanNameAutoProxyCreator-->
              
          <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
                  
          <property name="beanNames">
                  
          <!--
                       所有名字以DAO,Service結尾的bean,
                      將由該"bean后處理器"為其創建事務代理;
                      實際上應該在業務層進行事務管理,
                      這里只是舉一個簡單例子 
                      
          -->
                      
          <value>*DAO,*ServiceProxy</value>
                  
          </property>
                  
          <!--下面定義BeanNameAutoProxyCreator所需的事務攔截器-->
                  
          <property name="interceptorNames">
                      
          <list>
                      
          <!--可以增加其他的攔截器-->
                      
          <value>transactionInterceptor</value>
                      
          </list>
                  
          </property>
              
          </bean>
              
          <bean id="userDAO" class="net.test.dao.UserDAO">
                  
          <property name="sessionFactory">
                      
          <ref local="sessionFactory" />
                  
          </property>
              
          </bean>
              
          <bean id="userServiceProxy" class="net.test.service.UserService">
                  
          <property name="userDAO">
                      
          <ref bean="userDAO" />
                  
          </property>
              
          </bean>

          本文的討論也很精彩,瀏覽討論>>


          JavaEye推薦



          posted @ 2008-08-18 17:05 beauty9235 閱讀(1032) | 評論 (0)編輯 收藏


          作者: beauty9235  鏈接:http://beauty9235.javaeye.com/blog/229651  發表時間: 2008年06月09日

          聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

          過濾器總結
          一、Servlet過濾器的概念:

          Servlet過濾器是在Java Servlet規范2.3中定義的,它能夠對Servlet容器的請求和響應對象進行檢查和修改。   

          Servlet過濾器本身并不產生請求和響應對象,它只能提供過濾作用。Servlet過期能夠在Servlet被調用之前檢查Request對象,修改Request Header和Request內容;在Servlet被調用之后檢查Response對象,修改Response Header和Response內容。

          Servlet過期負責過濾的Web組件可以是Servlet、JSP或者HTML文件。 

           

          二、Servlet過濾器的特點:

          A.Servlet過濾器可以檢查和修改ServletRequest和ServletResponse對象
          B.Servlet過濾器可以被指定和特定的URL關聯,只有當客戶請求訪問該URL時,才會觸發過濾器
          C.Servlet過濾器可以被串聯在一起,形成管道效應,協同修改請求和響應對象

           

          三、Servlet過濾器的作用:

          A.查詢請求并作出相應的行動。
          B.阻塞請求-響應對,使其不能進一步傳遞。
          C.修改請求的頭部和數據。用戶可以提供自定義的請求。
          D.修改響應的頭部和數據。用戶可以通過提供定制的響應版本實現。
          E.與外部資源進行交互。

           

          四、Servlet過濾器的適用場合:

          A.認證過濾
          B.登錄和審核過濾
          C.圖像轉換過濾
          D.數據壓縮過濾
          E.加密過濾
          F.令牌過濾
          G.資源訪問觸發事件過濾
          H.XSL/T過濾
          I.Mime-type過濾

           

          五、Servlet過濾器接口的構成:

          所有的Servlet過濾器類都必須實現javax.servlet.Filter接口。這個接口含有3個過濾器類必須實現的方法:

          A.init(FilterConfig):
          這是Servlet過濾器的初始化方法,Servlet容器創建Servlet過濾器實例后將調用這個方法。在這個方法中可以讀取web.xml文件中Servlet過濾器的初始化參數

          B.doFilter(ServletRequest,ServletResponse,FilterChain):
          這個方法完成實際的過濾操作,當客戶請求訪問于過濾器關聯的URL時,Servlet容器將先調用過濾器的doFilter方法。FilterChain參數用于訪問后續過濾器

          B.destroy():
          Servlet容器在銷毀過濾器實例前調用該方法,這個方法中可以釋放Servlet過濾器占用的資源

           

          六、Servlet過濾器的創建步驟:

          A.實現javax.servlet.Filter接口
          B.實現init方法,讀取過濾器的初始化函數
          C.實現doFilter方法,完成對請求或過濾的響應
          D.調用FilterChain接口對象的doFilter方法,向后續的過濾器傳遞請求或響應
          E.銷毀過濾器

           

          七、Servlet過濾器對請求的過濾:

          A.Servlet容器創建一個過濾器實例
          B.過濾器實例調用init方法,讀取過濾器的初始化參數
          C.過濾器實例調用doFilter方法,根據初始化參數的值判斷該請求是否合法
          D.如果該請求不合法則阻塞該請求
          E.如果該請求合法則調用chain.doFilter方法將該請求向后續傳遞

           

          八、Servlet過濾器對響應的過濾:

          A.過濾器截獲客戶端的請求
          B.重新封裝ServletResponse,在封裝后的ServletResponse中提供用戶自定義的輸出流
          C.將請求向后續傳遞
          D.Web組件產生響應
          E.從封裝后的ServletResponse中獲取用戶自定義的輸出流
          F.將響應內容通過用戶自定義的輸出流寫入到緩沖流中
          G.在緩沖流中修改響應的內容后清空緩沖流,輸出響應內容


          九、Servlet過濾器的發布:

          A.發布Servlet過濾器時,必須在web.xml文件中加入<filter>元素和<filter-mapping>元素。

          B.<filter>元素用來定義一個過濾器:
          屬性                   含義
          filter-name    指定過濾器的名字
          filter-class    指定過濾器的類名
          init-param    為過濾器實例提供初始化參數,可以有多個

          C.<filter-mapping>元素用于將過濾器和URL關聯:
          屬性                     含義
          filter-name    指定過濾器的名字
          url-pattern    指定和過濾器關聯的URL,為"/"表示所有URL

           

          十一、Servlet過濾器使用的注意事項

          A.由于Filter、FilterConfig、FilterChain都是位于javax.servlet包下,并非HTTP包所特有的,所以其中所用到的請求、響應對象ServletRequest、ServletResponse在使用前都必須先轉換成HttpServletRequest、HttpServletResponse再進行下一步操作。

          B.在web.xml中配置Servlet和Servlet過濾器,應該先聲明過濾器元素,再聲明Servlet元素


          C.如果要在Servlet中觀察過濾器生成的日志,應該確保在server.xml的localhost對應的<host>元素中配置如下<logger>元素:
          <Logger className = "org.apache.catalina.logger.FileLogger"
          directory = "logs" prefix = "localhost_log."suffix=".txt"
          timestamp = "true"/>

          常用的過濾器實例:

          //對整站編碼的過濾
          public void doFilter(ServletRequest request, ServletResponse sresponse,FilterChain chain) {
            try{
             request.setCharacterEncoding("GBK");
             chain.doFilter(request, sresponse);
            }catch(Exception e){
             e.printStackTrace();
            }
           }
          //對用戶登陸進行驗證 
           public void doFilter(ServletRequest srequest, ServletResponse sresponse,FilterChain chain) {
            try {
             HttpServletRequest request = (HttpServletRequest) srequest;
             HttpServletResponse response = (HttpServletResponse) sresponse;
             HttpSession session = request.getSession();
             User user = (User) session.getAttribute("user");
             if (user == null) { 
               response.sendRedirect("/test/index.html"); 
             } else {
              chain.doFilter(request, response);
             }
            } catch (Exception e) {
             e.printStackTrace();
            }
           }
          //對用戶權限進行過濾 
          public void doFilter(ServletRequest srequest, ServletResponse sresponse,FilterChain chain) {
            try {
             HttpServletRequest requst = (HttpServletRequest) srequest;
             HttpServletResponse response = (HttpServletResponse) sresponse;
             HttpSession session = requst.getSession();
             User user = (User) session.getAttribute("user");
             String ad=user.getIsAdmin().toString();
             if (user == null || ad.equals("0")) { 
               response.sendRedirect("/test/main.jsp");
             } else {
              chain.doFilter(srequest, sresponse);
             }
            } catch (Exception e) {
             e.printStackTrace();
            }
           } 
          

          web.xml中的配置

          
              encodingfilter
              filter.EncodingFilter
            
            
            firstfilter
            filter.FirstFilter
            
            
            secondfilter
            filter.SecondFilter
            
            
              encodingfilter
              /*
            
            
              firstfilter
              /web/*
            
              
              secondfilter
              /web/Charge.jsp
             
          

          本文的討論也很精彩,瀏覽討論>>


          JavaEye推薦



          posted @ 2008-08-18 17:05 beauty9235 閱讀(217) | 評論 (0)編輯 收藏


          作者: beauty9235  鏈接:http://beauty9235.javaeye.com/blog/229649  發表時間: 2008年06月10日

          聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

          commons-logging和log4j總結

          簡單的說log4j就是幫助開發人員進行日志輸出管理的API類庫。它最重要的特點就

          可以配置文件靈活的設置日志信息的優先級、日志信息的輸出目的地以及日志信息的輸出格式。

          Log4j除了可以記錄程序運行日志信息外還有一重要的功能就是用來顯示調試信息。程序員經常會遇到脫離java ide環境調試程序的情況,這時大多數人會選擇使用System.out.println語句輸出某個變量值的方法進行調試。這樣會帶來一個非常麻煩的問題:一旦哪天程序員決定不要顯示這些System.out.println的東西了就只能一行行的把這些垃圾語句注釋掉。若哪天又需調試變量值,則只能再一行行去掉這些注釋恢復System.out.println語句。使用log4j可以很好的處理類似情況。

          log4j使用方法


            1、定義配置文件

             首先使用配置文件將使我們的應用程序更加靈活配置log日志輸出方式包括輸出優先級、輸出目的地、輸出格式。Log4j支持兩種配置文件格式,一種是XML格式的文件,一種是Java特性文件log4j.properties(鍵=值)。下面將介紹使用log4j.properties文件作為配置文件的方法:

            ①配置根Logger,其語法為:0

            log4j.rootLogger = [ level ] , appenderName, appenderName, …

            其中,level 是日志記錄的優先級,分為OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定義的級別。Log4j建議只使用四個級別,優先級從高到低分別是ERROR、WARN、INFO、DEBUG。通過在這里定義的級別,您可以控制到應用程序中相應級別的日志信息的開關。比如在這里定義了INFO級別,則應用程序中所有DEBUG級別的日志信息將不被打印出來。 appenderName就是指定日志信息輸出到哪個地方。可同時指定多個輸出目的地。

            ②配置日志信息輸出目的地Appender,其語法為:

            log4j.appender.appenderName = fully.qualified.name.of.appender.class
            log4j.appender.appenderName.option1 = value1
            …
            log4j.appender.appenderName.option = valueN

            其中,Log4j提供的appender有以下幾種:
            org.apache.log4j.ConsoleAppender(控制臺),
            org.apache.log4j.FileAppender(文件),
            org.apache.log4j.DailyRollingFileAppender(每天產生一個日志文件),
            org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件),
            org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方)

            ③配置日志信息的格式(布局),其語法為:

            log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
            log4j.appender.appenderName.layout.option1 = value1
            …
            log4j.appender.appenderName.layout.option = valueN

            其中,Log4j提供的layout有以下幾種:
            org.apache.log4j.HTMLLayout(以HTML表格形式布局),
            org.apache.log4j.PatternLayout(可以靈活地指定布局模式),
            org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串),
            org.apache.log4j.TTCCLayout(包含日志產生的時間、線程、類別等等信息)

            Log4J采用類似C語言中的printf函數的打印格式格式化日志信息,打印參數如下: %m 輸出代碼中指定的消息

          %n 輸出一個回車換行符,Windows平臺為“\r\n”,Unix平臺為“\n”
          %l 輸出日志事件的發生位置,包括類目名、發生的線程,以及在代碼中的行數。舉例:Testlog4.main(TestLog4.java:10)
          %c 輸出日志信息所屬的類的全名
          %d 輸出日志時間點的日期或時間,默認格式為ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },輸出類似:2002-10-18- 22:10:28
          %f 輸出日志信息所屬的類的類名
          %m 輸出代碼中指定的信息,如log(message)中的message
          %p 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL。如果是調用debug()輸出的,則為DEBUG,依此類推
          %r 輸出自應用啟動到輸出該日志信息所耗費的毫秒數
          %t 輸出產生該日志事件的線程名 
          2 .程序中如何打印出Log日志
          結合 commons-logging.jar log4j-1.2.9.jar
          Log log = LogFactory.getLog(Test.class);
          log.debug("XXXX");

          配置實例log4j.properties
          log4j.rootLogger=DEBUG, stdout,R
          log4j.appender.stdout=org.apache.log4j.ConsoleAppender
          log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
          log4j.appender.stdout.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm}]%-5p(%F:%L) - %m%n
          log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
          log4j.appender.R.File=log.txt
          log4j.appender.R.layout=org.apache.log4j.PatternLayout
          log4j.appender.R.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm}]%-5p(%F:%L) - %m%n



          本文的討論也很精彩,瀏覽討論>>


          JavaEye推薦



          posted @ 2008-08-18 17:05 beauty9235 閱讀(220) | 評論 (0)編輯 收藏


          作者: beauty9235  鏈接:http://beauty9235.javaeye.com/blog/229647  發表時間: 2008年06月19日

          聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

          就網站建設方面與廣大讀者一起探討,如網站規劃、域名選擇及軟硬件平臺對提升瀏覽率的作用問題。

          -、網站規劃及域名選擇

          網站規劃的第一步是選擇域名。域名被視為企業的網上商標,其重要性不言而喻。一般來說,注冊一個好的域名要注意以下幾點:

          1、 使用企業或機構的注冊商標名稱。如IBM、Microsoft;

          2、 使用企業或機構名稱的中、英文縮寫。如香港印藝學會域名www.gaahk.org.hk即本會英文名稱Graphic Arts Association of Hong Kong的縮寫;

          3、 與企業廣告語一致的英文內容;

          4、 域名力求簡短、便于記憶,一般以5--8個字母為佳;

          5、 注冊域名時別忘了注冊幾個與公司或商標名稱相近的保護性域名 。

          注冊域名一般是先擬訂好幾個中意的域名 ,然后到一些提供域名查詢的網站查詢該域名是否被注冊。《世界網絡》的在線測試欄目(http://www.linkwan.com.cn/gb/broadmeter/)就提供域名查詢服務。

          可供查詢的域名包括國際域名 (以.com .net .org 結尾),國內域名 (以.cn結尾)以及香港本地域名 (以.hk結尾)。如果域名已經被注冊,則會列出該域名的詳細注冊資訊;如果域名沒有被注冊,則可以直接點擊下面的鏈結進入“世界網絡”的兩岸三地的域名注冊代理機構列表中(http://www.linkwan.com/gb/broadmarket/service/vhost/),選擇合適的域名 注冊代理機構注冊。

          香港地區朋友可以訪問http://networksolutions.com網站直接注冊并用信用卡支付注冊費。國際域名 每年US$35,五年US$95。也可委托香港知名網頁儲存商Newsbook Limited 代辦, (http://www.newsbook.net),國際域名 每兩年HK$256,香港本地域名 每年HK$200,國內域名 每兩年HK$800。Newsbook Limited優惠印藝學會會員,國際域名 每兩年HK$160,國內域名 每兩年HK$500。

          網站規劃的另外一個方面就是合理規劃建站方向,確定網站類型,通常有以下幾種常見的網站類型:

          1、 產品展示型:通過分類、建立索引和搜索功能,將產品的圖片及相關文字有條理地組織起來,形成便于查尋的在線商品目錄,適用于以生產、經銷為主的企業和店面。

          2、 資訊發布型:這類網站相當于一個新聞中心,及時發布關于某一領域或行業的最新動態消息,或者綜合性新聞,一般適合較專業性的站點。

          3、 服務中心型:這類網站通常包含一個詳盡的服務說明和FAQ(常見問題解答),并通過一些交互程式完成訂單提交、在線支付、在線服務的定制和管理、軟件升級等工作,并且提供一個意見反饋視窗(在線留言或電子郵件),用來解答問題和處理用戶意見,從而形成一個友好、便捷的在線服務中心。

          4、 論壇型:針對某些話題(或課題)的討論型網站,為業內人士、專家、愛好者或普通大眾提供一個討論和發表看法的場所,例如發燒友論壇、學術論壇等。

          5、 網上商城型:這種網站實際上是產品展示型網站的擴展,在清晰而詳盡的商品目錄的基礎上,實現在線支付功能,并提供一種比較完善的訂單處理機制,以確保訂單的正確處理和貨物的投遞。與一般的企業用產品展示型網站相比,網上商城的商品數量通常龐大得多,而且一般是面向大眾的,為了能讓用戶在失去耐心之前迅速地找到想要的商品,必須建立一個強大的商品搜索引擎。

          根據建站不同的目的,我們要選擇合適的軟硬件平臺。保證訪問的穩定性和持續性是網站獲得口碑和持續提高訪問量的前提。不同網站的類型可以考慮不同軟硬件平臺,以期獲得最大的性價比。

          二、軟件平臺的選擇

          網站軟件平臺的選擇主要是在網站功能需求和費用之間尋求最大的性價比。根據網站功能的規劃,我們可以在作業系統、動態頁面技術、資料庫系統等幾個方面做出選擇。

          目前普通網站的伺服器作業系統以微軟的Windows系統和Linux占大多數。Windows優點是操作簡便,為大家熟知,配置和管理伺服器容易上手,但是費用較貴,而且需要的硬件配置也較Linux要求高。Linux最大的優點是其全免費而且可供配套的免費軟件豐富,缺點是操作復雜,需要專門的技術人員維護。 讀者可以根據網站建設目標規劃和財務預算作合理選擇。如果有相關技術人員,可以考慮使用Linux系統,配合php或jsp動態網頁技術和MySQL資料庫系統。

          當然,對于大多數企業來說,以Windows系統作為網站伺服器,可以降低維護成本和更新難度。如果目標是“產品展示型”網站,只需采用靜態頁面網站。不用使用動態網頁技術,頁面制作簡單。如果需要制作“資訊發布型”或“服務中心型”網站,則可以適當使用動態網頁技術(ASP技術)和微軟office中的小型資料庫系統Access即可實現。如果考慮“論壇型”和“網上商城型”網站,則建議使用一些大型的資料庫如微軟的SQL Server或甲骨文的Oracle資料庫,以提供穩定的服務和支撐大的訪問量和資料處理需求。

          在軟件平臺的建設方面還需要考慮到系統的安全性,所以伺服器系統一定要注意安裝防毒軟件并定期升級系統及安裝(Service Pack)補丁程式,以防止黑客利用系統的漏洞入侵網站。

          軟件平臺根據印刷行業特別的需求,可能需要一些特別的網絡技術支援。如Web FTP,用于交收印刷產品電子文檔,香港的匯能印藝 www.artechgraphics.com.hk 已經有實際應用。另外,企業為降低伺服器成本,利用現有動態IP(互聯網絡通訊協定)寬帶上網的電腦充當伺服器作為FTP(檔案傳送協定)伺服器供客戶傳送印刷文檔,可以考慮使用動態域名 技術,該技術是將一個特定的域名 和您電腦當前的IP做對應,每當您的電腦在線,就會定時刷新域名 所對應的IP,使得訪問該域名 的用戶都能轉向到當前您的電腦所使用的IP。DNS2Go就是利用這項技術提供服務的網站之一。讀者有興趣可以訪問世界網絡(http://www.linkwan.com/gb/broadtech/article/dns2go.htm)了解詳細的使用方法。

          三、硬件平臺的選擇

          網站硬件平臺的選擇很大程度上決定了網站能夠提供服務的能力和穩定性。所以選擇硬件平臺之前可以根據網站的規劃目標預測一下訪問者的流量,以及考慮所選擇的軟件平臺的系統負荷合理選擇硬件平臺。

          目前可供選擇的硬件平臺方式大致有以下幾種:虛擬主機、伺服器租用、自購品牌伺服器托管、DIY組裝伺服器托管、租用專線自建機房。

          1. 虛擬主機

          采用這種方式適應于預期訪問量不是很大,頁面多為靜態頁面,系統負荷較小的網站。此方式租用費最為低廉,且無需維護知識,維護成本低,適合小型的網站采用。目前兩岸三地有很多虛擬主機商提供此項服務,有興趣的讀者可以到http://www.linkwan.com/gb/broadmarket/service/vhost/查詢,香港地區的用戶推薦Newsbook Limited (http://www.newsbook.net),印藝學會會員享受八折優惠。

          2. 伺服器租用

          包括伺服器租用連托管服務計劃。一般無須購買硬件(伺服器)的費用,月費只需HK$1300左右(價格視乎伺服器配置而定)。伺服器性能可滿足一般的需求,特別適合印刷廠作網站及設置FTP伺服器。由于租用伺服器連托管,公司技術人員不必有對伺服器有太專業知識,此方案最實用,廣受歡迎。

          3. 自買品牌伺服器托管

          選擇1U/2U品牌廠機伺服器,對于企業用戶來說是不失為最快捷穩當做法。品牌伺服器可選擇IBM、HP、SUN、DELL等。品牌伺服器質量有保證,而且售后服務周到。相比伺服器租用,雖然前期要投入購置費用,但是月托管費用較低,適合需求穩定、伺服器長時間運作的企業網站。

          4. DIY組裝伺服器托管

          此方式適合具備一定硬件技術人員的企業。性價比對購買品牌伺服器來說占很大優勢。當前推介配置Intel S875WP1-E主板,P4 3.2G(800 FSB) CPU,1G DDR400 RAM,WD36DG一萬轉36G SATA硬碟,連1U機箱,總價格約HK$8,800。文件吞吐率270Mbps左右,整數和浮點性能都達到較高的水準。選用優質機箱配合強風量(CFM) CPU散熱風扇、小型鼓風機(BLOWER),上述配置CPU溫度idle溫度 32度 ,full loading 溫度58度,完全滿足長期運轉的需要。有興趣讀者可以聯系本文作者,探討經驗。

          5. 租用專線自建機房

          此方式適合有一定技術實力和經濟實力的大型企業。通常租用寬頻服務供應商提供的專用數據線路,在自身辦公地點建立數據中心(機房),對內提供企業自身IT服務,對外提供網站服務,郵件服務以及FTP等。

          以上幾種方式在硬件安全性方面,無論是托管環境還是自建機房一定要具備溫度調節、濕度調節裝備以及斷電保護裝置(USP),以確保穩定性以及資料安全。

          下面介紹一些對硬件網絡服務性能進行測試的一些軟件,希望能夠幫助讀者分析伺服器硬件是否滿足性能要求。

          NETMECHANIC.COM伺服器測試,此網站提供伺服器性能測試(Server Check)的免費服務。您只需將要測試的網站的域名 以及您的Email地址填寫提交,netmechanic.com的伺服器即會在以后的8小時內每隔15分鐘監測您指定網站的伺服器。并在8小時以后將檢測結果發送到您指定的Email地址。可以到http://www.linkwan.com/gb/broadmeter/htmltest/netmechanic.htm參看說明提交測試。本測試僅提供作本地網站相對參考比較,因為測試是由美國發起,對于測試香港或內地的速度可能與當地訪問差別很大。

          還有一些在伺服器安裝的伺服器性能測試工具,以動態頁面技術制作,安裝在被測試的伺服器web伺服器上即可測試。Windows系統推薦使用“阿江ASP探針”(演示>>),此工具可以探測伺服器基本資訊;伺服器元件支援情況;伺服器硬盤訊息;當前文件夾資訊;伺服器腳本解釋和執行速度。Linux系統下推薦使用C1G的PHP探針,可以進行PHP web伺服器的特性、PHP基本特性、元件支援狀況、伺服器性能檢測等測試。另有一款可以在遠端電腦上安裝的監視伺服器狀態的軟件sMonitor 3.08,此軟件可以在您的PC連接上網際網絡后,不斷地經常監視伺服器主機網絡狀況,包括監視檢查Ping、FTP、HTTP、SMTP、POP3、DNS等伺服器主機。sMonitor 3.08可以測試和監視伺服器的穩定度。這三個軟件均可以到http://www.linkwan.com/gb/download/下載,套裝軟件包括相關的使用說明和作者資訊。

          四、網絡拓撲(Topology)位置的選擇

          不論是虛擬空間或托管伺服器,都要選擇放置在好的網絡拓撲位置,以發揮其功效。簡單來說就是選擇好的資料中心非常重要。如何對數據中心的性能做評測呢?下面介紹幾點供讀者參考。

          1. 收集資料,了解數據中心出口帶寬。

          這些資料可以幫助我們根據網站的預期訪問者情況選擇合適的數據中心地理位置。目前“世界網絡”網站中有內地、香港、臺灣等地的相關資料,讀者可以參考(http://www.linkwan.com/gb/broadmarket/)。 香港的內部交換帶寬可以看http://www.linkwan.com/gb/broadmarket/bandwidth/hkinteral.htm,香港的國際專用線路容量可以看http://www.linkwan.com/gb/broadmarket/bandwidth/hkoversea.htm等等。香港有五大寬頻上網ISP,分別是網上行 www.netvigator.com、和記環球電訊 www.hgc.com.hk、有線寬頻 www.i-cable.com、香港寬頻 www.hkbn.net和So-net www.so-net.com.hk ,就香港本地應用速度來看,速度相差不遠,有線寬頻速度略好。就海外的上網速度而言,網上行占盡優勢。

          香港網絡骨干主要是用電訊盈科與和記環球電訊網絡。近年來香港海外出口接駁商不斷增加,例:新加坡電訊、NTT、MCI,但目前海外出口仍以恒通Reach 、和記環球電訊為主流。寬頻連線速度主要取決網絡骨干品質和連接HKIX、海外出口流量、ISP伺服器等條件。在瀏覽中國大陸網站及交收電子檔案方面,網上行有明顯優勢,香港寬頻則有時瀏覽中國大陸網站則有時不暢順(其原因是要經由美國才連接到中國大陸網站)。

          內地方面,2003年底計中國國際出口帶寬的總容量為27,689M (大部份是中國電信擁有),讀者可以到“世界網絡”參看最新帶寬圖(http://www.linkwan.com/gb/broadmarket/bandwidth/cnnic.htm),至臺灣2.13G 、至香港 4.672G 、至澳門45M 以及至美國13.997G。雖然近年來網通、聯通、長城寬帶、鐵通均有數據中心,收費也較便宜,但如希望較好出口帶寬的話還是選中國電信系統資料中心為宜。

          臺灣地區出口以美國為主,近年兩岸三地交流/貿易增長多,頻寬也不斷增加。當地數據中心對虛擬空間和伺服器托管收費較貴,提供本地線路網絡服務的網絡公司也不多。 如有需要在臺灣找虛擬空間或伺服器托管,其中一間戰國策www.hotels.com.tw 收費及速度還可以。

          2. 通過一些顯示路由和測試速度的軟件比較

          利用軟件方法測試各數據中心的實際速度不失為客觀評價資料中心優劣的一個重要手段。下面介紹幾個適用的軟件方法供讀者參考。

          最簡單使用的工具莫過于使用Ping測試資料中心的反應速度。Ping是測試網絡聯接狀況以及資訊包發送和接收狀況非常有用的工具,是網絡測試最常用的命令。Ping向目標伺服器(位址)發送一個回送請求資料包,要求目標伺服器收到請求后給予答復,從而判斷網絡的回應時間。詳細使用方法及技巧可以參看http://www.linkwan.com/gb/broadmeter/article/pinghelp.htm。

          “世界網絡”已與美國Fortel公司達成協定,成為該公司VisualRoute路由軟件在亞太地區的測試點。已在北京、臺北、香港、上海四地建立了一整套路由測試系統(http://www.linkwan.com/vrhk/)。該軟件可以清晰顯示例如從北京、臺北、香港、上海等地到您想訪問的網址,路由線路并用圖形的形式表現出來,可以清晰看到訪問路徑,以此也可以對一個數據中心的路由情況做一個直觀了解。

          此外,“世界網絡”的速度測試也是一個比較各地連線速度的好工具。目前該網站收集了1000多個速度測試點的資訊,其中不乏虛擬主機或托管提供商的測試點。讀者可以到http://www.linkwan.com/gb/broadmeter/SpeedAuto/,自己親自測試一下到各地的連線速度,為選擇一個好的數據中心做比較。

          要測試至香港的連線速度,讀者可到電訊盈科http://home.netvigator.com/~cfs05/ 或世界網絡 http://www.linkwan.com/gb/broadmeter/SpeedAuto/default.asp?keyword=香港 進行速度測試。

          總而言之,一個好的域名 應有較強的標示性、易懂易記,并與網站內容相符,會為提升瀏覽率奠下基礎;同時,一個切合實際的、優秀的軟硬件平臺和網絡方案將為資訊的流通建立可靠平臺。


          本文的討論也很精彩,瀏覽討論>>


          JavaEye推薦



          posted @ 2008-08-18 17:05 beauty9235 閱讀(346) | 評論 (0)編輯 收藏


          作者: beauty9235  鏈接:http://beauty9235.javaeye.com/blog/229643  發表時間: 2008年06月19日

          聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

          建立網站的目的雖各有不同,但小至個人主頁,大至世界頂尖產品制造商的網站,都有一個共同的目的-那就是希望有大量的人來瀏覽自己的網站。商業網站在設立時更是謹慎考慮,如:怎樣方便客戶隨時隨地查閱新產品的資料;怎樣讓潛在的客戶更容易地找到自己的網站等等。中國有句老話“酒香也怕巷子深”,在數以億計、浩如芐海的Internet潮中,如何令自己的網站異軍突起?如何以最低的成本做到最大的效果?網絡推廣一直是業界關心最多、議論最多的話題之一。

          網絡推廣的目的是使網站的瀏覽率不斷提升,瀏覽率是網站廣告收費的重要依據,也是評估網站價值的重要依據之一。而瀏覽率的80%-90%來自於網站在各大搜索引擎中的排名,一般來講排名在20名之外的網站被訪問到的概率將大大下降,排名在100名之外的網站將鮮有人問津。於是,我們總是想讓自己的網站信息優先出現在搜索結果中,以便吸引更多訪問者。也便有了專門的顧問公司幫客戶進行網絡推廣服務,以提高在搜索引擎中的排位。

          一直以來,人們關注的焦點是某一特定網站在各大搜索引擎中(如Google、Yahoo!、AltaVista、MSN等)的排位問題,但這一排位是基於關鍵字(Keywords)搜索結果的,由於關鍵字選用上的隨意性或文化差異因素,往往導致搜索結果和排位的不同,而且各個搜索引擎的排位規則、更新周期和收錄的URL不盡相同,缺乏一個評價指標來對一個網站的世界排名進行綜合評估,這時便需要參考Alexa所提供的網站瀏覽率及網站世界排名數據。

          網站世界排名權威-Alexa

          Alexa(www.alexa.com)是一家專門發布網站世界排名的網站。以搜索引擎起家的Alexa創建於1996年4月,目的是讓互聯網網友在分享虛擬世界資源的同時,更多地參與互聯網資源的組織。2002年5月Alexa放棄了自己的搜索引擎轉而與Google合作。Alexa每天在網上搜集超過1,000GB的信息,然后進行整合發布,現在他搜集的URL數量已經超過了Google。下圖是他們自己給出的一個信息量比較圖。縱軸為已有的URL地址數量,以十億為單位。也就是說在量上,Alexa位居世界四大搜索引擎第一位,已超過35億。

          雖然Alexa的搜索引擎很好用,但是網站瀏覽率統計和世界排名卻是它最吸引人的地方,Alexa不僅給出多達幾十億的網址鏈接,而且為其中的每一個網站進行了排名。可以說,Alexa是當前擁有URL數量最龐大,排名信息發布最詳盡的網站。

          Alexa的網站世界排名主要分兩種:綜合排名和分類排名。綜合排名也叫絕對排名,即特定的一個網站在所有網站中的名次。Alexa每三個月公布一次新的網站綜合排名。此排名的依據是用戶鏈接數(Users Reach)和頁面瀏覽數(Page Views)三個月累積的幾何平均值。如當前世界排名最靠前的網站:雅虎(www.yahoo.com)高居榜首(每日Internet用戶中每百萬人平均有308,000人會訪問雅虎),MSN(www.msn.com)緊跟其后,第五名是最有名的搜索引擎Google(www.google.com)等。

          Alexa分類排名,一是按主題分類,比如新聞、娛樂、購物等,Alexa給出某個特定網站在同一類網站中的名次。Alexa將其收集到的網站共分了16個大類,每個類下又分為多個主題。二是按語言分類,目前共分21種語言,比如英文網站、中文網站等,給出特定站點在所有此類語言網站中的名次,其中中文網站分成簡體和繁體兩種來統計。對於中文網站的排名,目前只發布排在前100名的網站名單。兩岸三地一些著名中文網站當前的世界排名情況如下。

          新浪www.sina.com.cn 7名

          網易www.163.com 11名

          搜狐www.sohu.com 12名

          Tom.com www.tom.com 17名

          HiNet www.hinet.net 43名

          網路家庭www.pchome.com.tw 56名

          番薯藤www.yam.com 115名

          澳門彩票www.macauslot.com 208名

          聯合早報www.zaobao.com 234名

          鳳凰衛視www.phoenixtv.com 287名

          網上行www.netvigator.com 358名

          MSN 香港www.msn.com.hk 442名

          Alexa工具條及Alexa使用詳解

          Alexa的瀏覽率統計是根據用戶安裝Alexa工具條(Alexa Toolbar)的信息反饋及參考IP來源的區域分布作基數綜合統計來排名。如果IE中嵌入了Alexa工具條,那么每訪問一個網站,其綜合排名就會顯示出來。我們可到下列地址下載Alexa工具條:http://download.alexa.com/alexa7/startpage.html?p=TrafficDet_W_t_40_B2

          以世界網絡(www.linkwan.com)為例,顯示其綜合排名為6,014(2004年2月3日數據,下同)。

          如果通過Alexa查看一個網站,首先看到的就是該網站的綜合排名,并且配有當日網站首頁截圖,和網站內容的簡單文字說明。Alexa還會根據網民對網站的評論,在綜合排名信息中,用"星"來給網站評一個等級,最高為"5星"。

          Alexa將綜合排名500強網站在自己網站上強力推薦。每個通過Alexa訪問的網站,Alexa首先給出了有關該網站的信息:綜合排名、相關網站鏈接、網站基本情況、聯系方式、關於該網站的評論等。如以下是linkwan.com站點的信息:

          上圖顯示了網友最多從哪些站點訪問到該站,下圖顯示了該站的基本情況。

          通過網頁上的鏈接"See Traffic Details",可以查看到有關該網站瀏覽率的詳細統計數據和圖表。以世界網絡(http://www.linkwan.com)為例,除了網站綜合排名簡介外,還有如下信息:

          1.距當日最近的前3個月、前6個月、一年和二年的訪問量排名數據。下圖為linkwan.com自2004年2月3日上溯6個月來的訪問量排名走勢圖:

          由上圖可見,linkwan.com的訪問量排名總體呈上升趨勢,連續2個多月排名在6000名左右。

          2.綜合排名統計表,包括:今日排名、1周前排名、3個月前排名,以及與上一季度比較排名是上升還是下降。以下是linkwan.com的綜合排名。

          3.當日訪問用戶數、一周前每日平均訪問用戶數、前三個月的每日平均訪問用戶數(每百萬人為單位)和當日、前一周、前三個月按訪問用戶數的排名,以及3個月來這些數量的變化。如下圖所示:

          4.每個用戶平均瀏覽頁面數,分為:當日、前一周、前3個月分別統計。

          除此之外,還有按被訪頁面數的排名,3個月來頁面瀏覽量和以此為排名的名次兩項變化。

          既然Alexa世界排名能提供如此詳盡的瀏覽率及世界排名信息,大家如果想在自己網站公開自己Alexa世界排名,可安裝上Alexa按鍵吧!因此就把Alexa排名按鍵為各位介紹一下(安裝此按鍵不影響世界排名)。

          排名按鍵可顯示網站的排名。如世界網絡(http://www.linkwan.com)的排名為6,014位,一般顯示的排名是兩天前的排名。如果希望顯示你的網站的排名信息,只需將代碼中紅色文字(網址)部分替換成你的網站地址,并放在網站相應的位置即可。

          各位可在下列地址:http://www.alexa.com/site/site_stats/signup詳細了解Alexa按鍵的相關信息。

          提升網站的瀏覽率

          如此大量的網站地址,如此詳盡的數據和統計,確立了Alexa的網站世界排名的權威。Alexa給出的排名無疑吊起眾多與網站密切相關者的胃口。人們難免會思考:為什么我們的網站排在他們的之后?怎樣才能排得靠前一些?怎樣才能提升網站的瀏覽率?也有人會問:這個排名科學嗎?公正嗎?為此,我們有必要了解一下Alexa的瀏覽率統計和排名機制。

          一.Alexa瀏覽率統計和排名的先決條件

          Alexa的網站排名是按照每個特定網站的被瀏覽率進行排名的。瀏覽率越大,排名越靠前。

          瀏覽率是針對定義在域上的網站進行統計的。如:www.sina.com.cn、news.sina.com.cn 和tech.sina.com.cn將被視作同一網站進行計數,因為它們同屬於sina.com.cn這個域。但是也有例外,如個人主頁,如果系統能夠自動從URL地址分辨的話,將被視為彼此獨立的網站。

          提供同樣內容的網站將被視為同一網站計算。比如,大中華印藝網使用www.cgan.com和www.cgan.org兩個域名發布同樣的內容,那么將被作為同一個網站來計算。

          納入統計的訪問量僅來自使用Alexa工具欄(Alexa Toolbar)的用戶。也就是說,只有用戶下載了Alexa工具欄,并將其嵌入自己的瀏覽器。這樣,該用戶訪問某個網站的話,訪問的記錄才能算作被訪問網站的訪問量。據Alexa統計,現在使用該工具欄的用戶達數百萬。

          Alexa工具欄僅在windows操作系統下,Internet Explorer瀏覽器中使用有效,使用其它操作系統或者瀏覽器的訪問將不能被計數。

          遇到有安全保護或加密的站點,Alexa工具欄將自動關閉,因此那些安全系數高的網站,Alexa將不能對其進行搜索和統計排名。

          二.Alexa瀏覽率算法

          某個特定網站被排名時,依據的瀏覽率數據是基於該網站3個月訪問量記錄的累積。也就是說Alexa每三個月發布一次排名結果,即通常說的名次。它的計算主要取決於訪問用戶數(Users Reach)和頁面瀏覽數(Page Views)。Alexa系統每天對每個網站的訪問用戶數和頁面瀏覽數進行統計,通過這兩個量的三個月累積值的幾何平均得出當前名次。

          訪問用戶數(Users Reach)指通過Internet訪問某個特定網站的人數。用訪問某個特定網站的人數占所有Internet用戶數的比例來表示。即:訪問用戶數=(訪問人數/全部Alexa用戶數)x 100%,Alexa以每百萬人作為計數單位。以世界網絡(linkwan.com)為例,如果它的訪問用戶數為2%的話,就是說,隨意抽取一百萬的Internet用戶,其中有20,000人訪問世界網絡。

          頁面瀏覽數(Page Views)是指用戶訪問了某個特定網站的多少個頁面。是所有訪問該網站的用戶瀏覽的頁面數之和。每個用戶瀏覽的頁面數取平均值,是所有訪問該網站的用戶每天每人瀏覽的獨立頁面數的平均。同一人、同一天、對同一頁面的多次瀏覽只記一次。

          三.影響Alexa排名的其他因素

          Alexa Toolbar的采用率在全球各地有所差異,受用戶的語言、地域、文化等各方面的影響。因此英文網站相對於其它語言的網站,訪問量數據更容易被充分地統計。

          容易受網站對自己宣傳的程度、做廣告的多少、別的網站為其建立鏈接的多少的影響。

          排名的網站最好主動將自己的URL地址添加到Alexa中,否則訪問量的統計會受到影響,而且Alexa不提供這些網站訪問量的詳細統計。

          瀏覽率太小的網站統計數字可能不準確,總體上排名越靠前(瀏覽率越大)的網站統計數字就越可靠。一般來說,月訪問量1000以下或排名100,000以后的網站統計數字是不準確的。 可以肯定,任何的計算方法都不完美,所以我們也無法評述Alexa排名的公正性和科學性。但既然Alexa將相關統計信息通過Internet全球公開發布,大家又都用Alexa的統計作為標桿,從中國到世界各國權威的新聞媒體在討論一個著名網站的規模時,莫不以Alexa為標準。世界上也沒有第二個像Alexa那樣的網站不需要你在網頁中插入他的代碼等等來計算排名,他對全世界所有網站一視同仁,我們就姑且相信其專業性和權威性。

          最重要的是,您是否找到了提升自己網站瀏覽率和使排名靠前的方法?希望通過以上的介紹,對大家有所啟發。當然,并不是通過對Alexa的了解和相關工具的使用,就可以保證網站瀏覽率和排名的提升,瀏覽率也與網站的品牌、規模和內容、專業程度、網頁質量、服務器等很多因素相關,后將繼續為大家介紹。


          本文的討論也很精彩,瀏覽討論>>


          JavaEye推薦



          posted @ 2008-08-18 17:04 beauty9235 閱讀(145) | 評論 (0)編輯 收藏


          作者: beauty9235  鏈接:http://beauty9235.javaeye.com/blog/229641  發表時間: 2008年06月19日

          聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

          企業建站還需要考慮諸如規劃網站內容、網絡應用,以及如何改進,甚至變革企業的經營管理模式以適應隨之而來的網絡經濟浪潮等問題。

          目前,全世界的網站總數已超過了6,000萬個,其中也包括了數以萬計的印刷類網站,并且還在不斷地增加。因此,搜索引擎對于那些在互聯網上尋找信息的人們已經變得越來越重要了。如何使自己的網站脫穎而出,并取得成效,關鍵是提升網站的知名度和瀏覽率,而對網站內容進行詳細規劃和網絡應用則是提高網站瀏覽率的重要途徑。企業網站就如同企業在網上的產品櫥窗,一是要讓你的網站很容易被找到;二是要讓感興趣的潛在客戶不虛此行,找到有用的資料和得到想要的服務。

          從最新的網絡統計分析報告中得知,網站訪問率的78%來自于搜索引擎,而網站在搜索引擎中的排位與網站的內容有很大的關系。本期筆者將就網站內容規劃、網絡應用以及提高搜索引擎排名的一些小技巧談談自己的經驗所得。

          一.網站內容規劃

          1.網站內容的組織原則

          網站內容的組織并不是現成的企業簡介和產品目錄的翻版。筆者就見過很多企業的網站并沒有很好地組織網站的內容,這恰好也是這些網站訪問量低的一個重要原因。

          知己知彼,百戰不殆。建站之初,你必須花點力氣,通過搜索引擎找出同類網站排名前20位的名單,逐個訪問名單上所有的網站,然后做一個簡單的表格,列出你認為是競爭對手的企業名稱、所在地、產品搜述、產品價格、網站特點等等,從中找出你的產品優于或不同于其他競爭對手產品的優點或特色;同時,你也應該清楚地認識到自己產品的不足之處,思考如何改進使產品更具競爭力,并制定出如何改進的方案。這實際上也是一個企業找出如何與網絡相結合的經營策略,以適應日益競爭的國際化市場。

          在充分了解了網上競爭對手的情況并研究了他們的產品和網頁的基礎后,你就可以集眾家之所長,參照以下內容組織原則,制訂出更能體現產品特點的網頁內容。

          網站內容的組織原則:

          清晰性:網站內容必須簡潔明暸,直奔主題,非常有效地講清楚你想說的內容。

          創造性:你的觀點會使訪問者產生共鳴,發出內心的認同嗎?這是訪問者判斷一間公司是否有實力,從而影響到購買動機的重要依據。

          突出三個重點:

          突出你的產品的優點和與眾不同的特色;

          突出幫助訪問者辨別、判斷同類產品優劣方面的內容;

          突出內容的無庸置疑的正確性。

          2.網站內容的組織方法-欄目設置

          網站內容組織或取舍的方法是將網站想象成企業的產品陳列室,如果你是推銷員,那么你將如何向客戶推銷你的產品嗎?

          A.首先問自己三個問題

          訪問者訪問我的網站的目的是甚么?

          從網上獲取資訊始終是訪問者的主要目的之一。因此你的網站內容必須提供和你的產品或服務相關的豐富資訊。以專業角度去描述產品的規格和性能,和同類產品或服務相比較,告訴訪問者各自的優點之處及不同特點,幫助訪問者做出最好的選擇。

          訪問者為甚么要經常訪問我的網站?

          一般情況下,訪問者要在訪問你的網站4-5次后,才會有實質性的購買行動。因此,你的網站要讓他們覺得值得回訪。不斷更新你的產品或服務資訊,不斷力上你認為會吸引訪問者的內容,加深良好印象,會使你的潛在客戶回訪網站。

          訪問者在眾多的同類產品或服務中,為甚么會選擇我的產品或服務?

          詳細描述你產品或服務的特點,給出確鑿的資料。如果你的產品或服務沒有特色,那么潛在客戶購買你的產品或服務的動機將會大大降低。

          認真地回答以上三個問題,就可以清楚地知道自己的產品有哪些優勢,并在內容組織及欄目設置中盡量體現。

          B.按重要程度列出答案所需的內容、資料,有時還需要圖示或加入產品圖片。如果有必要,將上述問題整理成問卷,分發給同事、客戶、朋友去做。

          C.將他們的答案分門別類的整理出來,再根據上述"網站內容的組織原則"重新取舍,并盡可能地提出共性的東西,這樣需要哪些欄目和內容就很清楚了。如有需要,提請有關部門提供欄目所需的內容和資料。

          D.網站欄目的設置一定要突出重要,方便用戶。網站欄目的實質是一個網站內容的大綱索引,就好比一本書的目錄,集中了各個章節的名稱及頁碼,索引應該引導瀏覽者尋找網站里最主要有用的東西。在設置欄目時,要仔細考慮內容的輕重緩急,合理安排,突出重點。

          值得一提的是筆者見過太多的網站只是說自己的產品最好、規模最大等等,卻找不出任何支持其說法的資料;也有很多網站經常說自己的產品或服務最好,價格又最低,卻沒有實例來證明。以筆者的經驗來看,網站推薦產品的手法大致可分為兩類:第一,以優良的品質取勝,最好的產品或服務往往需要最好的生產工藝、原材料和人力投入,而這些將大大增加產品的成本,也提高了產品的價格,但推薦者要令客人明白這是值得的,因為高價保證了產品有一定的品質。第二,網站可以以價廉物美的手法來推銷,通過大規模或特殊的生產方式以達致產品質優價廉,從而增加客人對產品的吸引力和信心。

          二.關鍵字和鏈結

          1.關鍵字

          在制作網頁之前(不是在制作好網頁之后),確定你的關鍵字。首先列出前十強競爭對手的關鍵字和鏈結伙伴,分析他們的首頁設置和內容,然后制定出趕超他們的方案,然后以最重要的25個左右的關鍵字為基本元素來組織你的網頁內容,包括:

          網頁媒介標簽META的應用

          大部分搜索引擎例如Alta Vista是以正文的頭幾百個字與標題(Title)、頁面描述(Description)和關鍵字(Keywords)的符合程度來決定網頁的搜索結果排位,而Excit、Yahoo是純粹以搜索的關鍵字與正文的相關程度及在正文中的重復頻率來決定搜索結果的排位。

          META標簽(metatag)的作用是提供有關HTML文檔資訊,它所包含的內容并不出現在網頁上。有很多網頁制作者很少注意這個標簽,因為它并沒有影響網頁的外觀。META最大的作用就是提供搜索引擎關于本站的描述關建字。簡單地說,當搜索引擎搜索到你的網站時,會首先檢查META所描述的關鍵字,然后把這些關鍵字加入到資料庫中。所以適當地利用META標簽會讓你在搜索引擎中被搜索到的機會大大增加。

           

          META標簽的用法是這樣的:

          <metaname="Keywords"CONTENT="關鍵字,關鍵字,關鍵字">

          在CONTENT處,你盡可能把熱門的關鍵字列在這里。比如與印刷相關的網站,放入"Print(印刷)"。這還有個技巧,你可以重復某一個關鍵字,這樣可以提高自己網站的排行位置,如:

          <metaname="Keywords"CONTENT="print,print,print,...>下面,讓我們以全球最著名的搜索引擎-雅虎(http://cn.yahoo.com/)為例,在搜索框中輸入"印刷"關鍵字,搜索結果中排名最前兩位的是"慧聰網印刷行業頻道"和"中國印刷市場",用瀏覽器工具欄中的"查看一原始檔案"看看這些排名最前的競爭對手是如何使用META標簽的。

          "中國印刷市場"的META標簽:

          <title>中國印刷市場/印刷包裝企業大全:印刷廠/包裝廠/印刷機/包裝機械/印刷技術/包裝技術/印刷材料/包裝材料/網上印刷報價<title>

          <meta http-equiv="Content-Type"content="text/html;charset=gb2312">

          <meta name="KEYWORDS"content="中國印刷市場,印刷公司,印刷設備廠商,印刷院校,China print market,印刷相關法律,印刷社會團體,印刷網站,印刷雜志">

          <meta name="DESCRIPTION"content="全面介紹中國印刷市場業界行情,中國印刷企業名錄,印刷設備廠商,印刷材料供應,印刷市場供需,印刷網上報價,印刷技術報道,印刷專業院校,印刷相關法律,印刷社會團體,印刷網站介紹,印刷專業期刊雜志等,為中國印刷及相關產業提供全方位的服務。">

          可以看出,在其13個關鍵字中,竟然包含了12個"印刷",另外一個關鍵字也有英文的印刷單詞(China print market),如此多的關鍵字設計,當然會有好的搜索引擎排位。反之,讓我們再看看3-5位的META標簽,居然3個網站都沒有使用keywords和description標簽。相信如果使用META標簽后,其網站排位應會有所提升。

          在不影響內容的前提下,在網頁內容中盡可能多些重復這些關鍵字。

          由于現在新的搜索引擎(如Google、Alexa)不再關注META標筮了,可能是認為那是個騙局,所以機器人(或稱"網絡爬蟲",一種仿照人類瀏覽網頁行為設計的程式,隨時隨地游走于網絡之間,可以自行進入網站讀取網頁資訊的軟體)避開了META標簽,只是來掃描你的網頁,并把出現最多的詞作為關鍵字,或者把網頁頂部的詞作為關鍵字。這樣,META失去了作用,那么怎么辦呢?其實,這沒有問題,"道高一尺,魔高一丈",我們還有更多的方法"欺騙"機器人。

          你可以把熱門的關鍵字放到網頁開始的地方。一般的做法是將網站的欄目功能表放在首頁,因為這些欄目名稱包含了反映網站主要內容的關鍵字(記得使用文本方式,有些網頁設計者為了美化外觀就把欄自功能表設計成圖片,這樣搜索引擎就讀不到了)。這樣機器人就能看到很多關鍵字了。我們也可以設法把關鍵字隱藏到網頁面,怎樣做?很簡單,把關鍵字與背景顏色弄成一致就可以了。

          還有一個更好的方法,專門制作一個網頁,把你知道的關鍵字全部放在這個網頁上,想怎么放就怎么放,因為這一頁只是給機器人看的,你可以利用以上方法設置關鍵字。要記住,你還要做一個鏈結,將這一關鍵字頁連接到你的網站,這樣做的目的是你可以盡可能提供機器人最全面,最好,最熱的關鍵字,而這一頁是沒有人看到的,只是讓機器人知道這些關鍵字與網站有關。

          2.鏈結

          鏈結交換被許多網站利用,但即使用了鏈結,也并沒有帶來更多的訪客,原因何在呢?

          首先,讓我們來看第一種鏈結-友情鏈結,這是目前使用最多的鏈結交換。許多站點互相交換著LOGO(甚至還有聯盟呢!),但可惜的是有些鏈結并沒有起到太大的作用。所以,很多站點提出了條件。第一,訪問量相當;第二,首頁交換。以筆者的經驗,當與一個站點交換鏈結時,要注意對方把我的LOGO放到了友情鏈結的那一頁或是首頁。專門的友情鏈結那一頁包含了許多其他的鏈結交換,在眾多的交換LOGO中很少會有人會注意到你,并且很少會有人訪問友情鏈結頁。一般來說,友情鏈結頁是給機器人讀的,要想通過鏈結交換帶來訪客,還得遵從上面兩個條件:首頁交換和訪問量相當。

          接下來,第二種就是所謂的商業鏈結交換了。提供這種服務的交換商有很多,國內的,國外的,交換的規則很簡單,表面上是很公平的,至少我還沒有發現問題,所姈也沒有更多的技巧給你,只是提醒你,選擇一個熱門的鏈結交換商,這是個很簡單的技巧,但并沒有多少人注意。值得一提的是,鏈結交換并不會帶來直接的訪問量,但可以提高網站的搜索引擎排名。因為,多數搜索引擎規則中認為,你被鏈結的次數越多,就證明你的網站越知名,越受人歡迎,網站排位自然會被推前。所以,交換鏈結時千萬記得檢查別人是否回鏈到你的網站。

          三.網絡應用

          網站猶如企業門戶,除了具有企業形象視窗、產品宣傳和通訊聯絡功能外,網站還可以提供許多其他的網絡應用。從廣告發布,生意招攬到網上報價;從檔案收發、看樣校對到遠端備份;從物料采購,外發加工到送貨收款,網絡應用正日益發展壯大,無處不及。

          盡管本文探討的主題是如何通過網站內容的組織規劃來提升網站的瀏覽率,非網絡應用專文,但廣義說網絡應用也是網站內容的一部分。現今網絡界精英們也紛紛意識到從"內容為主"轉向"應用為主",此乃網絡發展最新趨勢,印刷人應及早準備。因此,筆者就目前印刷企業網站可實施的一些基本可行的網絡應用作一簡要介紹,以期拋磚引玉,引起印刷同人的注意,積極探討和實踐網絡技術在印刷界的應用,爭取更多商機。

          1.清楚的操作介面及網頁內容查詢功能

          一個好的網站必須要有良好的操作介面,能使瀏覽者在最短時間進入要想去瀏覽的區域。在有些網站內,查詢往往答非所問,若能讓瀏覽者在短時間內查詢到想要的主題是重要關鍵,故提供強力的查詢功能是網站需著眼的方向。

          首頁設計要簡單大方,有些網站在進入首頁時使用FLASH設計的動畫或JAVA點選往往要花去數十秒才能出現畫面,這樣的設計雖然很酷,但容易引起讀者的抱怨網站速度太慢。

          2.查詢與回饋互動環境

          網站要考慮到適當的互動,這項功能可加強瀏覽者的意愿與興趣。以后才會經常進網站來瀏覽。設立動態互動的問題諮詢/反饋頁面,傾聽客戶聲音,保持良好、及時的溝通。具體應用可參看http://www.brainnew.com.tw。

          3.產品查詢、展示功能

          網站是企業產品展示櫥窗,可通過公司設備、先進技術、設計創意、質量控制和作業規格等更好地突出產品特點。開發產品查詢系統,讓客戶可自行鍵入相關資料以查詢所需的產品,必要時配以精美的樣品圖和價格資料,甚至采3D視像技術,充分展示你產品的優勢。

          對商務型網站而言,產品銷售是第一要務,若能使用最少篇幅將產品的特性表達清楚,對商品的銷售有很大的助益。有些網站對它們的商品無法用簡短的文字介紹清楚,在競爭上就失去了優勢。

          4.網上接單

          可開發應用網上產品查詢、自動報價、接訂單和訂單管理系統。進一步的應用還有在線支付、郵購寄發,甚至物流配送到府等。

          作為一個網上接單的例子,讓我們來看看內地的一家輸出公司-深圳龍輝菲林輸出中心(http://www.szlh158.com/)的具體運作。該公司的主要業務就是為客戶提供菲林輸出服務,其網站的主要功能就是提供一個在線上接訂單的功能,并提供了簡單的用戶注冊機制。進入了落訂單介面,我們可以看到用戶可以通過網頁的交互介面設置訂單內容,包括文件格式、尺寸、分色、線數、陰陽片、藥膜面、打樣與否、打樣紙要求等等,并且能夠選擇要出菲林的文件上傳,從而初步實現了電子商務的基本功能-客戶在線上落訂單。

          當然,更進一步的應用還可以擴展為購物車、訂單管理、客戶管理、線上支付等。

          5.檔案傳輸和遠端備份(FTP伺服器)

          網站可設置專門的FTP伺服器,公司業務檔案可以上載存于伺服器,員工可按授權程度隨時下載讀取檔案。基于保密目的,應將公司檔案加密上傳備份。

          現在一般的虛擬主機提供商和一些擁有主機的專業網站都可以提供FTP服務,根據用戶的需要開設一定大子限額的空間,用戶就可以使用FTP軟體自由上傳和下載文件資料了。明峻科技有限公司【傳文易】文件管理系統http://cht.mydocuit.com.hk目前就可以提供此類服務。

          6.網上教育網站建立內部使用系統,公司員工可用分配的用戶名、密碼登錄進入,讀取下載內部培訓資料或交流,下載軟體程式,觀看VCD教材等。

          四.提高網站瀏覽率的小技巧

          1.間接網頁策略

          看了本文后,你應該可以對你的網頁如內容規劃、META標簽和鏈結、網絡應用等進行改善了吧。假設大家的網頁設計已經優化,功能上也相差無幾,那么網站的展現機會就幾乎均等了。所以最近大型企業網站均趨向采取化整為零的間接網頁策略,并視此為秘密武器未向世人公開。

          所謂間接網頁策略,就好比一根釣魚桿裝上好幾個釣魚餌。例如Procter &Gamble為全球性日用品公司,產品包羅萬象,Procter &Gamble當然有一個主網頁,包括產品和公司機構,但設計再完美仍只是一個網頁,所以該公司就依據消費大眾的普通需求設計了很多支網頁并鏈結到搜索引擎。例如在搜索引擎中打入Shampoo,就會出現"Head &Shoulders、A Year of Beautiful Hair Sweepstakes"。此網頁是一個Procter &Gamble的名牌洗發精;又例如Head &Shoulders掛名舉辦抽獎活動,并于頁尾加上鏈結到公司主網頁(Procter &Gamble)的鏈結按鈕,如此只要將公司主網頁鏈結按鈕布置在所有的日用品專案中,自然可以大幅提升主網頁的瀏覽率。

          2.專門的友情鏈結頁

          第二節"關鏈字和鏈結"已經講到了,盡管友情鏈結頁并不會帶來多少直接的訪問量,但可以提高網站的搜索引擎排名。所以作為一個網站不可或缺的一個通用欄目,筆者還是建議你設立專門的友情鏈結頁。

          3.本地化服務和多語種版本

          如果你有做過市場行銷工作的經驗,你就知道本地化服務有多重要了。市場營銷理論,也有提及:客戶對產品了解越多越會產生安全感,也就越有可能購買。因此,你應該明確地知道目標市場所在,然后盡可能地根據目標市場所在地的文化觀念和消費習慣開發當地語言版本的網站,內容要生動活潑,符合一般群眾需求。例如你有40%的客戶來自日本,你完全有理由開發一個日本語文的網站。如進入一個自己既不熟悉又很難看懂的網站,大多數人會掉頭就走,更不會有興趣在這網站訂購東西了

          除了以上直接的原因,與間接網頁策略一樣,多語種版本可以為你帶來額外的訪問量。即使鄦的產品或服務只針對香港,內地市場,而且暫時還沒有產品外銷的計劃,那是不是只制作中文網頁就足夠了呢?其實不是這樣的,從提升網站瀏覽率的角度來看,起碼要制作中,英文兩個版本的網頁。因為網絡發源于英文國家-美國,目前英文仍是基本的網絡語言,全球著名的搜索引擎商,使用最多的搜索引擎也是英文為主的,你可以將英文版的網頁向英文搜索引擎商登記,香港、內地、外國用戶會通過英文搜索引擎搜索到你的網頁,然后看中文版內容。因此,筆者強烈建議所有的網頁都最好至少制作中、英文兩個版本。并且,你也許會吸引到國外客戶,有意外的收獲。

          另外,考慮到新的搜索引擎Alexa的排位規則(以同一域名計算網站流量)和網站需要一致的網絡標識,多語種版本最好采用與主站一樣的域名,或是在域名下設立語種目錄,或是使用子域名。例如:雅虎采用的是子域名設計。

          主站:http://www.yahoo.com/

          中文版(雅虎中國):http://cn.yahoo.com/、http://www.yahoo.com.cn

          日文版:http://jp.yahoo.com

          如果采用的是語種目錄形式的話,式樣可能會是這樣的

          主站:http://www.yahoo.com/

          中文版:http://www.yahoo.com/cn/

          日文版:http://www.yahoo.com/jp/

          完成了網站的規劃設計和建設發布,你大可以坐下來休息一下,一邊喝著咖啡一邊欣賞著自己的網站,但千萬不要以為這樣就大功告成,可以回家睡大覺,等著訂單滾滾而來。其實,這只完成了全部工作的一半,后續工作除了網站內容的持續改進外,還有大量的網站宣傳工作要做。例如:主動向搜索引擎商登記注冊你的網站,增加鏈結和以網站訪問日志報告作為持續改進網站的客觀依據,刊登付費廣告推廣、網絡排名關鍵字購買等等,


          本文的討論也很精彩,瀏覽討論>>


          JavaEye推薦



          posted @ 2008-08-18 17:04 beauty9235 閱讀(230) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 德清县| 井研县| 静安区| 赤城县| 安福县| 东山县| 开化县| 凭祥市| 沧州市| 砀山县| 孝感市| 乐至县| 元阳县| 泽普县| 右玉县| 南投市| 黄大仙区| 陈巴尔虎旗| 石棉县| 泽普县| 灵山县| 保靖县| 成武县| 乐平市| 华池县| 始兴县| 河北省| 裕民县| 新宁县| 泗阳县| 湄潭县| 彭水| 汶上县| 曲松县| 乌鲁木齐市| 陆丰市| 刚察县| 关岭| 乌兰县| 宁晋县| 富裕县|