2012年11月27日 星期二

javascript 心得 regexp replace

在範例中是將英文字母由小寫轉換成大寫

我這裡應用是將數字不分加上標籤好套用CSS


code 如下


function change(text){ return "<a class='thenumber'>"+text+"</a>";
}
// 強調數字部份 function ModifyStyleSubDescription(str){
//var str= "11ABC 22 DEF";
//match number in range 0-999
var _result = "";
var reg = /(\d+)/g; // 使用g 才抓的到第二組
_result = str.replace(reg,change);
return _result;
}


原本使用的函式,但IE8不支援....
// 強調數字部份 function ModifyStyleSubDescription(str){
var _result = "";
var reg = /(\d+)/;
var parts = str.split(reg);
for (var i = 0 ; i < parts.length ; i ++){
if(parts[i].match(reg)){
_result +="<a class='thenumber'>"+parts[i]+"</a>"
}else{
_result +=parts[i];
}
}
return _result;
}

參考:W3Cschool , http://www.w3school.com.cn/js/jsref_replace.asp


2012年11月14日 星期三

轉貼 java ssh jar


當使用者要透過遠端SSH連接遠端機器時,若使用JAVA 的話 ,可以透過 JSch.jar 提供的API 來達成目的。

實際參考的範例,可以參考[2], 或查詢 "java sftp example jsch"






參考 :

[1] JSch, http://www.jcraft.com/jsch/ 
[2] Java 實現SFTP實例,http://www.xfok.net/2009/10/124485.html

2012年10月9日 星期二

hive JDBC client 端 使用整理

要使用 hive jdbc 在client 端,需要以下的 lib (當然版本會更新),參考[1]


hive-jdbc-0.7.1.jar
hive-exec-0.7.1.jar
hive-metastore-0.7.1.jar
hive-service-0.7.1.jar
hadoop-0.20.0-core.jar
commons-logging-1.0.4.jar
log4j-1.2.16.jar
libfb303.jar
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar


在 [2] 裡面有提供一組包好得 Hive JDBC lib ,可以一次下載完全部相關的jar
不然也可以一個一個的找


至於實際的範例,官方網站[3]有提供



參考:

[1] How to connect Hadoop Hive,http://community.qlikview.com
[2] Connect to Hadoop Hive from within QlikView,http://tiqview.tumblr.com 
[3] https://cwiki.apache.org/Hive/hiveclient.html

轉貼 hive server 端啟動方式



hive 三種啟動方式及用途,關注通過jdbc連接的啟動:
 1, hive  命令列模式,直接輸入/hive/bin/hive的執行程式,或者輸入 hive –service cli
用於linux平臺命令列查詢,查詢語句基本跟mysql查詢語句類似
 2, hive  web介面的啟動方式,hive –service hwi  
用於通過流覽器來訪問hive,感覺沒多大用途
3, hive  遠端服務 (埠號10000) 啟動方式,nohup hive –service hiveserver  & 
用java等程式實現通過jdbc等驅動的訪問hive就用這種起動方式了,這個是程式師最需要的方式了

註:  hive –service hiveserver 就可以啟動, 加上 nohup 指令是確保當ssh 離線後服務依然執行,  ssh 背景執行 可以參考[2]


參考:
[1] hive 三種啟動方式及用途,關注通過jdbc連接的啟動, Raymond(奧特man)
[2] ssh 背景執行的小技巧, Neo's Blog



2012年9月19日 星期三

心得 免費的UML工具


以下是我是用過的 免費UML 軟體

                  外掛很多,不過用起來不是很順,有些外掛圖案要自己找
                   只要安裝 java,就可執行,不過sequence diagram 沒有火柴人的圖形?
                   似乎是 原本的 JUDE 改良後換名稱得,目前試用中

                    有中文化,不過每次進入都會詢問是否要轉專業版或捐款

2012年9月18日 星期二

心得 eclipse svn plugin

這裡簡單紀錄摘要一下 eclipse 安裝 svn plugin, google 一下大約找到以下[1], [2] 兩個plugin,安裝流程因該都差不多,用法可能有點小差異,這裡我是以[1] polarion 所提供的plugin 為主。


 我eclipse 版本是3.6.2,

步驟1 help->Install new software


步驟2 輸入plugin url 的路徑,基本上按下一步就可以裝好了


======================

接下來是簡單的匯入專案

        File->new->other, 選擇SVN-> project from SVN


         create new repository location , 輸入SVN server 的 url SVN帳號密碼
     


       就可以吧SVN 的檔案匯入了,並且套入版控




參考:
[1]http://www.polarion.com/products/svn/subversive/download.php
[2]http://www.eclipse.org/subversive/latest-releases.php

2012年9月6日 星期四

轉貼 java 內部呼叫 Thread

在書上看到的一些 Thread 應用 大多是呼叫 Class 的方式來說明,不過 inner class 使用 Thread 倒是不好查到資料。 所以,以下就做個紀錄


//先宣告
private volatile Thread lookupThread;

private void lookupAsync() {
   Runnable lookupRun = new Runnable() {
     public void run() {
      String bal = lookupBalance();
      setBalanceSafely(bal);
     }
   };
   lookupThread = new Thread(lookupRun, "lookupThread");
   lookupThread.start();


參考:http://www.java2s.com, Swing and Thread for length operation

2012年8月16日 星期四

心得 Flot 畫圖, 參數設定

以下介紹一些使用 Flot 畫趨勢圖的一些心得
 首先 繪圖函式可以簡單的如下,設定三個變數:
          $.plot( $("#drawdiv") , DATAObj, Setting );

  • drawdiv: 要繪圖的 tag 
  • DATAObj: 繪圖的資料來源,這裡有他的規定的格式 
  • Setting: 其他變數設定,包含X軸、Y軸,滑鼠事件監聽等等  

----------------------------------------------------

 $("#drawdiv") : 

           這裡要注意,記得div 要設定好長度和寬度就好

 DATAObj: 

            一般設定的話, 將外部物件 datasets 傳入即可, label 是在圖形上顯示的文字說明


var datasets =
        {"objA": {"label":"測試物件1","data":[[1336603200000,55],[1336533600000,94]]},
 "objB": {"label":"測試物件2","data":[[1336603200000,77],[1336533600000,88]]},
        "objC": {"label":"測試物件3","data":[[1336603200000,21],[1336533600000,21]]}};


顯示如圖





         但若要設定個別設定線段的話 就要修正data 的地方, 如圖設定
         測試物件一為線段、測試物件二為直條圖、測試物件三為點
          $.plot( $("#drawdiv") ,

                   {  data: datasets.objA.data,
              label:datasets.objA.label,
              lines: { show: true}
           },
           {  data: datasets.objB.data,
              label:datasets.objB.label,
              bars: { show: true , barWidth: 15000000}
           },
           {
              data: datasets.objC.data,
              label:datasets.objC.label,
              points: { show: true, fill: true ,fillcolor: null},
              lines: { show: false }
           }]

                     , Setting ); 






Setting:


簡單設定如下, Y軸設定加上 單位 "unit",
                            X軸設定格式是時間、時間的格式、最大時間、最小時間、時間間隔,
                            series: 整體設定顯示為線段、但data部份中有指定的話以data指定的為優先
                            grid: 這裡設定事件滑鼠移動事件的開啟與否


 $.plot( $("#drawdiv") , DATAObj,
                       { yaxis: { min: 0 , 
                         tickFormatter: function(val){ 
   return val + "unit";
  }
},
  xaxis: { 
          mode: "time" ,
 timeformat: " %0m/%0d %H:%M",
min:  1336602600000,
 max:  1336535600000,
 minTickSize: [4, "hour"]
},
series: {
   lines: { show: true }
 },
grid: { hoverable: true, clickable: true }
    }
           );









 參考: flot API + 自己使用心得

心得 java 建立檔案

舉例來說要建立一個檔案 "C:/a/b/test.txt"


java 的指令如下:

File f = new File("C:/a/b/test.txt");
f.createNewFile();



但有可能 資料夾 "C:/a/b/" 不存在, 所以就要先確認資料夾是否存在,不存在的話要建立資料夾,就改寫為



File f = new File("C:\\a\\b\\test.txt");
f.getParentFile().mkdirs();   // 要退到上一層在建立資料夾
f.createNewFile();





 參考: How to create a file in a directory in java? , stackoverflow.com

2012年7月13日 星期五

摘要: Java 取得 執行cmd 程式 後的文字,以 dir 為例

以下紀錄一下 :
利用 java Application 執行 cmd 的語法

這個範例是呼叫 dir C:\\windows, 也就是列出 c:\\windows 下的所有檔案
我稍微修正一下列印每行的回傳值,參考來源是列印每個字元


import java.io.IOException;
import java.io.InputStream;
public class ExecuteDOSCommand {
public static void main(String[] args) {
final String dosCommand = "cmd /c dir /s";
final String location = "C:\\WINDOWS";
try {
final Process process = Runtime.getRuntime().exec(
dosCommand + " " + location);
final InputStream in = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null){
System.out.print(strLine);
} } catch (IOException e) {
e.printStackTrace();
}
} // end main
} // end class


參考:Execute DOS Commands from a Java Program

2012年7月4日 星期三

轉貼 jquery ui 外掛 Timepicker

jquery ui 中有一個功能是可以選取日期 Datapicker 的功能,但是若要詳細到時間的話就沒有辦法了,Google 一下後 找到這個 外掛 剛好可以達成這個功能 timepicker.


參考: http://trentrichardson.com/examples/timepicker/

2012年6月26日 星期二

轉貼 javascript minify and beautifer

偶爾會使用到xxx.min.js 的javascript 檔案, 一直在想要怎麼製作,原來線上就有編輯的功能, 如 : Online Javascript Compression Tool ,優點應該只是縮小檔案容量。

不過有 min 當然也有還原的程式, 如 http://jsbeautifier.org/

 


2012年6月13日 星期三

Jquery 外掛 紀錄: 文字方塊等圓角 jQuery Corner


這邊分享一下一個 好用的 jquery 外掛 :jQuery Corner

我會用到的使用時機:
   如名稱所代表,就是圓角,雖然HTML5 就有圓角了(但ie8不支援),不過這個外掛我試過在ie8 仍有效果。


效果如下圖,











參考: jQuery Coener


Jquery 外掛 紀錄: 讀取中鎖螢幕 BlockUI Plugin

這邊分享一下一個 好用的 jquery 外掛 :jQuery BlockUI Plugin

我會用到的使用時機,
  1. 使用AJXA loading 資料時可以用,先將螢幕鎖住等到讀取完成在解鎖。
  2.或強調特別功能

效果如下圖,




 參考:jQuery BlockUI Plugin 

2012年6月1日 星期五

jquery 圖表plugin: Flot plugin

Flot 雖然用起來有點功能單調, 不過實際找一下相關的文件,發現其實有很多人提供相當時用的plugin , 像是 泡泡圖,雷達圖、甘特圖都有相關的plugin 補充加強原本的功能。

不過我覺得比較實用的是tool tip 。

詳細請參閱 : http://code.google.com/p/flot/wiki/Plugins

2012年4月17日 星期二

轉貼 WSDL CLient in JAVA

WSDL 是一種網路服務傳送接收的方法,以XML 樣視為基礎的溝通方式[1],

關於建立的方式這裡就不介紹了,以client 端為主, 詳細流程不多說,

搜尋 wsdl eclipse clinet 就能找到相關的資料了,值得提醒的地方就是大部分都是用 AXIS2 來搭配解析[2], 在 eclipse 中要使用的話要先下載後在設定路徑 , Windows->Preference->Web Services,  AXIS2 載點(http://axis.apache.org/axis2/java/core/download.cgi)。




















圖一,設定AXIS

此外還有,
a. 在有限制的環境下,要套用proxy.
b. 也可以使用 AXIS 的方式取得 WSDL, AXIS 至少在 eclipse3.6 是內建的


以下簡介使用的步驟:

  • 新增web專案TEST_WSDL_Client,我是使用 Dynamic Web Project, static project 應該也可以吧。
  • 在TEST_WSDL_Client專案下新增 Web Service Client 如圖二。
  • 設定 Web Service Client,Service definition 輸入 WSDL 的網址, Configuration 設定AXIS2,預設是AXIS,設定畫面如圖三。
  • 若是在有proxy 的環境下記得設定proxy,接者按下一步應該就可以產生相關的java class 了
















圖二,新增WSDL Client














圖三,選擇輸入WSDL 服務的網址,設定APACHE 和 AXIS2 的server





補充 , 若要將產生的class 檔 在 client 端程式使用,必須使用 AXIS2 的lib ,不過查詢一下找到精簡的jar 清單[3], 清單如下:


  • axiom-api-1.2.12.jar
  • axiom-impl-1.2.12.jar
  • axis2-adb-1.6.1.jar
  • axis2-kernel-1.6.1.jar
  • axis2-transport-http-1.6.1.jar
  • axis2-transport-local-1.6.1.jar
  • axis2-xmlbeans-1.6.1.jar (optional)
  • commons-codec-1.3.jar
  • commons-httpclient-3.1.jar
  • commons-logging-1.1.1.jar
  • httpcore-4.0.jar
  • mail-1.4.jar
  • neethi-3.0.1.jar
  • woden-api-1.0M9.jar
  • woden-impl-dom-1.0M9.jar
  • wsdl4j-1.6.2.jar
  • wstx-asl-3.2.9.jar
  • xmlbeans-2.3.0.jar (optional)
  • XmlSchema-1.4.7.jar




參考:
[1] WSDL,wiki
[2] AXIS2
[3] Minimum set of jar files for Apache Axis2 1.6.1

2012年4月3日 星期二

心得 Struct2

最近又報告一次,整理一下投影片放在這裡

2012年3月28日 星期三

心得, java 取得音樂撥放時間長度


取得 音效檔的長度,

Wav: 

可以是用[1] 的方式,計算出音效檔的長度,程式碼:


private  Void GetLength(String filename) { // ex "C:\\Documents and Settings\\Administrator\\My Documents\\My Music\\my.wav"

  File file = new File(filename);   

  AudioInputStream audioInputStream;
  try {
audioInputStream = AudioSystem.getAudioInputStream(file);
AudioFormat format = audioInputStream.getFormat();
long audioFileLength = file.length();
int frameSize = format.getFrameSize();
float frameRate = format.getFrameRate();
float durationInSeconds = (audioFileLength / (frameSize * frameRate));
System.out.println( " Length :"+durationInSeconds);

} catch (UnsupportedAudioFileException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}




MP3

利用 MP3SPI[2],這個LGPL 的  函式取得 mp3 檔案的標籤,其中就有音效檔的長度





參考:
[1]: How do I get a mp3 file's total time in Java?, http://stackoverflow.com
[2]: MP3SPI 


2012年3月21日 星期三

轉貼 AJAX cache更新問題

自己要用到一個AJAX 更新資料的網頁發現的,預設的cache 是打開得,所以會存放上次的資料,但是我是要每一段就要更新的,所以必需要找個方式吧cache 關掉或繞過他才能達到我想要得效果。

在*中有提到四個方式:


1.在請求的URL後面加一個時間參數,如: time=new date() 當然也可以添加其他性質參數,只要是隨機參數就可以,
open("GET",url+"?t="+Math.random(),false) 或者 url+"?timeStamp="+new Date().getTime();  

2.  新增 js 代碼   
  function ajaxRead(file){ var xmlObj = null; if(window.XMLHttpRequest){ xmlObj = new XMLHttpRequest(); } else if(window.ActiveXObject){ xmlObj = new ActiveXObject("Microsoft.XMLHTTP"); } else { return; }  xmlObj.onreadystatechange = function(){ if(xmlObj.readyState == 4){ processXML(xmlObj.responseXML); } else{ document.getElementById ('playernews').innerHTML='採用AJAX來實現資料的讀取,正在載入...'; } } xmlObj.open ('GET', file, true); xmlObj.send (''); } function show() { ajaxRead('*.jsp'); setInterval("ajaxRead('new.php')",30000); //自動更新 }   

3.加上
xmlhttp.setRequestHeader("Cache-Control","no-cache");  

4.在XmlHttpRequest發送請求之前加上 XmlHttpRequest.setRequestHeader("If-Modified-Since","0"), 如:在 XXXXX.send(YYYYYY).



我沒有全部利用過,只使用過1就能達成效果。

參考:* 解決Ajax更新不及時的途徑,IT專家網

2012年3月20日 星期二

心得, 網站播放音效

要在網頁上播放音樂有很多方式,在[1]中介紹了許多方式如:




  • 使用API 如 yahoo API(sample) , Google (sample)
  • Using Plugins, 不同瀏覽器有不同的plugin,這裡我知道的有quick time, flash
  • 使用 embed 標籤,像ie 的話是直接call mediaplay 播放的樣子,Firefox 需要額外裝Quick time的外掛
  • 使用 object 標籤, 沒用過
  • 使用 audio 標籤, HTML5方式[2], 好用,但是IE6~8 要使用的話需要額外設定,這裡就不深入討論
  • 其他



其他相關找到的用法:

  •  [3] 也是用 HTML5
  • [4] 利用flash 來播放

為了單純方便播放聲音,我簡單利用jquery 和embed 的方式寫一個 呼叫聲音的函式,測試過 Firefox 需要額外裝Quick time的外掛, IE 和 Chrome 可以直接播放。

function JPlaySound(_soundlocation){
// _soundlocation like "music/sample.mp3"
$('embed#objJSound').remove(); // remove duplicate tag
var $newdiv = $('<embed autostart="true" hidden="true" id="objJSound" src="'+_soundlocation+'"></embed> '); // hidden embed tag
$('body').append($newdiv); // append to body
}





----------------------------------------------------------------------------------------
補充1  純粹使用 javascript 的 code


function JPlaySound(_soundlocation){
 // delete old tag if exist 
var olddiv = document.getElementById('objJSound');
if(olddiv!=null)
 document.body.removeChild(olddiv);
 var newdiv = document.createElement('embed');
 newdiv.setAttribute("id","objJSound");
 newdiv.setAttribute("src",_soundlocation);
 newdiv.setAttribute("hidden","true");
 newdiv.setAttribute("autostart",true);
 document.body.appendChild(newdiv);
 }


---------------------------------------------------------------------------------------
補充2 混用 HTML5 (支援ie 6,7,8)



設定 tag 和判斷是否支援HTML5 // HTML5 audio tag
<!-- html5 tag -->
 <audio id="a1" style="visibility:hidden;" controls> </audio>


 // 判斷是否支援HTML5


 <script type="text/javascript">
 var isSupportHTML5 = true;
 </script>









 // 不支援 (小於ie9)將 isSupportHTML5 設為 false



 <!--[if lt IE 9]>
 <script type="text/javascript">
 //您正在使用的瀏覽器為 ie9 或比 ie9 更新的版本 
 isSupportHTML5 = false;
 </script>
 <!--<![endif]-->



呼叫程式:
/** _soundlocation like "music/sample.mp3" 
 // Firefox 不支援 mp3 **/ 
 function JPlaySound(_soundlocation){
 if(isSupportHTML5){
 var audio = document.getElementById("a1");
 audio.src= _soundlocation;
 audio.load();
 audio.play();
 } else{
 // delete old tag if exist
 var olddiv = document.getElementById('objJSound');
 if(olddiv!=null)
   document.body.removeChild(olddiv);
 var newdiv = document.createElement('embed');
 newdiv.setAttribute("id","objJSound");
 newdiv.setAttribute("src",_soundlocation);
 newdiv.setAttribute("hidden","true");
 newdiv.setAttribute("autostart",true);
 document.body.appendChild(newdiv);
 }
 }


參考:
[1] W3cSchools.com, HTML Audio Sounds
[2] HTML5 audio tag
[3] jPlayer
[4] flashsound 
[5] Conditional Comments [if IE] : IE 專用 (IE only) 條件式 HTML 註解的語法
[6] Audio and Video processing in HTML5

2012年3月19日 星期一

轉貼 - java 批次 SQL 處理

此篇作一個紀錄,方便以後好查詢
下面的範例,包含 oracle, mysql 和 JDBC 的用法

個人認為的關鍵字 addBatch,DriverManager,executeBatch


參考網頁: 

2012年3月15日 星期四

心得 , JNDI 存取 Oracle 錯誤 ORA-01861

小心得,使用 JNDI  寫入 Oracle 資料庫時,出現了 ORA-01861 錯誤訊息,查證了一下, 原來是日期時間的問題, 吧 日期時間的輸入欄位換成  : to_date('2003/05/03 21:02:44', 'yyyy/mm/dd hh24:mi:ss')


之類的就可以


參考: Oracle/PLSQL: Insert a date/time value into an Oracle table

2012年2月21日 星期二

轉貼 Java Excel API

Excel 是常見的資料格式,透過 Java Excel API  可以透過java 運算或撈資料庫的東西,再把資料存取在Excel 上,或取出 Excel 的資料來作運算。

存取的格式是 .xls 得格式, 像 xlsx 的格式沒試過不過應該不行吧。

以下是他的相關連結



Licence: 是GPL的喔

2012年2月17日 星期五

心得 GAE 簡介

工作上剛好有要整裡,稍微修改一下放在這裡作一個紀錄


心得 在Eclipse 建立專案存取 Tomcat 的Root

Eclipse 中開發 Dynamic Web Project 有一個條件就是要設定 Server, 這裡可以依據以下的地方找到 Preference-> Server -> Runtime Environment 就可以設定 Tomcat來當Server Run。

 不過問題來了,當在執行Eclipse 的時候,系統會自己建一個路徑,簡單的說 進去 localhost:8080 會是404 沒資料的頁面,當然選取專案的第方式可以執行的。

之所以考慮要使用Root 的路徑的原因是:
 1. 可以先吧 相關共用的 js 檔, css 檔 都放到Root  下
 2. 承上,到時編譯好得程式碼放到Server 也比較好整理


以下圖一是改變設定的方法,找到Server 的地方,記得把套進去的服務先移除,點兩下就可以進入 Overview,預設是使用 WorkSpace,但要改為 第二個選項Tomcat ... 才能達成需求。(若被鎖住的話,請參考圖二,Server 的地方按右鍵,選Clean)

圖一

圖二



2012年2月15日 星期三

心得 SVN Client 介紹

因為工作的關係又整理了一次,當然網路上還有很多詳細的文章,這裡就放者自己參考用。

此外GIT 好像不錯用的樣子,不過還沒碰過,找時間會在試試。
附註 slideshare 比Google 文件分享在發布上面好用的多,至少不會跑掉版面

2012年2月4日 星期六

心得 Tomcat 設定 JNDI connection pool to OracleDB

要在Tomcat 下利用JNDI 來連結資料庫,可以參考[1]的步驟。

安裝測試環境以Tomcat 5.5為例。

簡單摘要幾個重點

1) 先下載 Oracle JDBC Driver,要先登入Oracle的會員才能下載。
2) 下載完得jar檔(如 classes12.jar)要放在 Apache 環境下 common\lib\ 下
3) 在/conf 下設定 context.xml, 加入如下面的code

<Resource name="jdbc/myoracle" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@127.0.0.1:1521:mysid" username="scott" password="tiger" maxActive="20" maxIdle="10" maxWait="-1"/>


4)在 web.xml 下新增以下的敘述
<resource-ref> <description>Oracle Datasource example</description> <res-ref-name>jdbc/myoracle</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>

5) 可以建一個jsp 插入下面的程式碼 ... 
 <%@page import="java.util.*, javax.naming.*, java.sql.*, javax.sql.*"%>
... 
 Context initContext = new InitialContext(); 
Context envContext = (Context)initContext.lookup("java:/comp/env"); 
DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle"); 
Connection conn = ds.getConnection(); 
 String sql = ""; ResultSet rs = null;  
Use db sql = "SELECT * FROM TABLE"; 
 rs = smt.executeQuery(sql); 
 while(rs.next()) { 
 out.println(rs.getString("ID"));
 out.println(rs.getString()); 
 out.println(""); 
 }
 con.close();



補充 在eclipse 下 產生 Name jdbc is not bound in this Context 解決方式:

主要參考[2] 的作法 把 context.xml 複製到 META-INF下,在 WEB-INF下的web.xml 也加入4)的程式碼。



參考:
[1]: Apache Tomcat 6.0, JNDI Datasource HOW-TO
[2]: exception - name jdbc is not bound in this context, http://www.coderanch.com

Tomcat Administration 安裝

在預設環境下,Tomcat 沒有安裝Admin工具頁面,所以必須額外下載Administration Web Application: 如下圖





接者解壓縮後放到相對應的資料夾,







記得先吧服務關閉,在打開才有用。


會寫這篇是因為找不到相對置,所以作個紀錄。