最近幫客戶系統製作安裝光碟時,在安裝Tomcat發現如果不是使用Tomcat官網下載的exe安裝檔案,透過Tomcat\bin 下的service 進行服務安裝時,裝好的服務預設啟動模式為手動
找了一下資料,發現有二種解法
1.直接從service.bat 下手,請用編輯器打開 找尋 「 :installed 」在這執行腳本中的
“%EXECUTABLE%” //US//%SERVICE_NAME% ++JvmOptions “-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties” –JvmMs 256 –JvmMx 512
加上 –Startup=auto ,結果如下:
“%EXECUTABLE%” //US//%SERVICE_NAME% ++JvmOptions “-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties” –JvmMs 256 –JvmMx 512 –Startup=auto
這樣執行service install tomcat5 後就預設啟動模式為自動啦
2.第二個方法,是透過window的指令下手,請執行
sc config service_name start=auto
這樣也行,所以可以把這指令寫在安裝步驟也可以達到預期效果
以上執行在搭配Tomcat 5.5 測試過~是ok的!!
最近常會需要把中文直接顯示在URL上,方便使用者及搜尋引擎辨識
不過後來發現,直接將中文顯示於網頁連結時,如使用者直接點選是ok的
但如果使用者用複製URL連結 再自行至IE 貼上再連結就會出現亂碼啦
在FireFox上使用時,如上述動作他會自動將中文轉成unicode碼所以會讓這url 可以執行
但如果是從其它地方copy中文連結貼上,也會是亂碼…看來還是只能把URL的中文進行轉碼才行
在Java 可以透過
java.net.URLEncoder.encode(keyword,”UTF-8″)
進行轉碼,這樣在url 連結雖會顯示unicode碼,但至少上述動作都能正常
不知搜尋引擎會不會辨識這文字呢?
此外,要注意的是,在測試時 URLEncoder.encode()時 如沒有帶入”UTF-8″
轉出的Unicode碼是無法使用的…怪~以前記憶中是可以的
反正大家如在try 時,不行就和我一樣加上”UTF-8″吧!!
最近想可否自動加上一些浮水印的效果
平常很少用程式來進行影像處理,
參考了java合并图片 – Ivan Zhang's 弹丸之地 – CSDNBlog ,發現Java實作還真容易
怪不得Java可以成為目前的主流程式語言之一。
小弟加以調整,把小圖淡化合併於左下角,感覺會有點浮水印的效果,近幾年這種效果蠻討喜的
以下這是原圖,就去網路找最近家中在看的韓劇「愛情殺手吳水晶」的圖片:
然後要合併的,就拿Keroro軍曹來吧,會比較討喜點:
程式如下:
import java.awt.AlphaComposite;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import javax.imageio.ImageIO;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
public class DrawImage{
public static void main(String[] args) throws Exception{
InputStream imagein=new FileInputStream(“c:\\test\\a.jpg”);
InputStream imagein2=new FileInputStream(“d:\\test\\b.gif”);
BufferedImage image=ImageIO.read(imagein);
BufferedImage image2=ImageIO.read(imagein2);
Graphics2D g = image.createGraphics();
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.6f));
g.drawImage(image2,image.getWidth()-image2.getWidth(),image.getHeight()-image2.getHeight(),null);
OutputStream out=new FileOutputStream(“c:\\test\\ok.jpg”);
JPEGImageEncoder enc=JPEGCodec.createJPEGEncoder(out);
enc.encode(image);
imagein.close();
imagein2.close();
out.close();
}
}
合併後如下:
很容易吧,幾行程式就可以有這樣的效果真是不錯!!
以上圖片引用,謝謝不知名網站借來學習!
這次是說的是如何將Vector進行排序
先前大致瞭解Java2本身有提供排序功能,但通常都在寫資料庫的程式
只要是資料排序,一般都在資料庫裡做掉了
很少很少需要在程式進行排序,剛好最近有study一下
寫上來與大家分享..^^
JAVA很簡單,只要是implement List,就可以透過Collections就可以排序啦
以下範例就是一個很簡單的排序:
Vector v = new Vector();
v.add(“anupama”);
v.add(“jyothi”);
v.add(“durga”);
v.add(“vaseef”);
v.add(“priya”);
Collections.sort(v);
System.out.println(“Vector elements after sorting : “);
for(int i=0; i<v.size(); i++)
System.out.println(v.get(i));
而如果Vector存入的不是字串這種單純的物件呢?
Collections可以透過實作Comparator來進行排序
以下就是要針對GoodItem的某一屬性進行比較排序,所以實作Comparator的compare即可
當比較大時就回傳1,反之就回傳-1:
public class PitemSort implements Comparator{
public int compare(Object obj1, Object obj2){
GoodItem o1=(GoodItem) obj1;
GoodItem o2=(GoodItem) obj2;
if(o1.getPrice()>o2.getPrice()){
return 1;
}
if(o1.getPrice()<o2.getPrice()){
return -1;
}
return 0;
}
}
而要使用時,只要import進行在sort時,指定要以實作的Comparator進行排序即可,範例指令如下:
Collections.sort(v, new PitemSort());
如此一來,就可以很簡單進行排序啦,不用再自己寫排序方法啦,而Collections非常的彈性,如果要進行
複雜的排序,應該都可以達到,今天就先講簡單的就好!有需要請自行去查API囉!!
參考資料:
http://www.programmersheaven.com/mb/java/381483/381921/re-sorting-in-vector/?S=B20000
今天花了一些時間在排除一個怪現象
因為覺得很奇特,所以特別寫上註記一下
給自己加深印象,也給可能會遇到的人參考一下
就是今天在撰寫程式利用jQuery的ajax 向另一隻程式要資料
寫法都沒有問題,但就是會出現ajax Error
初步排除法:
1.先確認程式是否無誤
2.再確認編碼是否為utf8
3.再確認回傳參數是否符合格式 (今天是使用json)
都確認過了,但就還是失敗
所以先把資料頁存成htm的方式試試
怪了,竟然成功了說 =.=|||
再仔細確認剛剛檢查的步驟,每一項都正確但只要換成JSP
就會失敗…最後發現問題點在
<%@ page contentType=”text/html; charset=UTF8″ %>
要調整為以下才行
<%@ page contentType=”text/html; charset=UTF-8” %>
怪吧! 瀏覽器兩者都認為是UTF-8的格式,但jQuery似乎比較挑一點
一定要寫UTF-8才行..@@ (又不知死了多少腦細胞了..)
近期留言