PHP字串長度找子字串與取代字串的常用函數

PHP在字串的操作上,有非常多的相關函數可以使用,我們在這裡只介紹經常會使用到的字串操作函數。像是如何取得字串的長度、在某一個字裏面尋找子字串首次出現的位置、以及字串的取代函數...等等。這些都是在編寫程式的時候,頻繁被程式設計師使用到的基礎函數。 取得字串長度 <?...

2012年7月26日 星期四

簡單JAX-WS Web Service使用教學

JAX-WS(Java API for XML Web Services)Web Service是一種由Oracle Sun發展的以XML為基礎的Web Service開發技術。目前已經涵概到Java EE5(含)以上的版本,它可以讓使用者迅速開Java Web Service,除了採用SOAP(Simple Object Access Protocol)通訊協定和XML資料標準,也支援以HTTP為基礎的通訊協定,JAX-WS使用JAXB 2.0處理資料物件與XML資料格式的映射交換,可以在程式代碼中使用@XXX的註解標籤,大大的簡單化Web Service開發流程與減少Web Service於執行階段所產生JAR檔的大小。在這篇教學文章中,會建立一個Web Service且安排內部的程式邏輯、再分別寫三個Web Service Client,
來使用與測試Web Service服務是否正常運作。

在本範例中選擇NetBean IDE 6.9來開發Web Service,緊接著我們會依照下面的步驟逐一的完成Web Service程式的建立: 

建立一個Web Service

首先, 單擊滑鼠右鍵後選擇「New Project」項目(圖1),再來選取Java Web -> Web Application次項目(圖2),稍後畫面帶到「New Web Application」對話框後,請逐一完成Name and LocationServer and SettingsFramework」步驟的內容設定:
  1. Name and Location請設定Project Name為Welcome,其餘Project Location、 Project Folder都為預設值。
  2. 於Server and Settings設定Server為GlassFish Server 3,其他的Java EE Version、Context Path均為預設值。
  3. 到Framework步驟時,需依據每一個專案的需要選擇適當的framework來配合專案一起使用,但在本例子中並不需要使用framework。
 圖1. 單擊滑鼠右鍵後選擇「New Project」項目

圖2. 再來選取Java Web -> Web Application次項目

一支簡單Java AP Web Service Client

回簡單JAX-WS Web Service使用教學頁面

在這一篇文章中,我們將介紹如何透過一個簡單的Java AP Client來存取一個可以正常連線運作的Web Service(JAX-WS)服務,一般來說這種Java應用程式的Web Service Client習慣在開發完成之後,把整個專案打包成一個jar檔的類別庫,提供給各式各樣的不同的專案作為公用類別庫使用。

建立一個Java應用程式專案

首先,在「Projects」項目底下按滑鼠右鍵帶出脈絡選單後,選擇New Project...」項目,進入到Choose Project對話視窗,選取Java -> Java Application的專案類型,

來到Name and Location的對話視窗,請填入Project Name為WelcomeClient,其他部分都使用原預設值,然後按Finish鈕建立專案。

一支簡單JSP Web Service Client

回簡單JAX-WS Web Service使用教學頁面

在這篇文章中,我們以一支JSP Web應用程式呼叫一個可以正常連線運作的Web Service服務。一般而言,將WSDL轉成對映的Java程式代碼,其實就是在執行JDK的wsimport.exe指令,目的是要把WSDL指向的URL的Web Service有關的類別下載到本地端讓JSP Web應用程式來參考使用。

建立一個Java Web應用程式專案

首先,在「Projects」項目底下按滑鼠右鍵帶出脈絡選單後,選擇「New Project...」項目,進入到「Choose Project」對話視窗,選取Java Web -> Web Application的專案類型,

來到Name and Location的對話視窗,請填入Project Name為WelcomeWebClient,其他部分都使用原預設值,然後按Finish鈕建立專案。

一支簡單Servlet Web Service Client

回簡單JAX-WS Web Service使用教學頁面

在這篇文章中,我們以一支Servlet Web應用程式呼叫/存取一個可以正常連線運作的Web Service服務。一般而言,將WSDL轉成對映的Java程式代碼,其實就是在執行JDK的wsimport.exe指令,目的是要把WSDL指向的URL的Web Service有關的類別下載到本地端讓Servlet Web應用程式來參考使用。

建立一個Java Web應用程式專案

首先,在「Projects」項目底下按滑鼠右鍵帶出脈絡選單後,選擇「New Project...」項目,進入到「Choose Project」對話視窗,選取Java Web -> Web Application的專案類型,

來到Name and Location的對話視窗,請填入Project Name為WelcomeWebClient,其他部分都使用原預設值,然後按Finish鈕建立專案。

2012年7月18日 星期三

equals(Object obj)方法 - Java日曆類別

回java日曆類別使用主頁

equals(Object obj)方法

比較目前日曆時間與指定日曆時間是否相等。


程式範例

package jcode.test.calendar;

import java.util.Calendar;

public class Sample029 {

  /**
   @param args
   */
  public static void main(String[] args) {
    
    //cal1為2012/7/18 (目前時間)
    Calendar cal1 = Calendar.getInstance();
    
    //cal2為2012/7/18
    Calendar cal2 = Calendar.getInstance();    
    
    if(cal1.equals(cal2)){
      System.out.println("兩日曆相等");
    }

  }

}


執行結果








compareTo(Calendar anotherCalendar)方法 - Java日曆類別

回java日曆類別使用主頁

compareTo(Calendar anotherCalendar)方法

比較兩個日曆時間的大小。
  • 回傳值等於0代表兩日曆等價
  • 回傳值小於0代表目前日曆小於指定日曆
  • 回傳值大於0代表目前日曆大於指定日曆

程式範例

package jcode.test.calendar;

import java.util.Calendar;

public class Sample028 {

  /**
   @param args
   */
  public static void main(String[] args) {
    
    //cal1為2012/7/18 (目前時間)
    Calendar cal1 = Calendar.getInstance();
    
    //cal2為1998/7/18
    Calendar cal2 = Calendar.getInstance();
    cal2.set(Calendar.YEAR, 1998);
    
    int flag = cal1.compareTo(cal2);
    if(flag == 0){
      System.out.println("兩日曆相等");
    }else if(flag > 0){
      System.out.println("cal1日曆大於cal2日曆");
    }else{
      System.out.println("cal1日曆小於cal2日曆");
    }    

  }

}


執行結果








before(Object when)方法 - Java日曆類別

回java日曆類別使用主頁

before(Object when)方法

回傳目前日曆時間是否在指定日曆時間之前,若是則為真值(true)


程式範例

package jcode.test.calendar;

import java.util.Calendar;

public class Sample027 {

  /**
   @param args
   */
  public static void main(String[] args) {  
    
    //cal1為2000/7/18
    Calendar cal1 = Calendar.getInstance();
    cal1.set(Calendar.YEAR, 2000);
    
    //cal2為2012/7/18 (目前時間)
    Calendar cal2 = Calendar.getInstance();
    
    //判斷cal1日曆時間是否在cal2日曆時間之前
    if(cal1.before(cal2)){
      System.out.println("cal1日曆時間小於cal2日曆時間");
    }

  }

}


執行結果