亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

HttpServer和HttpsServer簡單實現

系統 2633 0
javaSE本身自己就實現了web功能,分別有兩種實現一種是HTTP、HTTPS,實現類分別為HttpServer和HttpsServer但是都要自己實現HttpHandler,而且HTTPS的實現要麻煩一些需要創建證書。創建證書的工具java的bin目錄下有名字叫keytool創建方法入下:
HttpServer和HttpsServer簡單實現
    import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.security.KeyManagementException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.UnrecoverableKeyException;
import java.security.cert.CertificateException;

import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLContext;

import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;
import com.sun.net.httpserver.HttpsConfigurator;
import com.sun.net.httpserver.HttpsServer;


public class HTTpServer {
	public static void main(String[] args) throws IOException, KeyStoreException, NoSuchAlgorithmException, CertificateException, UnrecoverableKeyException, KeyManagementException {
		//http實現
		HttpServer http = HttpServer.create(new InetSocketAddress(InetAddress.getByName("127.0.0.1"), 8989),0);
		http.createContext("/web", new HTTpServer().new MyHandler());
		http.setExecutor(null);
		http.start();
		//https實現
		HttpsServer https = HttpsServer.create(new InetSocketAddress(InetAddress.getByName("127.0.0.1"), 8787), 0);
		https.createContext("/web", new HTTpServer().new MyHandler());
		https.setExecutor(null);
		KeyStore ks = KeyStore.getInstance("JKS");   //建立證書庫    
		ks.load(new FileInputStream("F:/serverkeys"), "luoxun".toCharArray());  //載入證書    
		KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");  //建立一個密鑰管理工廠    
		kmf.init(ks, "luoxun".toCharArray());  //初始工廠    
		SSLContext sslContext = SSLContext.getInstance("SSLv3");  //建立證書實體    
		sslContext.init(kmf.getKeyManagers(), null, null);   //初始化證書   
		HttpsConfigurator httpsConfigurator = new HttpsConfigurator(sslContext);
		https.setHttpsConfigurator(httpsConfigurator);
		https.start();
	}
	class MyHandler implements HttpHandler{
		public void handle(HttpExchange exchange) throws IOException {
			String protocol = exchange.getProtocol();
			String method    = exchange.getRequestMethod();
			String url = exchange.getRequestURI().toString();
			String query     = exchange.getRequestURI().getQuery();
			
			InputStream  request  =exchange.getRequestBody();
			OutputStream response = exchange.getResponseBody();
			
			InetSocketAddress address = exchange.getRemoteAddress();
			String host = address.getHostName();
			String port = String.valueOf(address.getPort());
			
			StringBuilder sb = new StringBuilder();
			sb.append("<meta http-equiv='charset' content='text/html;charset=gb2312'>");
			sb.append("<p>協議:%s</p>");
			sb.append("<p>提交方式:%s</p>");
			sb.append("<p>URL:%s</p>");
			sb.append("<p>參數列表:%s</p>");
			sb.append("<p>主機名::%s</p>");
			sb.append("<p>端口號:%s</p>");
			String content = String.format(sb.toString(), protocol,method,url,query,host,port);
			
			byte[] contentBin = content.getBytes();
			exchange.sendResponseHeaders(200, contentBin.length);
			response.write(contentBin);
			response.flush();
			response.close();
		}
	}
}

  

HttpServer和HttpsServer簡單實現


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 五月天婷婷免费视频观看 | 久久综合一区二区三区 | aaa级片| 免费国产精品视频 | 国产毛片儿| 奇米影视首页 | 一区二区三区日韩精品 | 精品一区二区三区视频在线观看 | 中文婷婷| 久久福利一区二区三区 | 波多野结衣视频一区二区 | 国产成人精品18 | 国产色在线 | 亚洲 国产色在线视频 | 亚洲成a| 国产三级观看久久 | 老妇毛片久久久久久久久 | 非常色的视频 | 日韩国产成人资源精品视频 | 毛片看看| 亚洲天堂福利视频 | 一级毛片免费 | 奇米第四色在线视频 | 国产精品视频免费视频 | www.日日干| 老子影院我不卡 | 久久er国产精品免费观看8 | 四虎欧美永久在线精品免费 | 福利视频在线观看午夜 | 老司机久久精品 | 国产精品全国探花泡良大师 | 亚洲国产97在线精品一区 | 全部免费特黄特色大片中国 | 久久久久免费精品国产小说 | 暴劫倾情无删减在线播放 | 中国国产高清一级毛片 | 综合欧美视频一区二区三区 | 亚洲综合极品香蕉久久网 | 狠狠干中文字幕 | 亚洲图片综合 | 久久久久久国产精品视频 | 99re热久久精品这里都是精品 |