在一般瀏覽器以Javascript設計開啟新視窗,
使用 window.open( url , "windown_name", "視窗狀態列設定"); 就可達成,
但在 Google Chrome 瀏覽器卻失效( Google Chrome Default 是自動阻擋新視窗)
但可開啟新分頁, 只要調整 javascript 語法即可
var newwin = window.open(); //此行一定要如此書寫,否則失效
newwin.location= url; // url是 cgi 程式或者超連結 html
2015年1月2日 星期五
PhpMyAdmin 無法看資料庫結構的問題解決
無論是單獨安裝 phpmyadmin 或者套件安裝 WAMP ,這個問題皆會存在
原因是 PHP5以後 與作業系統 windows 7/ Linux 版本相容問題
解決方法:
在phpmyadmin 安裝目錄,找到 Util.class.php 這個檔案
如: wamp 之 D:\wamp\apps\phpmyadmin4.1.14\libraries\Util.class.php
修改如下
找到
原因是 PHP5以後 與作業系統 windows 7/ Linux 版本相容問題
解決方法:
在phpmyadmin 安裝目錄,找到 Util.class.php 這個檔案
如: wamp 之 D:\wamp\apps\phpmyadmin4.1.14\libraries\Util.class.php
修改如下
找到
return strftime($date, $timestamp);改為
return date("Y-m-d: H:i:s" , $timestamp);
2015年1月1日 星期四
Javamail for google
原文出處: 龍貓 的心情日記
http://supermand9362787.wordpress.com/2008/11/02/javamail-for-google/
與其他郵箱不同的是Gmail提供的POP3和SMTP是使用安全套接字層SSL的,因此常規的JavaMail程序是無法收發郵件的,下面是使用JavaMail如何收取Gmail郵件以及發送郵件的代碼:
1. 郵件收取
http://supermand9362787.wordpress.com/2008/11/02/javamail-for-google/
利用JavaMail收/發Gmail郵件(SSL)
Gmail目前已經啟用了POP3和SMTP服務,具體情況請看 http://www.javayou.com/showlog.jspe?log_id=490與其他郵箱不同的是Gmail提供的POP3和SMTP是使用安全套接字層SSL的,因此常規的JavaMail程序是無法收發郵件的,下面是使用JavaMail如何收取Gmail郵件以及發送郵件的代碼:
1. 郵件收取
package lius.javamail.ssl;
import java.io.UnsupportedEncodingException;
import java.security.*;
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeUtility;
/**
* 用於收取Gmail郵件
* @author Winter Lau
*/
public class GmailFetch {
public static void main(String argv[]) throws Exception {
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
// Get a Properties object
Properties props = System.getProperties();props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.pop3.socketFactory.fallback", "false");props.setProperty("mail.pop3.port", "995");
props.setProperty("mail.pop3.socketFactory.port", "995");
//以下步驟跟一般的JavaMail操作相同
Session session = Session.getDefaultInstance(props,null);
//請將紅色部分對應替換成你的郵箱帳號和密碼
URLName urln = new URLName("pop3","pop.gmail.com",995,null,"[郵箱帳號]", "[郵箱密碼]");
Store store = session.getStore(urln);
Folder inbox = null;
try {
store.connect();
inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
FetchProfile profile = new FetchProfile();
profile.add(FetchProfile.Item.ENVELOPE);
Message[] messages = inbox.getMessages();
inbox.fetch(messages, profile);
System.out.println("收件箱的郵件數:" + messages.length);
for (int i = 0; i < messages.length; i++) {
//郵件發送者
String from = decodeText(messages[i].getFrom()[0].toString());
InternetAddress ia = new InternetAddress(from);
System.out.println("FROMia.getPersonal()+'(‘+ia.getAddress()+’)’);
//郵件標題
System.out.println("TITLEmessages[i].getSubject());
//郵件大小
System.out.println("SIZEmessages[i].getSize());
//郵件發送時間
System.out.println("DATEmessages[i].getSentDate());
}
} finally {
try {
inbox.close(false);
} catch (Exception e) {}
try {
store.close();
} catch (Exception e) {}
}
}
protected static String decodeText(String text)
throws UnsupportedEncodingException {
if (text == null)
return null;
if (text.startsWith("=?GB") || text.startsWith("=?gb"))
text = MimeUtility.decodeText(text);
else
text = new String(text.getBytes("ISO8859_1"));
return text;
}
}
2. 發送郵件
package lius.javamail.ssl;
import java.security.Security;
import java.util.Date;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
/**
* 使用Gmail發送郵件
* @author Winter Lau
*/
public class GmailSender {
public static void main(String[] args) throws AddressException, MessagingException {
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
// Get a Properties object
Properties props = System.getProperties();
props.setProperty("mail.smtp.host", "smtp.gmail.com");
props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.port", "465");
props.setProperty("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.authrue");
final String username = "[郵箱帳號]";
final String password = "[郵箱密碼]";
Session session = Session.getDefaultInstance(props, new Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
}
);
// — Create a new message –
Message msg = new MimeMessage(session);
// — Set the FROM and TO fields –
msg.setFrom(new InternetAddress(username + "@mo168.com"));
msg.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("[收件人地址]",false));
msg.setSubject("Hello");
msg.setText("How are you");
msg.setSentDate(new Date());
Transport.send(msg);
System.out.println("Message.");
}
}
手動安裝MySQL on Windows
下載 MySQL for Zip File
http://dev.mysql.com/downloads/mysql/
1.解壓縮 mysql-5.6.22-win32.zip
http://dev.mysql.com/downloads/mysql/
2.將預設的 my-default.ini 改為 my.ini
3.修改 my.ini:
設定 MySQL 的執行路徑及資料庫存放路徑(x:為Driver Letter):
basedir = x:\mysql
datadir = x:\mysql\data
4.安裝服務(Windows平台):
安裝Service: x:\mysql\bin\mysqld --install MySQL
移除Service: x:\mysql\bin\mysqld --remove
5.啟動服務:
x:\>NET START MYSQL
或 x:\>SC start MYSQL
或用服務管理員來啟動 MySQL
使用 Eclipse 開發Servlet 或 JSP : 安裝篇
下載安裝 JDK7
http://www.oracle.com/technetwork/java/javase/downloads/index.html

下載安裝 Eclipse Luna 4.4 (For Java EE)
https://eclipse.org/downloads/
下載安裝 Tomcat
http://tomcat.apache.org/download-70.cgi
下載 Zip 檔案 -) 解壓與更名至 x:\Tomcat7
下載安裝 Tomcat Eclipse Plugin
http://www.eclipsetotale.com/tomcatPlugin.html
選擇適合 Eclipse Luna 4.4 版本 Plugin 下載
解開 tomcatPluginV331.zip
將解開之 jar 檔 copy至 eclipse 目錄 plugins 檔案夾之下即可
設定 Tomcat Eclipse Plugin
Window -) Preferences -)
Tomcat -) 選擇 Version 7.x -) Tomcat Home 填入 x:\Tomcat7
設定 Tomcat 伺服器
Windows -) Show view -) Other -) Server -) Servers

完成後會在Eclipse開發視窗中出現 Servers 顯示Tab,然後在這視窗按右鍵
-)New -) Server
選擇 Tomcat7 -) 填入tomcat path
出現下圖即完成設定
http://www.oracle.com/technetwork/java/javase/downloads/index.html

下載安裝 Eclipse Luna 4.4 (For Java EE)
https://eclipse.org/downloads/
下載安裝 Tomcat
http://tomcat.apache.org/download-70.cgi
下載 Zip 檔案 -) 解壓與更名至 x:\Tomcat7
下載安裝 Tomcat Eclipse Plugin
http://www.eclipsetotale.com/tomcatPlugin.html
選擇適合 Eclipse Luna 4.4 版本 Plugin 下載
解開 tomcatPluginV331.zip
將解開之 jar 檔 copy至 eclipse 目錄 plugins 檔案夾之下即可
設定 Tomcat Eclipse Plugin
Window -) Preferences -)
Tomcat -) 選擇 Version 7.x -) Tomcat Home 填入 x:\Tomcat7
設定 Tomcat 伺服器
Windows -) Show view -) Other -) Server -) Servers

完成後會在Eclipse開發視窗中出現 Servers 顯示Tab,然後在這視窗按右鍵-)New -) Server
選擇 Tomcat7 -) 填入tomcat path
出現下圖即完成設定
在Google Blog 網頁中嵌入顯示程式碼
原文出處:符碼記憶
http://www.ewdna.com/2012/02/google-code-prettify.html
在網頁中嵌入顯示程式碼:CSS Block:
http://www.ewdna.com/2012/02/css-block.html
新增一段JavaScript程式碼
如果要顯示的是程式碼,若要保持程式的排版,建議使用 <pre> 這個標籤, 如下面這段程式:
http://www.ewdna.com/2012/02/google-code-prettify.html
在網頁中嵌入顯示程式碼:CSS Block:
http://www.ewdna.com/2012/02/css-block.html
範例
prettyprint 風格
public class HelloWorld {
public static void main (String[] args) {
System.out.println("Hello, world!");
}
}
codeblock and prettyprint 風格
public class HelloWorld {
public static void main (String[] args) {
System.out.println("Hello, world!");
}
}
步驟一嵌入步驟(以Blogger為例): 第一步: 進入Blogger後台(登入後在Toolbar右上點選設計), 選範本 -> 選修改HTML -> 繼續。
新增一段JavaScript程式碼
<style>
.post .codeblock {
display: block; /* fixes a strange ie margin bug */
font-family: Courier New;
font-size: 10pt;
overflow:auto;
background: #f0f0f0 url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAASwCAYAAAAt7rCDAAAABHNCSVQICAgIfAhkiAAAAQJJREFUeJzt0kEKhDAMBdA4zFmbM+W0upqFOhXrDILwsimFR5pfMrXW5jhZr7PwRlxVX8//jNHrGhExjXzdu9c5IiIz+7iqVmB7Hwp4OMa2nhhwN/PRGEMBh3Zjt6KfpzPztxW9MSAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzB8HS+J9kUTvzEDMwAAAABJRU5ErkJggg==) left top repeat-y;
border: 1px solid #ccc;
padding: 10px 10px 10px 21px;
max-height:1000px;
line-height: 1.2em;
}
</style>
如果要顯示的是程式碼,若要保持程式的排版,建議使用 <pre> 這個標籤, 如下面這段程式:
<pre class='codeblock'>
public class HelloWorld {
public static void main (String[] args) {
System.out.println("Hello, world!");
}
}
</pre>
2014年12月31日 星期三
Step By Step Hibernate Tutorial Using eclipse WTP
文章出處: Jitendra Zaa
http://www.jitendrazaa.com/blog/sql/myqsl/step-by-step-hibernate-tutorial-using-eclipse-wtp/
以 Eclipse Java EE IDE Version: Luna Service Release 1 (4.4.1) 為例
In Eclipse IDE, menu bar, select “Help” >> “Install New Software …” put the Eclipse update site
http://www.jitendrazaa.com/blog/sql/myqsl/step-by-step-hibernate-tutorial-using-eclipse-wtp/
以 Eclipse Java EE IDE Version: Luna Service Release 1 (4.4.1) 為例
In Eclipse IDE, menu bar, select “Help” >> “Install New Software …” put the Eclipse update site
URL “http://download.jboss.org/jbosstools/updates/stable/luna/”
以下列勾選為主,不要全選,避免失敗
訂閱:
文章 (Atom)
Java 不同編碼字串, 其字串長度大小計算
以 Java 開發專案, 在 DAO 寫入資料庫時, 常遇到JAVA 字串與資料庫編碼不一致, 有時會產生字串過長,導致無法寫入資料庫的情況. 這時就要在入庫前, 先驗證 JAVA 編碼字串是否超出資料庫欄位長度 JAVA 依 不同編碼, 其長度是不一樣的 如: ...
-
方法是: Tomcat 本身就提供了查看版本的指令: version 在 Tomcat 的安裝目錄的 x:\tomcat\ bin 子目錄下,有兩個檔: · version.bat for Windows · version.sh for...
-
以 Java 開發專案, 在 DAO 寫入資料庫時, 常遇到JAVA 字串與資料庫編碼不一致, 有時會產生字串過長,導致無法寫入資料庫的情況. 這時就要在入庫前, 先驗證 JAVA 編碼字串是否超出資料庫欄位長度 JAVA 依 不同編碼, 其長度是不一樣的 如: ...
-
在一般瀏覽器以Javascript設計開啟新視窗, 使用 window.open( url , "windown_name", "視窗狀態列設定"); 就可達成, 但在 Google Chrome 瀏覽器卻失效( Google Chro...

















