2014年3月31日 星期一

如何遠端連線到MYSQL DB SERVER

假設我們的MySQL DB伺服器架在192.168.0.103
我現在想要用192.168.0.101 連過去
如果沒有設定的情況下
DB SERVER只接受localhost連線 也就是127.0.0.1
所以就算我有帳號密碼也會連不上 因為DB根本不知道自己是.0.103

所以要去my.cnf這個設定檔去做設定
找到這句:
bind-address = 127.0.0.1
並將IP改成自己在網絡上的IP (或實體IP)
本範例為: 192.168.0.103

接著192.168.0.101這台就可以直接存取囉
(當然帳號與權限得在MySQL這邊先設定好)

[後續]
後來發現光這樣做,原先寫在程式裡面的getConnection()方法使用localhost去連會出錯 (原因是已經變成遠端連線,所以本端連線會失效)

因此要把本端連線也改成用IP去連,這樣就可以了。

2014年3月13日 星期四

JSP導出Excel奇怪的亂碼問題

出處: JSP導出Excel奇怪的亂碼問題

遇到跟連結中作者一樣的問題,JSP導出EXCEL一般情況都好好的,但就是資料少的時候會出現亂碼。

文中提到

<%  
    //就是靠這一行,讓前端瀏覽器以為接收到一個excel檔   
    response.setHeader("Content-disposition" ,"attachment; filename=Excle.xls");     
%> 

就是解決關鍵,我自己的檔案中原本是inline,改成attachment之後就沒問題囉!!

感謝作者。

[後續]
不知道為什麼,後來又跑一次CODE又失敗了,只好繼續找答案,這次找到這個:

要在寫入EXCEL的時候先寫這段: 
//PrintWriter op = response.getWriter();
op.write("<meta http-equiv=Content-Type content=text/html;charset=utf-8>");

整段如下:
<%  
//將產生的排行表導入EXCEL檔,以供下載
    try{
   response.reset();        
   String fileName =  request.getParameter("fileName");  
   response.setHeader("Content-disposition","attachment; filename=Ranking_" + fileName); 
   response.setHeader("Pragma", "no-cache");
   response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
   response.setHeader("Cache-Control", "pre-check=0, post-check=0, max-age=0");
   response.setHeader("Content-Transfer-Encoding", "binary");
   response.setHeader("Content-Encoding", "UTF-8");
   response.setHeader("Expires", "0");
   response.addHeader("Accept-Language", "zh-tw");
   response.setContentType("application/ms-excel");
   
   PrintWriter op = response.getWriter();  
   String CSV = request.getParameter("tableHTML");  
   if (CSV == null)  
   {  
       CSV="NO DATA";  
   }  
   if (fileName == null)  
{  
   CSV="NO FILE NAME SPECIFIED";  
}  
   op.write("<meta http-equiv=Content-Type content=text/html;charset=utf-8>");
op.write(CSV);  
    }catch (Exception ex){
    ex.printStackTrace();
    }
%>  

2014年3月7日 星期五

開發之前,先確定客戶伺服器環境

I have learned this in a hard way...

開發之前,對方答應讓我們用我們的環境開發
所以我們用了當下比較新版的java1.7 tomcat7 mysql5.6
到最後客戶卻只能提供java 1.7, tomcat 6, mysql5.1
許多伺服器設定又不允許做更改
只能在CODE裡面做手腳去解決

It is a total disaster!!!

早點知道環境就不用安裝的這麼痛苦了,MLGB。

2014年3月3日 星期一

SVN SERVER

自從把公司網路重整之後
網路系統比較有自主權了

之前在ubuntu中設定的svn現在也可以開通使用了
還嘗試了使用Eclipse的套件 Subversive 去連結SVN SERVER
這樣開發上就更方便了!!

Server: ubuntu - subversion
Client: Windows - TortiseSVN
Eclipse: Subversive