2016年2月20日 星期六

JSP 中文處理(Tomcat)

若你使用Tomcat並採用POST,或你沒有設定setCharacterEncoding(),且已取得一個請求參數字串,另外一個處理編碼的方式,則是透過String的getBytes()指定編碼來取得該字串的位元組陣列,然後再重新建構為正確編碼的字串。
例如若瀏覽器使用UTF-8處理字元,Web容器預設使用ISO-8859-1編碼,則正確處理編碼的方式為:
<%
  String val = request.getParameter("data");
  String encode = new String(val.getBytes("ISO-8859-1"), "UTF-8");
  out.print("Data: " + encode);
%>

JAVA API  String
constructor
String(byte[] bytes, Charset charset)
Constructs a new String by decoding the specified array of bytes using the specified charset.

method

getBytes

public byte[] getBytes(String charsetName)
                throws UnsupportedEncodingException
Encodes this String into a sequence of bytes using the named charset, storing the result into a new byte array.

2016年2月19日 星期五

19.8Collectionssort方法
Fig. 19.8 : Sort.java
M¼«MString suits[] =
MM§M      { "Hearts", "Diamonds", "Clubs", "Spades" };
MM©M
M¼«Mimport java.util.List;
MM§Mimport java.util.Arrays;
MM©MList< String > list = Arrays.asList( suits );
M¼MMSystem.out.printf( "Unsorted array elements:\n%s\n", list );
MMMMUnsorted array elements:
MMMM[Hearts, Diamonds, Clubs, Spades]
M¼«Mimport java.util.*;
MM©MCollections.sort( list );
M¼«MSystem.out.printf( "Sorted array elements:\n%s\n", list );
MM©M
MMMMSorted array elements:
MMMM[Clubs, Diamonds, Hearts, Spades]

購物車Hashtable


2016年2月18日 星期四

public interface Enumeration

java.util

Interface Enumeration

  • All Known Subinterfaces:
    NamingEnumeration
    All Known Implementing Classes:
    StringTokenizer


    public interface Enumeration
    An object that implements the Enumeration interface generates a series of elements, one at a time. Successive calls to thenextElement method return successive elements of the series.For example, to print all elements of a Vector v:
       for (Enumeration e = v.elements(); e.hasMoreElements();)
           System.out.println(e.nextElement());
    Methods are provided to enumerate through the elements of a vector, the keys of a hashtable, and the values in a hashtable. Enumerations are also used to specify the input streams to a SequenceInputStream.
    NOTE: The functionality of this interface is duplicated by the Iterator interface. In addition, Iterator adds an optional remove operation, and has shorter method names. New implementations should consider using Iterator in preference to Enumeration.
    Since:
    JDK1.0
    See Also:
    IteratorSequenceInputStreamnextElement()HashtableHashtable.elements()Hashtable.keys()Vector,Vector.elements()

      • Method Summary

        All MethodsInstance MethodsAbstract Methods
        Modifier and TypeMethod and Description
        booleanhasMoreElements()
        Tests if this enumeration contains more elements.
        EnextElement()
        Returns the next element of this enumeration if this enumeration object has at least one more element to provide.

      • Method Detail

        • hasMoreElements

          boolean hasMoreElements()
          Tests if this enumeration contains more elements.
          Returns:
          true if and only if this enumeration object contains at least one more element to provide; false otherwise.
        • nextElement

          E nextElement()
          Returns the next element of this enumeration if this enumeration object has at least one more element to provide.
          Returns:
          the next element of this enumeration.
          Throws:
          NoSuchElementException - if no more elements exist.