javac -d somedir/ some.java是指定class的輸出目錄
javac -cp .:dir:anotherdir some.java 指定classpath
javac *.java 一次編譯所有java檔
2008年3月30日 星期日
2008年3月27日 星期四
java 的 DateFormat
//解析輸入日期 (轉換 MM/dd/yyyy 成 yyyy-MM-dd)
DateFormat formatIn = new SimpleDateFormat("MM/dd/yyyy");
DateFormat formatOut = new SimpleDateFormat("yyyy-MM-dd");
Date datefrom = formatIn.parse(from);
Date dateend = formatIn.parse(end);
formatedfrom = formatOut.format(datefrom);
formatedend = formatOut.format(dateend);
DateFormat formatIn = new SimpleDateFormat("MM/dd/yyyy");
DateFormat formatOut = new SimpleDateFormat("yyyy-MM-dd");
Date datefrom = formatIn.parse(from);
Date dateend = formatIn.parse(end);
formatedfrom = formatOut.format(datefrom);
formatedend = formatOut.format(dateend);
2008年3月24日 星期一
html input 空字串問題
html中的from使用的input元素
<input name="in" type="text">
如果沒有輸入任何值的話,submit後
由jsp的out.getParameter("in")取到的值,
將會是"" <-空字串,而不是null。
寫jsp時,需特別注意。
<input name="in" type="text">
如果沒有輸入任何值的話,submit後
由jsp的out.getParameter("in")取到的值,
將會是"" <-空字串,而不是null。
寫jsp時,需特別注意。
2008年3月17日 星期一
使tomcat完全支援中文
只要在/var/lib/tomcat5.5/conf/server.xml
下的Connector tag加上一個屬性,URIEncoding="UTF8"
即可,
例如:
<Connector port="8180" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
JSPWiki經由這個設定,即可使用中文做為文件名稱而不會顯示成亂碼。
下的Connector tag加上一個屬性,URIEncoding="UTF8"
即可,
例如:
<Connector port="8180" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
JSPWiki經由這個設定,即可使用中文做為文件名稱而不會顯示成亂碼。
2008年3月14日 星期五
jsp輸出xml
假如想要以jsp輸出xml到browser,如:
1 <%
2 out.println("<?xml version=\"1.0\"?>");
3 out.println("<test>");
4 out.println("abcd");
5 out.println("</test>");
6 %>
這樣還不夠,只會顯示abcd
還必須加上
7 <%@page contentType="application/xml" %>
讓browser知道這是一個xml而不是jsp
1 <%
2 out.println("<?xml version=\"1.0\"?>");
3 out.println("<test>");
4 out.println("abcd");
5 out.println("</test>");
6 %>
這樣還不夠,只會顯示abcd
還必須加上
7 <%@page contentType="application/xml" %>
讓browser知道這是一個xml而不是jsp
JspWiki設定
jspwiki的安裝在tomcat下的webapp完成後
就需要進行一些設定
主要的是WEB-INF/jspwiki.properties用來設定資料存放位置
及WEB-INF/jspwiki.policy用來設定用戶權限
就需要進行一些設定
主要的是WEB-INF/jspwiki.properties用來設定資料存放位置
及WEB-INF/jspwiki.policy用來設定用戶權限
2008年3月13日 星期四
log4j
在java程式裡如果log4j的設定檔log4j.properties
沒有放在程式的ClassPath下
則log4j會產生Warring
要指定log4j的設定檔位置 (假設放在java執行目錄下的conf/log4j.properties)
只要在程式開始處加入
PropertyConfigurator.configure("conf/log4j.properties");
即可。
沒有放在程式的ClassPath下
則log4j會產生Warring
要指定log4j的設定檔位置 (假設放在java執行目錄下的conf/log4j.properties)
只要在程式開始處加入
PropertyConfigurator.configure("conf/log4j.properties");
即可。
2008年3月7日 星期五
hwclock
如果#hwclock -w 出現以下錯誤
select() to /dev/rtc to wait for clock tick timed out
可以試試看使用 --directisa參數
#hwclock -w --directisa來進行寫入時間到BIOS的動作
同樣的,要看看BIOS上的時間為何,只要下
#hwclock -r --directisa即可
select() to /dev/rtc to wait for clock tick timed out
可以試試看使用 --directisa參數
#hwclock -w --directisa來進行寫入時間到BIOS的動作
同樣的,要看看BIOS上的時間為何,只要下
#hwclock -r --directisa即可
JSPWiki in Debian 安裝記實
首先:
到http://www.jspwiki.org/下載JSPWiki
我的版本是JSPWiki-2.6.1-bin.zip
再來以aptitude安裝tomcat5.5套件
ps.非tomcat5而是tomcat5.5
修改tomcat5.5啟動配置檔
sudo vim /etc/default/tomcat5.5
設定
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
TOMCATS_SECURITY=no
然後:
解壓縮JSPWiki-2.6.1-bin.zip
7z x JSPWiki-2.6.1-bin.zip
就會產生JSPWiki/資料夾
建立/home/muchu1983/public_html/wikidata/的資料夾
並將JSPWiki/JSPWiki-corepages.zip copy到wikidata/資料夾下
解壓縮JSPWiki-corepages.zip
7z x JSPWiki-corepages.zip
更改wikidata/的權限
sudo chown tomcat55 wikidata -R
sudo chgrp nogroup wikidata -R
也將JSPWiki/JSPWiki.war copy到tomcat webapps下
sudo cp JSPWiki/JSPWiki.war /var/lib/tomcat5.5/webapps/
過一下子tomcat會自動將JSPWiki.war解壓,產生webapps/JSPWiki/資料夾
編輯webapps/JSPWiki/WEB-INF/jspwiki.properties檔案
更改以下幾行
jspwiki.pageProvider =VersioningFileProvider
jspwiki.fileSystemProvider.pageDir =/home/muchu1983/public_html/wikidata
jspwiki.basicAttachmentProvider.storageDir =/home/muchu1983/public_html/wikidata
儲存
以browser連到http://localhost:8180/JSPWiki/Install.jsp
直接按下Configure按鈕進行設定,
之後會亂數產生admin帳號的預設密碼,copy密碼
再連到http://localhost:8180/JSPWiki/就可以admin登入
到http://www.jspwiki.org/下載JSPWiki
我的版本是JSPWiki-2.6.1-bin.zip
再來以aptitude安裝tomcat5.5套件
ps.非tomcat5而是tomcat5.5
修改tomcat5.5啟動配置檔
sudo vim /etc/default/tomcat5.5
設定
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
TOMCATS_SECURITY=no
然後:
解壓縮JSPWiki-2.6.1-bin.zip
7z x JSPWiki-2.6.1-bin.zip
就會產生JSPWiki/資料夾
建立/home/muchu1983/public_html/wikidata/的資料夾
並將JSPWiki/JSPWiki-corepages.zip copy到wikidata/資料夾下
解壓縮JSPWiki-corepages.zip
7z x JSPWiki-corepages.zip
更改wikidata/的權限
sudo chown tomcat55 wikidata -R
sudo chgrp nogroup wikidata -R
也將JSPWiki/JSPWiki.war copy到tomcat webapps下
sudo cp JSPWiki/JSPWiki.war /var/lib/tomcat5.5/webapps/
過一下子tomcat會自動將JSPWiki.war解壓,產生webapps/JSPWiki/資料夾
編輯webapps/JSPWiki/WEB-INF/jspwiki.properties檔案
更改以下幾行
jspwiki.pageProvider =VersioningFileProvider
jspwiki.fileSystemProvider.pageDir =/home/muchu1983/public_html/wikidata
jspwiki.basicAttachmentProvider.storageDir =/home/muchu1983/public_html/wikidata
儲存
以browser連到http://localhost:8180/JSPWiki/Install.jsp
直接按下Configure按鈕進行設定,
之後會亂數產生admin帳號的預設密碼,copy密碼
再連到http://localhost:8180/JSPWiki/就可以admin登入
2008年3月6日 星期四
jetty的request/response
jetty自己實做了request及response物件
來進行jsp/servlet的運作,
但jetty的handle方法是將request/response
以標準的HttpServletRequest/HttpServletResponse傳進來
所以如果要使用jetty新增或加強的功能就要做降轉(down cast)的動作:
來進行jsp/servlet的運作,
但jetty的handle方法是將request/response
以標準的HttpServletRequest/HttpServletResponse傳進來
所以如果要使用jetty新增或加強的功能就要做降轉(down cast)的動作:
Request base_request = request instanceof Request?(Request)request:HttpConnection.getCurrentConnection().getRequest();
Response base_request = response instanceof Response?(Response)request:HttpConnection.getCurrentConnection().getResponse();
例如:如果handler要阻止request繼續往下一個hadler傳輸,則可以handle方法加上
Request base_request = (httprequest instanceof Request) ? (Request)httprequest:HttpConnection.getCurrentConnection().getRequest();
base_request.setHandled(true);
WEB-INF\classes
寫jsp的webapp時
如果所寫的jsp有用到自定的class或是servlet
要放在webroot/WEB-INF/classes資料夾內
並且要依據class的package放好
則jetty會自動的把WEB-INF\classes設為classpath
如果所寫的jsp有用到自定的class或是servlet
要放在webroot/WEB-INF/classes資料夾內
並且要依據class的package放好
則jetty會自動的把WEB-INF\classes設為classpath
2008年3月5日 星期三
2008年3月2日 星期日
getPackage()
this.getClass().getPackage()
這個方法會呼叫到class的所屬ClassLoader之getPackage(String name)
而如果ClassLoader是特殊客製的,必須要記得在實作defineClass()這個方法時,
適時的呼叫definePackage(pkgname,null,null,null,.....);這個方法
ClassLoader本身有維護一個HashMap
definePackae()會以對應的pkgname產生一個Packae物件實例,存入這一個HashMap
如此一來客製的ClassLoader的getPackage(String name)方法才會正確運作,
否則只會傳回null。
這個方法會呼叫到class的所屬ClassLoader之getPackage(String name)
而如果ClassLoader是特殊客製的,必須要記得在實作defineClass()這個方法時,
適時的呼叫definePackage(pkgname,null,null,null,.....);這個方法
ClassLoader本身有維護一個HashMap
definePackae()會以對應的pkgname產生一個Packae物件實例,存入這一個HashMap
如此一來客製的ClassLoader的getPackage(String name)方法才會正確運作,
否則只會傳回null。
2008年3月1日 星期六
Linux 的網路校時
台灣的ntp server列表
##########ntpserver#############
time.stdtime.gov.tw
clock.stdtime.gov.tw
tick.stdtime.gov.tw
tock.stdtime.gov.tw
watch.stdtime.gov.tw
##########ntpserver#############
先安裝ntpdate這一支程式
#ntpdate [ntpserver]
再寫入bios
#hwclock -w
即可完成校時
##########ntpserver#############
time.stdtime.gov.tw
clock.stdtime.gov.tw
tick.stdtime.gov.tw
tock.stdtime.gov.tw
watch.stdtime.gov.tw
##########ntpserver#############
先安裝ntpdate這一支程式
#ntpdate [ntpserver]
再寫入bios
#hwclock -w
即可完成校時
訂閱:
文章 (Atom)