公告版位
需要找什麼嗎? 左邊分類或許可以幫助你...

目前分類:[程式語言] Java (91)

瀏覽方式: 標題列表 簡短摘要

這裡提供兩種方法,但經過我的測試是 ResourceHandler 客戶端不能下載大檔案 (例如 > 5 MB) 會發生例外
而 WebAppContext 就沒這個問題,如果要使用大檔案建議使用 WebAppContext 來做會比較好

使用 WebAppContext 實作:

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.webapp.WebAppContext;
 
public class FileServerXml {

黃彥霖 發表在 痞客邦 留言(0) 人氣()

import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
 
public class MD5 {
 
    public static void main(String[] args) throws NoSuchAlgorithmException {
        String msg = "這是 MD5 加密的字串";
        MessageDigest md = MessageDigest.getInstance("MD5");
        byte[] messageDigest = md.digest(msg.getBytes());

黃彥霖 發表在 痞客邦 留言(0) 人氣()

import javafx.application.*;
import javafx.scene.*;
import javafx.scene.text.*;
import javafx.stage.*;
 
public class NewClass extends Application {
 
    @Override
    public void start(Stage s) {
        Group g = new Group();

黃彥霖 發表在 痞客邦 留言(0) 人氣()

本範例使用 org.json 來做 JSON 編碼、解碼。
下載回來後記得更改資料夾名稱 以符合 import org.json 的路徑
最好開啟下載回來的程式碼 Java 檔,查看 import 路徑是否正確,不正確請改到正確

org.json 官網:http://www.json.org/java/ 
org.json 下載:https://github.com/douglascrockford/JSON-java

import java.util.HashMap;
import java.util.Map;

黃彥霖 發表在 痞客邦 留言(3) 人氣()

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
 
public class JavaApplication1 extends Application {
 
    public static void main(String [] args) {

黃彥霖 發表在 痞客邦 留言(0) 人氣()

方法一:

Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) +1;
int day = cal.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "-" + month + "-" + day);

// 為什麼 MONTH 要 +1 請參考:http://openhome.cc/Gossip/JavaGossip-V2/UseCalendar.htm

黃彥霖 發表在 痞客邦 留言(0) 人氣()

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;


public static String getIp() throws Exception {
        URL whatismyip = new URL("http://checkip.amazonaws.com");
        BufferedReader in = null;
        try {
            in = new BufferedReader(new InputStreamReader(

黃彥霖 發表在 痞客邦 留言(0) 人氣()

訊息  

JOptionPane.showMessageDialog(null, "Hello");




黃彥霖 發表在 痞客邦 留言(0) 人氣()

這個範例我是採用上傳圖片(至少看的到),當然其他檔案格式也都可以上傳

執行結果:

27.105.20.1238888index.html - Google Chrome    

index.html ------------------------

<html>
<body>

黃彥霖 發表在 痞客邦 留言(0) 人氣()

詳細可參考: https://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty

Main :
 
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
 
public class Main {
 
    public static void main(String[] args) throws Exception {

黃彥霖 發表在 痞客邦 留言(0) 人氣()

 

String name = request.getParameter("name");

 

 

 


黃彥霖 發表在 痞客邦 留言(0) 人氣()

瀏覽器輸入 http://127.0.0.1:8888/Hello/ 即可看見效果


package server;

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.ContextHandler;

public class Main {

    public static void main(String[] args) throws Exception {
        Server server = new Server(8888);

        ContextHandler context = new ContextHandler();

黃彥霖 發表在 痞客邦 留言(0) 人氣()

package my;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class NewClass implements ServletContextListener {

@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("Start");
}

@Override
public void contextDestroyed(ServletContextEvent sce) {

黃彥霖 發表在 痞客邦 留言(0) 人氣()

package main;

import java.io.*;
import java.net.InetSocketAddress;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;

public class Main {

    public static void main(String[] args) throws Exception {
        HttpServer server = HttpServer.create(new InetSocketAddress(80), 0);
        server.createContext("/Hello", new MyHandler());

黃彥霖 發表在 痞客邦 留言(0) 人氣()

package main;

import java.io.IOException;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;

public class Main {

    public static void main(String[] args) throws Exception {
    HttpServer server = HttpServer.create(new InetSocketAddress(80), 0); // Port

黃彥霖 發表在 痞客邦 留言(0) 人氣()

import javax.swing.*;

JFrame f = new JFrame("標題");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(400, 300);
f.setVisible(true);

Container cp =f.getContentPane();
cp.setLayout(null);

黃彥霖 發表在 痞客邦 留言(0) 人氣()

請先到 Tomcat 網站下載嵌入式 Tomcat 的 JAR  : tomcat-embed-core.jar


package main;

import java.io.File;
import org.apache.catalina.startup.Tomcat;

public class Main {

    public static void main(String[] args) {

        String prjectPath = new File("").getAbsolutePath();
        Tomcat tomcat = new Tomcat();

黃彥霖 發表在 痞客邦 留言(0) 人氣()


黃彥霖 發表在 痞客邦 留言(0) 人氣()

JavaZone 2012 年度大片《Java搶劫》中文

 

 

 

 


黃彥霖 發表在 痞客邦 留言(0) 人氣()

請先至 http://dom4j.sourceforge.net/ 下載 Dom4j 的 JAR 並加入到您的專案中,目前我用的是 1.6版,最新為 2.0版(除了支持自己的 Dom4j 外,還支持其他Java XML 的類別庫,如:DOM、SAXJAXP)。

創建XML:

import java.io.*;
import java.util.*;
import org.dom4j.*;
import org.dom4j.io.*;
import java.nio.charset.Charset;

public class XMLTest {

    public static void main(String[] args) throws Exception {
        Document doc = DocumentHelper.createDocument();
        //------------------------------------------------------
        // 前置動作,依需求可省略:
        doc.addProcessingInstruction("xml", "type=\"user-data\""); // 宣告
        /* doc.addDocType(<根元素>,<註冊//組織//類型標籤//定義語言>,<文檔類型定義位置>);
         * 基本上 <根元素> 名稱要與 doc.addElement() 相同,程式碼第 23 行
         */
        doc.addDocType("自訂XML", // 網頁這部分會宣告 HTML
                "-//水果公司//DTD MyXML 1.0//zh-tw",
                "http://www.w3.org/TR/myXML/DTD/myXML.dtd");
        doc.addComment("這是註解");
        //------------------------------------------------------
        // 建立根元素(父元素):
        Element root = doc.addElement("自訂XML"); // 建立 <自訂XML>
        //------------------------------------------------------
        // 內容(子元素):
        Element root_user = root.addElement("用戶"); // 在<根>底下建立 <用戶>
        root_user.addAttribute("編號", "1"); //建立<用戶>的屬性: 編號="1"
        root_user.addAttribute("名子", "蘋果"); //建立<用戶>的屬性: 名子="蘋果"
        root_user.addAttribute("地址", "月球 惠更斯山 之最高峰");

        Element root_user_address = root_user.addElement("手機");
        root_user_address.addAttribute("電信", "種花電信");
        root_user_address.addAttribute("號碼", "091314520");
        root_user_address.addText("山寨的 IPhone 5"); // <手機>山寨的 IPhone 5
        //-----------------------------------------
        Element e2 = root.addElement("用戶");
        e2.addAttribute("編號", "2");
        e2.addAttribute("名子", "香蕉");
        e2.addAttribute("地址", "地球 喜馬拉雅山 之最低峰");

        Element e2_1 = e2.addElement("手機");
        e2_1.addAttribute("電信", "近傳電信");
        e2_1.addAttribute("號碼", "0954385478");
        e2_1.addText("三爽");
        //-----------------------------------------
        Element e3 = root.addElement("用戶");
        e3.addAttribute("編號", "3");
        e3.addAttribute("名子", "蓮霧");
        e3.addAttribute("地址", "地球 台灣 總統府");

        Element e3_1 = e3.addElement("手機");
        e3_1.addAttribute("電信", "吃土電信");
        e3_1.addAttribute("號碼", "097878787878");
        e3_1.addText("HTC Magic 魔術機");
        //------------------------------------------------------
        // 預覽/輸出 XML,因為不會格式化 XML 所以全部擠在同一行...:
        System.out.println(doc.asXML());
        //------------------------------------------------------
        // 儲存 XML 檔案:
        FileWriter fw = new FileWriter("D:/My.xml"); // 可自訂
        // 下面這行:預設自動換行、Tab 為 2 個空白
        // OutputFormat of = OutputFormat.createPrettyPrint(); // 格式化XML
        OutputFormat of = new OutputFormat(); // 格式化XML
        of.setIndentSize(4); // 設定 Tab 為 4 個空白
        of.setNewlines(true);// 設定 自動換行
        XMLWriter xw = new XMLWriter(fw, of);
        xw.write(doc);
        xw.close();
    }
}

 編譯並執行後,可查看 D:/My.xml(預設) 路徑,會發現已經有新建 XML 檔案,此時用記事本打開會發現沒有換行,但是實際上是有換行的,只是記事本看不懂,所以可以用 IE 或 GOOGLE 瀏覽器 或 IDE 打開,會發現他們是有經過格式化 排版,效果如下: aa      

更多詳細說明可參考:http://www.blogjava.net/junglesong/archive/2008/02/21/181196.html

     

 


黃彥霖 發表在 痞客邦 留言(0) 人氣()