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

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

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

    posts - 119, comments - 62, trackbacks - 0, articles - 0

    2008年7月2日

    http://note.youdao.com/share/web/file.html?id=611b9b6bdf9abafbb1ee45436f50be9e&type=note

    posted @ 2015-09-18 21:04 Kevin Meng 閱讀(227) | 評論 (0)編輯 收藏

    每次都在setupconnection...的地方停住了,后來在發現原來是因為我的手機沒有插SD卡,憤的!!

    posted @ 2015-08-10 23:15 Kevin Meng 閱讀(196) | 評論 (0)編輯 收藏

    geoJOSN為UTF-8編碼,轉成shp后部分字段出現亂碼,一直找不到解決的辦法。后來裝了QGIS 1.7.4,打開geoJSON文件,注意選擇編碼為UTF-8,然后save as..,保存成shp文件,此時編碼必須選擇system就可以解決中文亂碼的問題了。

    posted @ 2012-10-22 11:53 Kevin Meng 閱讀(1490) | 評論 (0)編輯 收藏

    http://huangqiqing123.iteye.com/blog/1246882 

    posted @ 2012-08-15 12:52 Kevin Meng 閱讀(261) | 評論 (0)編輯 收藏

    以下的GPS定位代碼,在MOTO XT800,ME811,HTC S610d等手機中定位都沒有問題,但是在MOTO XT882里面就是無法定位,后來發現問題出現在紅色的代碼部分,強制改成GPS定位就可以了。
          locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
          Criteria criteria = new Criteria();
          criteria.setAccuracy(Criteria.ACCURACY_FINE);
          criteria.setAltitudeRequired(false);
          criteria.setBearingRequired(false);
          criteria.setCostAllowed(true);
          criteria.setPowerRequirement(Criteria.POWER_LOW);
          String provider = locationManager.getBestProvider(criteria, true);
          /* 每隔1000ms更新一次,并且不考慮位置的變化。 */
          locationManager.requestLocationUpdates(provider, 3000, 5, locationListener);
          //強制使用GPS定位
          //locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 5, locationListener);

    posted @ 2012-08-07 20:59 Kevin Meng 閱讀(337) | 評論 (0)編輯 收藏

    這次項目開發,運行環境的tomcat版本從5.5.12升級到了6.0.18,發現以前的項目不能跑了,訪問一個很簡單的jsp也會報錯,說無法編譯,報的錯誤就是:Only a type can be imported. com.xxx.xxx.XXX resolves to a package,意思就是說你jsp頁面上引用的那個類不存在,可是在老版本明明跑的好好的,而且另一個現象就是項目根目錄下的jsp訪問沒有問題,子目錄下就報錯,google了一下,發現這是新版本tomcat的一個變化,就是如果不指定context的話,每一個子文件夾都會被tomcat當作一個獨立的虛擬應用的,所以每個子文件夾下的jsp頁面訪問的時候,都會在它的同一層找WEB-INF里面的class,這樣當然找不到了,只有剛巧放在根目錄下的jsp文件能訪問。

    解決辦法:其實這也是自己以前寫tomcat的配置文件時候,寫法不規范造成的,以前的server.xml里面host信息代碼如下:

    <Host name="www.local.com" appBase="D://projects//myWebSite//WebContent" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
        <Alias>192.168.1.43</Alias> 
        <Context path="" docBase="" reloadable="true">
         <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www.local.com_log." suffix=".txt" timestamp="true"/>
        </Context></Host>

    這其中Context里面的docBase為空,文件路徑就靠Host里的appBase去指定,這樣tomcat認為你這個站點下沒有應用,會自動把每個文件夾當作一個虛擬應用處理。修改后的代碼片段如下:

    <Host name="www.local.com" appBase="" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
        <Alias>192.168.1.43</Alias> 
        <Context path="" docBase="D://projects//myWebSite//WebContent" reloadable="true">
         <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www.local.com_log." suffix=".txt" timestamp="true"/>
        </Context></Host>

    可以看到Host里面不再指定appBase了,而是在主機下建立一個應用,應用的文件路徑通過docBase來指定,這樣就不會再產生找不到class的問題了。

    ps:tomcat的這個問題好像是從5.5.28就開始了,記得以前也曾經嘗試過升級tomcat,就發生了類似的問題,但是當時沒充裕時間去解決,就一直把問題遺留到現在。

    posted @ 2012-08-01 11:14 Kevin Meng 閱讀(520) | 評論 (0)編輯 收藏

    web開發中,我們經常需要將一個表的數據插入到另外一個表,有時還需要指定導入字段,設置只需要導入目標表中不存在的記錄,雖然這些都可以在程序中拆分成簡單sql來實現,但是用一個sql的話,會節省大量代碼。下面我以mysql數據庫為例分情況一一說明:

    兩張表:insertTest和insertTest2,前者中有測試數據
    create table insertTest(id int(4),name varchar(12));
    insert into insertTest values(100,'liudehua');
    insert into insertTest values(101,'zhourunfa');
    insert into insertTest values(102,'zhouhuajian');
    1.如果2張表的字段一致,并且希望插入全部數據,可以用這種方法:
      INSERT INTO 目標表 SELECT * FROM 來源表;
    insert into insertTest select * from insertTest2;
    2.如果只希望導入指定字段,可以用這種方法:
     INSERT INTO 目標表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 來源表;
     注意字段的順序必須一致。
    insert into insertTest2(id) select id from insertTest2;
    3.如果您需要只導入目標表中不存在的記錄,可以使用這種方法:
     INSERT INTO 目標表  
     (字段1, 字段2, ...)  
     SELECT 字段1, 字段2, ...  
     FROM 來源表  
     WHERE not exists (select * from 目標表  
     where 目標表.比較字段 = 來源表.比較字段); 
     1>.插入多條記錄:
    insert into insertTest2
    (id,name)
    select id,name
    from insertTest
    where not exists (select * from insertTest2
    where insertTest2.id=insertTest.id);
     2>.插入一條記錄:
    insert into insertTest    
    (id, name)    
    SELECT 100, 'liudehua'    
    FROM dual    
    WHERE not exists (select * from insertTest    
    where insertTest.id = 100);
    使用 dual 作表名,select 語句后面直接跟上要插入的字段的值。

    posted @ 2012-02-03 16:04 Kevin Meng 閱讀(531) | 評論 (0)編輯 收藏

    1、arcgis server安裝過程中,主體文件安裝結束,配置server 賬號時,遇到invalid password specified,對于arcgissom和arcgissoc兩個accounts,任何密碼都適合,后來想著新建另外兩個arcgissom1和arcgissoc1,通過了,再一看,原來arcgissom和arcgissoc兩個賬號在計算機管理的賬戶里已經存在。刪去后再裝就沒問題了。
    不會有問題了

    posted @ 2011-11-28 13:03 Kevin Meng 閱讀(1611) | 評論 (0)編輯 收藏

    以前的項目運行好好的,升級了ADT后,進行junit測試時出現錯誤:

    #
    # A fatal error has been detected by the Java Runtime Environment:
    #
    #  Internal Error (classFileParser.cpp:3494), pid=7480, tid=7376
    #  Error: ShouldNotReachHere()
    #
    # JRE version: 6.0_29-b11
    # Java VM: Java HotSpot(TM) 64-Bit Server VM (20.4-b02 mixed mode windows-amd64 compressed oops)
    # If you would like to submit a bug report, please visit:
    #   http://java.sun.com/webapps/bugreport/crash.jsp
    #

    解決辦法:
    1.選中junit測試類,右鍵 -> Run As -> Run Configurations...
    2.切換到Classpath選項欄,刪掉Bootstrap Entries里面的Android Library,然后點擊右側的Advanced.. -> Add Library -> JRE System Library,一路next即可。

    這時再運行該類,就能正常運行了。

    posted @ 2011-11-09 20:30 Kevin Meng 閱讀(2478) | 評論 (0)編輯 收藏

    字段為Datetime,獲得2011-11-05以后添加的記錄
    SELECT *  FROM geo_corporation t WHERE TO_DAYS(t.addtime)>TO_DAYS('2011-11-05')
    某一時間段內的記錄
    SELECT *  FROM geo_corporation t WHERE TO_DAYS(t.addtime)>TO_DAYS('2011-11-05') AND TO_DAYS(t.addtime)<TO_DAYS('2011-11-7')

    posted @ 2011-11-07 11:56 Kevin Meng 閱讀(259) | 評論 (0)編輯 收藏

    可以用AntiRSI,也是免費的,非常好用。

    posted @ 2010-06-24 10:52 Kevin Meng 閱讀(420) | 評論 (0)編輯 收藏

    在IBM Z60M上安裝Mac OS 10.4.8
    (1)下載[weiphone][Mac_OS][Mac OS X 10.4.8][JaS AMD-Intel-SSE2-SSE3 with PPF1 & PPF2].iso,然后通過nero刻盤。注意:盤要好,如果沒有刻錄好,安裝的時候就會出現I/O錯誤,這個折騰了我不少時間。
    (2)在XP下分出一個盤來,大概10G的空間就可以了,格式化成FAT32格式(建議用PM軟件)。
    (3)進入BISO,設為從光盤啟動,把安裝盤放入光驅,重新啟動電腦。
    (4)如果不出意外,您將進入Mac OS安裝程序。點“實用程序”-》“磁盤工具”,在這里您將看到所有的盤符,選中我們已經格式化好的磁盤,點抹掉,宗卷格式選Mac OS 擴展(日志式),格式化完后,退出磁盤工具。
    (5)再次回到安裝Mac的介紹頁面,點繼續,選中我們格式化好的盤來安裝mac,點繼續
    (6)進入安裝類型,這里很關鍵。把要安裝的打印機驅動選上(我全選),本地化語言我選簡體中文和繁體中文。JaS Intel 10.4.8 ATA kexts included必須選。然后Support for the most common hardware中的10.4.8.x600.Mobility.Support選上。其他都不要選,點下一步即可。注意,不能把所有的硬件驅動都選上,如果那樣的話可以正常安裝,但是重啟后進入Mac時會出現黑屏現象,應該是由于硬件驅動沖突造成的。
    (7)點下一步開始安裝,耐心等待,安裝完后重啟,就可以進入美麗的Mac世界了。
     
    聲明:本文只針對IBM Z60M,別的型號的機器由于硬件驅動等問題有可能會不能正常安裝。

    posted @ 2009-08-05 12:27 Kevin Meng 閱讀(327) | 評論 (0)編輯 收藏

    把jdk\bin目錄下的msvcr71.dll復制到tomcat安裝目錄的\bin下即可

    posted @ 2009-02-16 13:29 Kevin Meng 閱讀(4219) | 評論 (4)編輯 收藏

    在登陸上服務器之后,打開我的電腦,在地址欄中輸入“\\tsclient\C”就可以查看本地的C盤

    posted @ 2009-02-12 15:31 Kevin Meng 閱讀(909) | 評論 (3)編輯 收藏

    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\tempfile.tmp所有.tmp文件刪除然后再上傳。有可能需要多試幾次。
    最好用TSVN上傳而不要用Subeclipse

    posted @ 2009-02-06 16:08 Kevin Meng 閱讀(2588) | 評論 (2)編輯 收藏

    (1)安裝php_pdo.dll和php_pdo_cio.dll,在php的安裝包里面有,建議用php5.2以上版本;
    (2)安裝oracle 10g客戶端,如果你用的是oracle 9i同樣需要安裝oracle 10g客戶端,否則無法連接oracle。如果你的機器上已經安裝有oracle 9i,安裝oracle 10g客戶端對oracle 9i并沒有影響。
    (3)重新啟動機器。
    (4)用phpinfo()檢驗是否已經加載了php_pdo和php_pdo_oci擴展

    連接代碼

    [development]

    database.config.type = pdo_oci
    database.config.host=localhost
    database.config.username = szapp
    database.config.password = szapp
    database.config.dbname = ora
    database.config.port=1521




    $params = array ('dbname' => $config->database->config->dbname,
     'username' => $config->database->config->username,
     'password' => $config->database->config->password,
     'host'=>$config->database->config->host,
     'port'=>$config->database->config->port );
    $db = Zend_Db::factory ( $config->database->config->type, $params );
    $registry->set ( 'db', $db );

    posted @ 2009-01-16 13:54 Kevin Meng 閱讀(750) | 評論 (0)編輯 收藏

    步驟如下:
    1.      AP服務器上建立c:\backup文件夾(文件夾路徑客戶自己選擇)
    2.      打開dbbkup.bat-->修改紅字部分-->保存
    exp citictest/citictest@colm2 file=c:\backup\%date:~4,20%.dmp    log=c:\backup\%date:~4,20%.log
    compress=y direct=n rows=y owner='citictest'
    consistent=n constraints=y grants=y indexes=y triggers=y
    3.      將dbbkup.bat放置于c:\backup文件夾之下
    4.      控制面板-->任務計劃-->添加任務計劃-->選擇程序以進行計劃-->瀏覽-->選中dbbkup.bat-->每日執行-->選擇時間-->輸入用戶名密碼-->完成
    5.      執行時間過了之后,c:\backup文件夾下面會出現yyyy-mm-dd.dmp命名的DUMP檔案

    posted @ 2009-01-08 15:28 Kevin Meng 閱讀(265) | 評論 (0)編輯 收藏

    以前的項目用的是struts1,運行得好好的,現在改用struts2后,發現運行不到一天tomcat就出現內存溢出的錯誤。使用jProfiler分析一下,發現tomcat啟動后使用的內存就一路飆升,而且放在action里面的類根本沒有釋放掉,應該是struts出現了問題,查一下struts的配置,原來沒有配ActionContextCleanUp,在web.xml中加入
    <filter>
      <filter-name>struts-cleanup</filter-name>
      <filter-class>
       org.apache.struts2.dispatcher.ActionContextCleanUp
      </filter-class>
     </filter>
     <filter-mapping>
      <filter-name>struts-cleanup</filter-name>
      <url-pattern>/*</url-pattern>
     </filter-mapping>
    再次用jprofiler進行分析,果然好了。

    posted @ 2008-12-11 12:44 Kevin Meng 閱讀(780) | 評論 (0)編輯 收藏

    (1)定義在web.xml中定義JSPSupportServlet
     <servlet>
      <servlet-name>JSPSupportServlet</servlet-name>
      <servlet-class>
       org.apache.struts2.views.JspSupportServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
     </servlet>
    (2)把struts-html.tld復制到WEB-INF目錄
    (3)在頁面最前面定義標簽庫
    <#assign html=JspTaglibs["/WEB-INF/struts-html.tld"] />
    (4)在<head>中引用標簽
    <@html.base/>
     (5)特別注意,在action的配置里面type="freemarker"去掉。因為如果加type="freemarker",那么base為action的路徑,如http://localhost:8080/szmap/findpoi.go,如果去掉type="freemarker",那么base才為網頁路徑,如http://localhost:8080/szmap/find_poi.htm

    posted @ 2008-11-12 12:11 Kevin Meng 閱讀(1205) | 評論 (0)編輯 收藏

    最近需要把www.map512.cn的地圖重新進行分割一下,因為以前的地圖是通過arcIMS進行分割的,還要配置arcIMS,那煩死人,所以決定還是把以前VB+ArcEngine版本的割圖程序修改一下,改成C#+ArcEngine,改完后馬上割起來,結果發現程序運行時所耗的內存不斷提高,最后異常退出了,這說明肯定有個地方有內存溢出,剛開始以為是我代碼的問題,不斷的修改代碼,花了兩天時間還是不行,調試后發現出錯的地方在arcEngine的出圖函數output()上,于是打電話問ESRI的客服,給我的答案是沒有解決的辦法,噴飯!!!!

    昨天老肖提醒了我一下,打補丁,于是立刻給arcEngine打上了SP5補丁,果然再也沒有問題了!靠
    心得是:有事別找ESRI技術支持!:)

    posted @ 2008-10-24 10:08 Kevin Meng 閱讀(1973) | 評論 (8)編輯 收藏

    (1)點項目-》添加應用-》瀏覽,導入log4net.dll
    (2)修改app.config

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
          <section name="clipmapAEC.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
          <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
        </sectionGroup>
      </configSections>
      <userSettings>
        <clipmapAEC.Properties.Settings>
          <setting name="mapModelMinX" serializeAs="String">
            <value>-80000</value>
          </setting>
          <setting name="mapModelMaxX" serializeAs="String">
            <value>170000</value>
          </setting>
          <setting name="mapModelMinY" serializeAs="String">
            <value>-80000</value>
          </setting>
          <setting name="mapModelMaxY" serializeAs="String">
            <value>170000</value>
          </setting>
          <setting name="scalePara" serializeAs="String">
            <value>2</value>
          </setting>
          <setting name="tileSize" serializeAs="String">
            <value>512</value>
          </setting>
        </clipmapAEC.Properties.Settings>
        <log4net>
          <root>
            <level value="INFO" />
            <appender-ref ref="consoleApp" />
          </root>

          <appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
            <param name="File" value="C:\\clipmap_log.txt" />
            <param name="AppendToFile" value="false" />
            <param name="RollingStyle" value="Date" />
            <param name="DatePattern" value="yyyy.MM.dd" />
            <param name="StaticLogFileName" value="true" />
            <layout type="log4net.Layout.PatternLayout,log4net">
              <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
              <param name="Header" value=" ----------------------header--------------------------" />
              <param name="Footer" value=" ----------------------footer--------------------------" />
            </layout>
          </appender>
          <appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">
            <layout type="log4net.Layout.PatternLayout,log4net">
              <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
            </layout>
          </appender>
          <logger name="Log4NetTest.LogTest">
            <level value="ERROR" />
            <appender-ref ref="rollingFile" />
            <appender-ref ref="coloredConsoleApp" />
            <appender-ref ref="SystemEvent" />
          </logger>
        </log4net>
      </userSettings>
    </configuration>
    紅色部分是對log4net的設置,其他不用管
    (3)在要只用log4net的類namespace前面加using log4net; [assembly: log4net.Config.XmlConfigurator()]
    (4)在代碼中使用logger.info("XXXX");就可以了

    posted @ 2008-10-16 15:49 Kevin Meng 閱讀(756) | 評論 (0)編輯 收藏

    環境
    jdk1.6
    tomcat5.028

    首先下載“xalan系列jar包”,下載地址:http://www.apache.org/dyn/closer.cgi/xml/xalan-j,
    然后將tomcat中目錄下:/tomcat/common/endorsed/(xercesImpl.jar和xml-apis.jar)刪掉,然后將下載的xalan系列jar包(包括serializer.jar、xalan.jar、xercesImpl.jar、xml-apis.jar、xsltc.jar)拷貝到/tomcat/common/endorsed目錄,重啟tomcat

    posted @ 2008-10-09 10:25 Kevin Meng 閱讀(1536) | 評論 (0)編輯 收藏

    例如:http://www.map512.cn/findPOI.do?key=南門
    如果不轉碼,request.getParameter("key")返回的是亂碼,在jsp中,我們一般這樣子傳參數
    String key2=URLEncoder.encode(key,"gbk");
    http://www.map512.cn/findPOI.do?key=key2

    那么在freemarker中怎么辦呢?

    <#setting url_escaping_charset='gbk'>
    <a href=http://www.map512.cn/findPOI.do?key=${key?url}>查詢</a>

    posted @ 2008-09-18 16:39 Kevin Meng 閱讀(4589) | 評論 (2)編輯 收藏

    <1>軟硬件環境
    Apache Http Server 2.2.4
    Tomcat 5.028
    jdk1.6
    請自行下載jk_module.so,但注意必須與apache http server的版本對應。

    硬件我手頭有一臺IBM服務器,有三臺刀片機可用,IP分別是
    S1:192.168.70.101
    S2:192.168.70.102
    S3:192.168.70.103
    當然這三臺機器您完全可以用三個一般的臺式機來代替.
    我們的計劃是
    用S1來做應用服務器,用S2來做負載均衡,用S3來做數據庫服務器.
    <2>在S1,S2下安裝jdk1.6
    例如我安裝在c:\jdk1.6下
    添加環境變量:
    JAVA_HOME=C:\jdk1.6
    CLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
    在PATH前面加:
    PATH=%JAVA_HOME%\bin;
    <3>在S1下安裝apache,沒有什么值得注意的地方,一路按next就可以了
    我安裝在D:\Apache2.2
    <4>在S1,S2下安裝tomcat 5.028
    也是一路按next就可以了,我安裝在d:\tomcat5.0

    以上對于一個java開發人員來說應該都不是問題,接下來就是重頭戲了!
    <5>配置
    5.1 把下載的mod_jk-1.2.26-httpd-2.2.4.so拷貝到S1機器的D:\Apache2.2\modules目錄下,并改名為mod_jk.so
    5.2 打開S1機器的D:\Apache2.2\conf\http.conf文件,在一堆LoadModule的最后加上這么一行
    LoadModule jk_module modules/mod_jk.so
    5.3 在D:\Apache2.2\conf\http.conf的最后加上對jk_module的配置

    #與tomcat關聯

    <IfModule jk_module>

    JkWorkersFile conf/workers.properties 

    JkMountFile conf/uriworkermap.properties

    JkLogFile logs/mod_jk.log

    JkLogLevel warn

    </IfModule>

    <IfModule dir_module>

        DirectoryIndex index.html,index.jsp,index.htm   

    </IfModule>

    #結束與tomcat關聯

     


    #添加虛擬主機,注意S1上apache網頁文件目錄和tomcat網頁文件目錄要指向同一個目錄,否則靜態頁面會無法訪問  

    <VirtualHost *:80>
          ServerName www.map512.cn
          DocumentRoot D:/Tomcat5.0/webapps
          ServerAdmin support.szmap@gmail.com
          JkMountFile conf/uriworkermap.properties
    </VirtualHost>
    #給虛擬主機目錄付權限
    <Directory D:/Tomcat5.0/webapps>                   
            Options Indexes FollowSymLinks
            AllowOverride None
            Order allow,deny
            Allow from all
    </Directory>

    #默認訪問
    <IfModule dir_module>
        DirectoryIndex index.html,index.jsp  
    </IfModule>


    5.4 在D:\Apache2.2\conf\http.conf目錄下新建一個文件workers.properties,并添加以下內容

    #
    # workers.properties
    #


    # list the workers by name

    worker.list=SZMAP, status

    # localhost server 1
    # ------------------------
    worker.s1.port=8009
    worker.s1.host=192.168.70.101
    worker.s1.type=ajp13

    # localhost server 2
    # ------------------------
    worker.s2.port=8009
    worker.s2.host=192.168.70.102
    worker.s2.type=ajp13
    # worker.s2.stopped=1

    worker.SZMAP.type=lb
    worker.retries=3
    worker.SZMAP.balance_workers=s1, s2
    worker.SZMAP.sticky_session=1

    worker.status.type=status

    說明:這個文件配置了兩個worker,一個是SZMAP即我們的應用服務,這個應用服務type是lb即負載均衡,并由s1和s2兩個balanced_workers來執行,這里你可以添加無限多個服務器來實現負載(當然,前提是您有足夠的RMB),一個是status是用來查看負載均衡狀態的,我們后面將會用到.

    5.6 在D:\Apache2.2\conf\http.conf目錄下新建一個文件uriworkermap.properties,并添加以下內容

    /*=SZMAP
    /jkstatus=status    #設置除以下類型的文件外,都由tomcat提供服務(也就是說下面列出的格式都有apache提供服務)

    !/*.gif=SZMAP
    !/*.jpg=SZMAP
    !/*.png=SZMAP
    !/*.css=SZMAP
    !/*.js=SZMAP
    !/*.html=SZMAP


    說明:這個配置的意思是,所有的請求都轉到SZMAP這個worker(即上面配置的s1,s2這兩個balanced_workers下的tomcat服務)去執行,除了*.gif,*.html等靜態元素和/jkstatus,/jkstatus由status這個worker執行.

    5.7 Tomcat的配置
    打開S1機器D:\Tomcat5.0\conf\server.xml,找到Engine部分,改成

    <Engine defaultHost="localhost" name="Catalina" jvmRoute="s1">

          <Host appBase="webapps" name="localhost">

       

    <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"

                     managerClassName="org.apache.catalina.cluster.session.DeltaManager"

                     expireSessionsOnShutdown="false"

                     useDirtyFlag="true">


                <Membership 

                    className="org.apache.catalina.cluster.mcast.McastService"

                    mcastAddr="228.0.0.4"

                    mcastPort="45564"

                    mcastFrequency="500"

                    mcastDropTime="3000"/>


                <Receiver 

                    className="org.apache.catalina.cluster.tcp.ReplicationListener"

                    tcpListenAddress="auto"

                    tcpListenPort="4001"

                    tcpSelectorTimeout="100"

                    tcpThreadCount="6"/>


                <Sender

                    className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"

                    replicationMode="pooled"/>


                <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"

                       filter=".*\.gif;.*\.js;.*\.jpg;.*\.html;.*\.txt;"/>

            </Cluster>

        

            <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_log." suffix=".txt" timestamp="true"/>

          </Host>

          <Logger className="org.apache.catalina.logger.FileLogger" prefix="catalina_log." suffix=".txt" timestamp="true"/>

          <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>

        </Engine>

    打開S2機器D:\Tomcat5.0\conf\server.xml,找到Engine部分,改成

    <Engine defaultHost="localhost" name="Catalina" jvmRoute="s2">

          <Host appBase="webapps" name="localhost">

        

    <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"

                     managerClassName="org.apache.catalina.cluster.session.DeltaManager"

                     expireSessionsOnShutdown="false"

                     useDirtyFlag="true">


                <Membership 

                    className="org.apache.catalina.cluster.mcast.McastService"

                    mcastAddr="228.0.0.4"

                    mcastPort="45564"

                    mcastFrequency="500"

                    mcastDropTime="3000"/>


                <Receiver 

                    className="org.apache.catalina.cluster.tcp.ReplicationListener"

                    tcpListenAddress="auto"

                    tcpListenPort="4001"

                    tcpSelectorTimeout="100"

                    tcpThreadCount="6"/>


                <Sender

                    className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"

                    replicationMode="pooled"/>


                <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"

                       filter=".*\.gif;.*\.js;.*\.jpg;.*\.html;.*\.txt;"/>

            </Cluster>

        

            <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_log." suffix=".txt" timestamp="true"/>

          </Host>

          <Logger className="org.apache.catalina.logger.FileLogger" prefix="catalina_log." suffix=".txt" timestamp="true"/>

          <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>

        </Engine>


    到此,我們的配置已經完成.


    <6>查看結果
    啟動S1和S2下的tomcat服務,然后啟動S1下的apache服務.
    打開流覽器,輸入地址http://192.168.70.101/jkstatus,如果能看到以下界面,那么,恭喜您,您該感謝我了!呵呵!

    JK Status Manager for 192.168.70.101:80

    Server Version: Apache/2.2.4 (Win32) mod_jk/1.2.26
    JK Version: mod_jk/1.2.26


    (every seconds) [Change Format: XML | Property | Text]  [Read Only]   [S=Show only this worker, E=Edit worker, R=Reset worker state, T=Try worker recovery]

     


     

    Listing Load Balancing Worker (1 Worker) [Hide]


     

    [S|E|R]  Worker Status for SZMAP

    Type Sticky Sessions Force Sticky Sessions Retries LB Method Locking Recover Wait Time Max Reply Timeouts
    lb True False 2 Request Optimistic 60 0

    Good Degraded Bad/Stopped Busy Max Busy Next Maintenance
    2 0 0 0 6 32/94

    Balancer Members [Hide]

      Name Type Host Addr Act State D F M V Acc Err CE RE Wr Rd Busy Max Route RR Cd Rs
    [E|R s1 ajp13 192.168.70.101:8009 192.168.70.101:8009 ACT OK/IDLE 0 1 1 0 1821 0 0 0 1.3M 2.0M 0 5 s1     0/0
    [E|R s2 ajp13 192.168.70.102:8009 192.168.70.102:8009 ACT OK/IDLE 0 1 1 0 1821 0 0 0 1.3M 2.0M 0 4 s2     0/0

    Edit one attribute for all members: [Activation |LB Factor |Route |Redirect Route |Cluster Domain |Distance ]



    參考:
    proxy方式:http://blog.chinaunix.net/u/22176/showart_1002535.html
    liunx下的配置:http://seven.blog.51cto.com/120537/57930

    posted @ 2008-09-10 10:25 Kevin Meng 閱讀(557) | 評論 (0)編輯 收藏

    所有的頁面用UTF-8編碼,然后
    在struts.xml中加
    <constant name="struts.locale" value="zh_CN"></constant>
     <constant name="struts.i18n.encoding" value="UTF-8"></constant>
    即可。

    posted @ 2008-08-22 18:50 Kevin Meng 閱讀(244) | 評論 (0)編輯 收藏

    (1)在eclipse中配置好struts2

    (2)把struts2-spring-plugin-2.0.11.2.jar包復制到WEB-INF\lib目錄
    (3)在web.xml中配置spring
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    記住,如果您之前用過spring,請把spring配置去掉。
     <servlet>
      <servlet-name>context</servlet-name>
      <servlet-class>
       org.springframework.web.context.ContextLoaderServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
     </servlet>
    (4)修改applicationContext.xml
    <beans default-autowire="byName" xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
    (5)在struts.xml加入
    <constant name="struts.objectFactory" value="spring" />
    (6)在spring的配置文件applicationContext.xml中定義action
    <bean id="SearchBusLineAction"
      class="com.bus.struts2.action.SearchBusLineAction" abstract="false"
      lazy-init="default" autowire="default" dependency-check="default">
      <property name="busService">
       <ref bean="BusServiceImpl" />
      </property>
     </bean> 
    (7)在struts.xml中定義action
    <!-- 注意這里class="SearchBusLineAction"而不是com.bus.struts2.action.SearchBusLineAction是因為這個已經在spring的applicationContext.xml中定義 -->
      <action name="searchBusLine" class="SearchBusLineAction">
       <result name="success" type="freemarker">/index.jsp</result>
      </action>

    posted @ 2008-08-22 17:41 Kevin Meng 閱讀(2421) | 評論 (0)編輯 收藏

    選Project->Clean...重新編譯一下項目就可以了。

    posted @ 2008-08-08 16:07 Kevin Meng 閱讀(233) | 評論 (0)編輯 收藏

    freemarker腳本將你的頁面搞得一團槽吧.

    修改一下dreamweaver的配置,將freemarker 腳本顯示成和js一樣的圖標效果吧

    以dreamweaver8為例

    打開

    Dreamweaver 8\Configuration\ThirdPartyTags\Tags.xml

    加入

    < !-- FreeMarker Tag By hety-->
    <directive_spec tag_name="ftl_b1" start_string="[#" end_string="]" detect_in_attribute="true" icon="TemplateExpr.gif" icon_width="17" icon_height="15"/>
    <directive_spec tag_name="ftl_e1" start_string="[/#" end_string="]" detect_in_attribute="true" icon="TemplateExpr.gif" icon_width="17" icon_height="15"/>
    <directive_spec tag_name="ftl_i" start_string="[@" end_string="/]" detect_in_attribute="true" icon="TemplateExpr.gif" icon_width="17" icon_height="15"/>
    <directive_spec tag_name="ftl_b2" start_string="<#" end_string=">" detect_in_attribute="true" icon="TemplateExpr.gif" icon_width="17" icon_height="15"/>
    <directive_spec tag_name="ftl_e2" start_string="</#" end_string=">" detect_in_attribute="true" icon="TemplateExpr.gif" icon_width="17" icon_height="15"/>
    <directive_spec tag_name="ftl_v" start_string="${" end_string="}" detect_in_attribute="true" icon="TemplateExpr.gif" icon_width="17" icon_height="15"/>

    重啟下dreamweaver就搞定

    dreamweaver其它版本的腳本配置也差不多



    還可參考:http://weishuwei.javaeye.com/blog/85041

    posted @ 2008-08-08 14:06 Kevin Meng 閱讀(314) | 評論 (0)編輯 收藏

    http://blog.csdn.net/maxgong2005/archive/2006/05/12/725977.aspx

    posted @ 2008-07-07 10:43 Kevin Meng 閱讀(164) | 評論 (0)編輯 收藏

    (1)配置tomcat支持SSL,請參考我的文章:http://m.tkk7.com/menglikun/archive/2008/07/02/212065.html
    (2)把證書導到jre,運行cmd
    Microsoft Windows XP [版本 5.1.2600]
    (C) 版權所有 1985-2001 Microsoft Corp.

    C:\Documents and Settings\Administrator>d:

    D:\>cd d:\tomcat5.0

    D:\Tomcat5.0>keytool -export -file myserver.cert -alias cas -keystore server.key
    store
    輸入keystore密碼:
    保存在文件中的認證 <myserver.cert>

    D:\Tomcat5.0>

    執行到這里,您應該可以在d:\tomcat5.0目錄中找到一個文件myserver.cert
    接著,我們要把這個證書文件導到客戶端的JVM中,因為現在我們的客戶端和服務器端都是同一臺機器,所以直接進入cmd,執行以下命令就可以了
    D:\Tomcat5.0>keytool -import -keystore c:/jdk1.6/jre/lib/security/cacerts -file
    myserver.cert -alias cas
    輸入keystore密碼:                                                                //注意,這里是默認密碼changeit
    所有者:CN=localhost, OU=szghj, O=szghj, L=suzhou, ST=jiangsu, C=cn
    簽發人:CN=localhost, OU=szghj, O=szghj, L=suzhou, ST=jiangsu, C=cn
    序列號:486ae46a
    有效期: Wed Jul 02 10:14:02 CST 2008 至Tue Sep 30 10:14:02 CST 2008
    證書指紋:
             MD5:AC:A9:C2:47:36:DF:D0:C1:76:F3:6D:14:70:73:90:5C
             SHA1:3C:2E:45:92:29:98:ED:7E:93:34:BB:11:2D:EE:ED:E3:E4:4D:E3:85
             簽名算法名稱:SHA1withRSA
             版本: 3
    信任這個認證? [否]:  y
    認證已添加至keystore中

    (3)配置CAS服務器
    我用戶的是3.2.1版本,直接把cas-server-webapp-3.2.1.war復制到tomcat的webapp目錄,改名為userservice-cas就可以了
    (4)配置客戶端,我用的是cas-client-java-2.1.0,把casclient.jar復制到客戶端的lib目錄,然后打開web.xml,添加如下的過濾器就可以了。
    <filter>
      <filter-name>CAS Filter</filter-name>
      <filter-class>
       edu.yale.its.tp.cas.client.filter.CASFilter
      </filter-class>
      <init-param>
       <param-name>
        edu.yale.its.tp.cas.client.filter.loginUrl
       </param-name>
       <param-value>
        https://localhost:8443/userservice-cas/login
       </param-value>
      </init-param>
      <init-param>
       <param-name>
        edu.yale.its.tp.cas.client.filter.validateUrl
       </param-name>
       <param-value>
        https://localhost:8443/userservice-cas/serviceValidate
       </param-value>
      </init-param>
      <init-param>
       <param-name>
        edu.yale.its.tp.cas.client.filter.serverName
       </param-name>
       <param-value>
        localhost:4000
       </param-value>
      </init-param>
     </filter>

     <filter-mapping>
      <filter-name>CAS Filter</filter-name>
      <url-pattern>/jsp/user/*</url-pattern>
     </filter-mapping>

    其他:
    (1)成功登錄后,出現錯誤 Unable to validate ProxyTicketValidator 是什么原因。
    這是因為數字證書的簽名不一致造成的,例如生成證書的時候用localhost,但是訪問的時候卻用機器名。統一一下就可以了

    posted @ 2008-07-02 11:19 Kevin Meng 閱讀(312) | 評論 (0)編輯 收藏

    由于最近需要CAS,所以研究了一下tomcat SSL的配置,現記錄下來。
    環境:
    window xp
    tomcat 5.028
    jdk 1.6
    (1)進入cmd
    我的tomcat安裝在d:\tomcat5.0,所以進入該目錄

    Microsoft Windows XP [版本 5.1.2600]
    (C) 版權所有 1985-2001 Microsoft Corp.

    C:\Documents and Settings\Administrator>d:

    D:\>cd d:\tomcat5.0

    D:\Tomcat5.0>keytool -genkey -alias cas -keyalg RSA -keystore server.keystore            //別名是cas,您可以自己修改
    輸入keystore密碼:                                                //我輸入了密碼menglikun,您可以自己改,但要記住,后面要用到
    再次輸入新密碼:
    您的名字與姓氏是什么?
      [Unknown]:  localhost      //如果是開發環境,建議用localhost或機器名,如果是發布環境,請用域名,不要用IP

    您的組織單位名稱是什么?
      [Unknown]:  szghj
    您的組織名稱是什么?
      [Unknown]:  szghj
    您所在的城市或區域名稱是什么?
      [Unknown]:  suzhou
    您所在的州或省份名稱是什么?
      [Unknown]:  jiangsu
    該單位的兩字母國家代碼是什么
      [Unknown]:  cn
    CN=localhost, OU=szghj, O=szghj, L=suzhou, ST=jiangsu, C=cn 正確嗎?
      [否]:  y

    輸入<cas>的主密碼
            (如果和 keystore 密碼相同,按回車):                                    //輸入密碼menglikun
    再次輸入新密碼:

    D:\Tomcat5.0>
    執行到這一步,如果不出意外的話,在d:\tomcat5.0目錄下就會有一個server.ksystore文件
    (2)打開d:\tomcat5.0\conf\server.xml,添加一個新的connector,修改后的server.xml如下:
    <?xml version='1.0' encoding='utf-8'?>
    <Server>
      <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
      <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
      <GlobalNamingResources>
        <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
        <Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" type="org.apache.catalina.UserDatabase"/>
        <ResourceParams name="UserDatabase">
          <parameter>
            <name>factory</name>
            <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
          </parameter>
          <parameter>
            <name>pathname</name>
            <value>conf/tomcat-users.xml</value>
          </parameter>
        </ResourceParams>
      </GlobalNamingResources>
      <Service name="Catalina">
        <Connector URIEncoding="UTF-8" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="4000" redirectPort="8443" useBodyEncodingForURI="true" maxSpareThreads="75" maxThreads="150" minSpareThreads="25">
        </Connector>
        <Connector port="8009" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="8443">
        </Connector>
       <Connector port="8443"
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" disableUploadTimeout="true"
                   acceptCount="100" debug="0" scheme="https" secure="true"
                   clientAuth="false" sslProtocol="TLS" keystorePass="menglikun" keystoreFile="server.keystore" />
        <Engine defaultHost="localhost" name="Catalina">
          <Host appBase="webapps" name="localhost">
            <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_log." suffix=".txt" timestamp="true"/>
          </Host>
          <Logger className="org.apache.catalina.logger.FileLogger" prefix="catalina_log." suffix=".txt" timestamp="true"/>
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
        </Engine>
      </Service>
    </Server>
    (3)重新啟動tomcat,在瀏覽器中輸入https://localhost:8443,如果出現安全提示,說明SSL配置成功

    posted @ 2008-07-02 10:48 Kevin Meng 閱讀(194) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 国产精品自在自线免费观看| 久久精品国产亚洲AV香蕉| a级日本高清免费看| 亚洲国产一区二区三区青草影视| 69av免费视频| 国产成人亚洲精品电影| 婷婷精品国产亚洲AV麻豆不片| 亚洲第一成年免费网站| av午夜福利一片免费看久久| 亚洲中文久久精品无码1| 亚洲国产精品成人AV无码久久综合影院 | 日韩激情淫片免费看| 三级黄色片免费看| 欧洲 亚洲 国产图片综合| 在线观看国产区亚洲一区成人| 成年人网站免费视频| 一级视频免费观看| 亚洲an日韩专区在线| 亚洲国产精品无码久久一区二区| 在线免费观看中文字幕| 国产成人免费AV在线播放| 亚洲AV永久无码精品一福利| 亚洲av鲁丝一区二区三区| 免费亚洲视频在线观看| 久久精品免费全国观看国产| 国产精品成人免费观看| 亚洲一线产品二线产品| 亚洲国产老鸭窝一区二区三区| 亚洲国产精品国产自在在线| 无限动漫网在线观看免费| 在线观看特色大片免费网站| 国产大陆亚洲精品国产| 亚洲一卡一卡二新区无人区| 亚洲精品人成在线观看| 国产成人精品久久亚洲| 国产大片线上免费看| 欧亚精品一区三区免费| 91老湿机福利免费体验| 中文字幕不卡免费高清视频| 青青视频免费在线| 亚洲一区二区三区高清在线观看 |