2011年1月31日 星期一

【C++】指標與位址

C 語言和 C++ 都有提供操作計憶體的方法,亦為指標,也就是說你可以宣告依個變數來儲存記憶體位址

故指標變數所儲存的並不是值,而是值在記憶體中的位址,在 C++ 要取得變數的記憶體位址

變數的記憶體位址
可以加上一個 & 運算子,以下範例
#include 
using namespace std;
int main(void)
{
    int num = 10;
    double num1 = 10.1;
    count << "the value of num is" << num;
    count << "and it's address is " << &num <<"\n";  //印出 num 的記憶體位址
    count << "the value of num1 is" << num1;
    count << "and it's address is " << &num1 <<"\n";   //印出 num1 的記憶體位址
    system("pause");
    return 0;
}

指標變數的用法

那如何宣告指標變數並存取記憶體位址或是實際的值呢? 只要在變數名稱前面加個*就好了
至於要如何存取指標所指到的變數值和位址呢?

*pointer 就是取出指標變數所指到的變數之值
pointer 即是取出指標變數所指到的變數之記憶體位址

2011年1月29日 星期六

【Java Web】DAO 簡介

DAO 主要是讓處理及操作資料庫更為方便,用來封裝資料庫持久層的操作

即可將很多複雜的資料操作語法和業務邏輯分開

探討其思想其實也是一種 ORM 的概念,以下簡介其基本組成

通常會有一個 DAO 的介面以及一個 DAO 的實現類別

以下以一個用戶註冊或登錄的過程做介紹,首先先來看一下 DAO Interface
package fsc.regLog.dao
public interface UserDao
{
    //登入時,如果成功即回傳一個封裝後的 User 物件,
    public User login(String username, String password);
    //註冊
    public void register(User u);
    //檢查 User 是否存在
    public boolean checkUser(User u);
}

2011年1月25日 星期二

Struts 教學 - DynaActionForm

在頁面中如果有過多的 Action 處理可能會導致需要大量的 ActionForm

而透過 DynaActionForm 則可以不必建立一個個的 ActionForm,而減少ActionForm 的數量

首先在使用 DynaActionForm 時跟 ActionForm 一樣須在 struts-config.xml 中的 form-beans 中設定

以下為範例程式,透過 form-bean 的 type 屬性設定為 org.apache.struts.DynaActionForm
即可建立一個動態的 ActionForm

<form-beans>
    <form-bean name="loginForm" type="org.apache.struts.DynaActionForm">
<!-- form-property 標籤設定了表單中所有對應的參數 -->
<!-- name屬性指定了參數名稱, type屬性則是屬性的型態 -->
<form-property name="account" type="java.lang.String" >
<form-property name="username" type="java.lang.String" >
<form-property name="password" type="java.lang.String" >
</form-bean>
</form-beans>

2011年1月22日 星期六

JSP 教學 - 動態輸出 HTML 樹狀結構

HTML 的樹狀結構東常有很多做法,在很多網站上譬如說部落格裡以時間來顯示文章的部份

即是一種樹狀結構,一般在 HTML裡能讓使用者點及某標籤及展開內容的作法

通常都是透過 CSS 中的 display:none; 來達成,以下範例以 span 標籤為例

以下的水藍色地假設很重要喔 等等 JSP 程式會用到

<span id="spanID" onClick='showhide('show')' >//假設這邊叫標頭
    <p>點我展開</p>
<span>
<span id="show" style="display:none;">  //假設這邊叫內容

<ul>
        <li><a href="http://tw.yahoo.com/">YAHOO</li>
        <li><a href="http://www.google.com.tw/">Google</li>
        <li><a href="http://www.youtube.com/">Youtube</li>

</ul>
</span>

2011年1月19日 星期三

Struts 教學 - Eclipse 環境配置

來介紹一下如何在 Eclipse 中建置 J2EE 的 Struts 框架,

拿來和 Netbeans 比較,Eclipse 在針對眾多的 Framework 的開發比較麻煩點   之前用 Netbeans 開發時

在建置 WEB 專案就可以選擇要使用的框架,並且將其配置完成連開發過程都幫你用好

Eclipse 也可以達到這樣的情形,但需要一些 plug-in  但如果對於一個初學者來說

我是建議先暫時不要用 Plug-in,沒用還是可以開發的只是麻煩點而已

但你可以學到更多東西,應該說你會更熟悉程式碼,本篇就不用 Plug-in 來配置

如果要用的話可以去 google 上找一下  "easystrut"

首先先到 http://struts.apache.org/download.cgi 下載最新版  Struts 1.3.10

2011年1月16日 星期日

JSP 教學 - JFreeChart 製作及中文亂碼問題

JFreeChart 唯一個能運用 JAVA 程式來繪製出各種多樣化的報表圖型,如圓餅圖,長條圖等

此為它的官網,http://www.jfree.org/jfreechart/ 先將壓縮檔下載下來後解壓縮

我是下載 jfreechart-1.0.13 版的,解壓縮後在目錄下的 lib 目錄中的所有JAR複製到WEB專案

路徑下的 /WEB-INF/lib 中,其實只要兩個就夠用啦 jcommon-1.0.16.jar jfreechart-1.0.13.jar


佈置完成後先可以用個 JSP 來測試一下,在 JSP  中寫入 img 標籤

<img src='/vote/showJFreeChart' alt='投票統計'/>  //vote為我的 WEB 專案的名稱
接著可以建置一個 Servlet 來動態產生圖形  showJFreeChart.java

以下來介紹一下最常見的圓餅圖:

2011年1月14日 星期五

JSP 教學 - 檔案讀取與寫入

測試目標:能在網頁上讀取檔案,並且能修改檔案內容,

注意  以下範例是針對一個放在根目錄下的檔案進行測試

首先先來看看網頁如何呈現,那以下我分兩種來說明ㄧ個是針對字串依個是針對二元碼作處理

在JSP中寫入一些 scriptlets

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
//省略 HTML....
<%
     //透過 application 隱含物件 取得真實路徑
  String path = application.getRealPath("simple.txt");  
  java.io.BufferedInputStream bi = new java.io.BufferedInputStream(new java.io.FileInputStream(path));
  byte[] b = new byte[1024];  //1KB
  int num = 0;
  while((num = bi.read(b)) != -1){

2011年1月7日 星期五

【Java Web】Tomcat 及 Eclipse 開發環境

最近開始學 Eclipse,因為 Netbeans 實在是有點慢.... 但是兩個比起來的話

還是互有優缺點 Eclipse 主要是採用依個外掛的結構方式,並提供依個基礎的開發平台

而使用者可以依照不同的開發任務去安裝不同的開發套件 (Plug-in)

先介紹一下如何使用 Eclipse 搭配 Tomcat 6.0 來開發 Java WEB 的應用程式
首先先下載 Tomcat 的安裝程式,下載網址 http://tomcat.apache.org/download-60.cgi

基本上選擇下載 ZIP 檔即可,在該網頁的 Core 的下一行  下載完並解壓縮後選擇一個目錄放置即可,例如 C://

完成後進入 bin 目錄下找到 startup.bat 這個批次檔,雙擊後即可啟動 Tomcat


2011年1月3日 星期一

JSP 教學 - kindeditor 介紹

kindeditor 也是類似於 fckeditor 的套件,為 google 的產品。


兩著比起來,kindeditor 的文字編輯樣板比較精簡好看,也提供各式各樣的樣板

其官網以及所有樣板如下:

http://www.kindsoft.net/ 和 http://www.kindsoft.net/ke/examples/




接下來介紹如何使用 kindeditor  ,首先先去下載最新版的主程式 kindeditor-3.5.2.zip

2011年1月1日 星期六

JSP 教學 - fckeditor 介紹

fckeditor 是提供文字編輯的模組,譬如一般在寫部落格文章或是論壇等

以下為他們的官方網站,可以上去學習一下 

http://ckeditor.com/

先來介紹一下如何在 Java Web 的環境中(以Netbeans 為例)使用 fckeditor

首先要下載兩個東西,先進入以下網址,並下載 2.3 版以及主文件  2.4.2

http://sourceforge.net/projects/fckeditor/files/FCKeditor.Java/

下載完畢並解壓縮後先來看看 2.3 的內容,最重要的是目錄底下的


web\WEB-INF\  這應該很熟西吧,先將這目錄下的 lib 複製到你專案下的 WEB-INF 中