2016年9月19日 星期一

Generic Method 泛型方法 Java

蝦咪是 < T > T genericMethod(T){}
真的是太複雜了...
簡單來說
第一個T:是限定傳進來的參數皆限定為T(針對後面有多個參數時有用)
第二個T:是方法回傳型態為T
第三個T:是傳進來參數為T

針對 Generic Methods 泛型方法
找了許多參考資料
這個好像比較容易了解
中文
http://wilberchao.blogspot.tw/2015/04/java-knowledge-wild-card-vs-generic.html

原廠說明
http://docs.oracle.com/javase/tutorial/extra/generics/methods.html


2014年1月23日 星期四

jsp 中文連結

修改tomcat底下conf/server.xml
找到加入紅色字就可以了
< Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1" 
connectionTimeout="20000" 
redirectPort="8443" />
網頁連結如下

出處:http://www.jb51.net/article/35305.htm

2014年1月14日 星期二

sqlserver2008匯出資料 insert指令

產生指令碼
點下一步

點選要匯出的資料表

點選"進階"->選僅限資料

選擇要匯出到哪裡

開始匯出

匯出完成,可以insert到其他DB



2012年5月29日 星期二

神奇的parseInt("08")

在寫JS的時候
一直測試文字轉數字
剛好測到08 與09要轉數字
奇怪跑出來的結果都是0
真的很納悶
我以為我程式有bug
就去google了一下發現原來是位元字的問題
不是我程式的BUG..冏rz
轉載日期2008/6/3
http://audi.tw/Blog/JavaScript/javascript.parseInt.asp

2011年10月5日 星期三

HTC sensation 擷取手機畫面


按下手機上方電源鍵+主畫面鍵就可以擷取目前畫面
再到相簿中就可以看到擷取的畫面摟....

2011年5月5日 星期四

jsp匯出excel

1.下載jxl套件

2. jsp中

try {

String original_filename = "fileToOutput.xls";
String sRealPath = (String) original_filename;
//產生要存的excel
File file = new File(sRealPath);
//產生一檔案WritableWorkbook讓程式匯出
WritableWorkbook writableWorkBook = Workbook.createWorkbook(file);
//在檔案中開啟一新的sheet
WritableSheet writableSheet = writableWorkBook.createSheet("我是第一張sheet", 1);
//WritableSheet writableSheet2 = writableWorkBook.createSheet("我是第二張sheet", 2);
//設定寫入儲存格的字型大小
WritableFont chFont12w = new WritableFont(WritableFont.createFont("Times New Roman"), 12);
WritableCellFormat writableCellFormat = new WritableCellFormat(chFont12w);

//label中的(0,0)代表excel中的(A,0)
//label中的(1,0)代表excel中的(B,0)
//label中的(1,1)代表excel中的(B,1),以此類推
Label deptLabel = new Label(0, 0, "印出字串",writableCellFormat);
writableSheet.addCell(deptLabel);

//寫入EXCEL檔案
writableWorkBook.write();
//關閉檔案
writableWorkBook.close();


} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

2011年4月1日 星期五

httpclient file中文檔名上傳

要先認證(我用NTLM)

NTCredentials creds = new NTCredentials("帳", "密", "", "網域");
httpclient.getCredentialsProvider().setCredentials(AuthScope.ANY, creds);


HttpPost httppost = new HttpPost("上傳目標位置");
httpclient.getParams().setParameter(CoreProtocolPNames.HTTP_CONTENT_CHARSET,"UTF-8");
httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION,HttpVersion.HTTP_1_1);
FileBody bin = new FileBody(new File(sourcePath),"","UTF-8");
StringBody title = new StringBody(fileName,Charset.forName("UTF-8"));

MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE,null,Charset.forName("UTF-8"));

reqEntity.addPart("file", bin);
reqEntity.addPart("fileTitle", title);

httppost.setEntity(reqEntity);

HttpResponse response = httpclient.execute(httppost);
EntityUtils.consume(resEntity);
try {
httpclient.getConnectionManager().shutdown();
} catch (Exception ee) {ee.printStackTrace(); }


***接收***
使用org.apache.commons.fileupload.FileItem 套件
怎麼接收檔案就不描述了
字串接收

if ("fileTitle".equals(item.getFieldName())) {
fileTitle = new String(item.getString().getBytes("ISO-8859-1"), "UTF-8");
}

檔案接收
可接收檔名

originalFileName = item.getName();
System.out.println("originalFileName:"+originalFileName);


有任何問題請留言或mail可以討論

2011年3月23日 星期三

2011年2月10日 星期四

createElement onclick function 參數

使用DOM時
需要動態加入onclick 啟動某個function
而此function必須傳參數進去
此範例是跑迴圈而每次nid皆不同
每次動態新增一個圖示而點擊圖示時執行popmenu(參數) function的動作

cImg=document.createElement('img');
cImg.id = 'img'+nid;
cImg.setAttribute("src","images/icon_folderclosed.gif");
cImg.alt=nName;
cImg.title=nid+","+nName;
cImg.onclick = Function("popmenu('"+nid+"');");

參考網址http://blog.yam.com/csylvia/article/23681942

2011年1月17日 星期一

sql 找出重複資料

同一table要找出num有重複的筆數可以下以下指令
select *
from user T1 where (select count(*) from user T2 where T1.num = T2.num) >1

2011年1月11日 星期二

java編譯執行

若是
classA加入
package a.b;
代表此class要放在\a\b目錄底下

並且classA有使用到外部c.jar
此jar檔放在d:\test1

預設路徑為d:\test
編譯時
D:\test>javac -cp d:\test1\c.jar d:\test1\a\b\classA.java
執行時
D:\test>java -cp d:\test1\c.jar;. a.b.classA

2011年1月7日 星期五

jsp 接收中文參數

網址列傳中文參數
可以利用這個方法轉換成正確編碼

String cname = new String(request.getParameter("cname").getBytes("ISO-8859-1"),"big5");

2011年1月4日 星期二

OCJP

12/29 考到ocjp 80分 pass

Exam Registration Summary
Please verify the following information:
Confirmation Number: TEESYD51DE
Candidate's Name: Yao-Chun Yu
Exam Name: Oracle Certified Programmer for the Java 2 Platform, SE 6.0
Client/Exam Number: Oracle 310-065
Exam Language: U.S. ENGLISH

2010年11月7日 星期日

eclipse匯入cvs




第一步

第二步
第三部新增


第四步 填入資料

第五步 選擇專案

第六步 選擇要存放的專案

選擇要存放的位置

最後一步 完成拉!

2010年11月3日 星期三

觀察tomcat memory 使用量

開啟tomcat之後
在C:\Program Files\Java\jdk1.6.0_20\bin\裡面有一個jconsole.exe
執行後會出現選擇你要觀察的程式
選擇完就會看到
就可以看到所使用的記憶體容量摟!

tomcat 5.5.20 + jdk 6

若是要這一種組合
必須先把jdk6 裡面的bin/msvcr71.dll複製到Tomcat的bin目錄下
再啟動即可!

修改tomcat memory 配置大小

若出現java.lang.OutOfMemoryError: Java heap space
可以在

windows系統
/tomcat/bin/catalina.bat 加上以下指令:
set JAVA_OPTS=-Xms32m -Xmx256m

unix/linux
/tomcat/bin/catalina.sh 加上以下指令:
JAVA_OPTS="-Xms32m -Xmx256m"

但是這標不治本
請找出真正原因吧!!

2010年9月15日 星期三

java.lang.ClassFormatError: Incompatible magic value

今天在app web jsp執行applet時出現
java.lang.ClassFormatError: Incompatible magic value xxxxxxxx in class file xxx
我找了一整天原因,
主要是因為讀不到我的jar檔
而我的app有做權限控管,不能隨便讀取裡面內容
應該是當我要讀取jar檔時,畫面轉往錯誤訊息頁,
因此applet要讀我的jar檔時,發現他不是正確的格式
所以出現ClassFormatError訊息
因此我將jar的權限控管移除
就可以正確找到檔案.
因此出現此訊息時
請先確認檢查是否可以讀取的到你所要的檔案如jar檔,class檔.

2010年8月12日 星期四

java 檔案下載 下載視窗 直接開啟 中文檔名

//要出現下載視窗

response.setHeader( "Content-Disposition", "attachment; filename=\"" + new String( filename().getBytes("Big5"), "ISO8859_1" ) + "\"" );

//不要出現下載視窗直接開啟

response.setHeader( "Content-Disposition", "filename=\"" + new String( filename().getBytes("Big5"), "ISO8859_1" ) + "\"" );

要call下載的那支程式時
若有寫到target="_blank"
會出現二個畫面一個是視窗一個是下載詢問對話框
若要只要出現下載對話框
要取消target="_blank"
就只會出現下載視窗