SlideShare a Scribd company logo
1 of 32
HTTP通信とは
 Eclipse
 Herokuアカウント
 Heroku for Eclipse
 ADT for Eclipse
 SourceTree
 http://mergedoc.sourceforge.jp/in
dex.html#/pleiades.html にアクセ
ス
 Eclipse4.2 Junoをクリック
 JavaのFull Editionを選択してダウンロー
ド
 (32bitか64bitかは各人のPCで確認するこ
と)
 ダウンロードしたzipファイルを
解凍し、フォルダ毎Cドライブ
直下に配置する
 その際に、フォルダ名を
『pleiades』に変更する
 https://www.heroku.com/ にアク
セスし、Sing Up Freeからアカウ
ントを作成する
 PaaS(Platform as a Service)
 ソフトウウェアを構築させる土
台となるプラットフォームを、
インターネット経由で使用する
ことが出来るサービス
 Herokuの場合、ベースとなるOS
は、DebianもしくはDebianを
ベースに開発されたUbuntu
 Eclipseのメニューから[ヘルプ]-
>[新規ソフトウェアのインストー
ル]を選択
 [作業対象]にhttps://eclipse-
plugin.herokuapp.com/install と入
力し、[追加]をクリック
 [名前]にHerokuと入力して、[OK]
をクリック
 [Heroku eclipse Integration]に
チェックを入れ、[次へ]をク
リック
 [次へ]をクリック
 [OK]をクリックし、eclipseを再
起動する
 eclipseのメニューから[ウインドウ]-
>[設定]を選択する
 Herokuを選択して、emailアドレ
スとパスワードを入力し、ログ
インする
 Herokuへログインするための
SSH Keyを作成する
 Eclipseの設定の[一般]->[ネット
ワーク接続]->[SSH2]を選択する
 [キー管理]のタブを選択し、
[RSA鍵の生成]をクリック
 パスフレーズを入力して、[秘密
鍵の保存]をクリック
※パスフレーズは忘れないよう
に!!
 Herokuメニューを選択し、キーのロード
で先ほど生成したキーを選択する
 キーのロードが終わったら[追加] をクリッ
クし、[適用]をクリックする
 これから、サーバサイドのプロ
グラムを作成します。
 パッケージエクスプローラーの
中で右クリックし、[新規]->[そ
の他]を選択する
 プロジェクト名に
『HttpServerEx』と入力し、
[Embedded Jetty-Servlet…]を選択
して[終了]をクリック
 プロジェクトを展開して、
Main.javaを選択
 実行をクリック
 http://localhost:8080 にアクセス
し、以下のような画面が表示さ
れればOK
 src/main/webapps/index.jsp に以下を追
加する
<a href=“hello?method=get”>GETリクエス
ト</a><br>
<form action=“hello” method=“post”>
POSTリクエストをする
<input type=“text”>
<input type=“submit”
name=“submit” value=“送信”>
</form>
 HelloServlet.javaを変更する
 doGetメソッド内に以下のように修正
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
ServletOutputStream out = resp.getOutputStream();
StringBuffer sb = new StringBuffer();
sb.append("---------- request Line ----------------n");
sb.append("method : ").append(req.getMethod()).append("n");
sb.append("requestURL : ").append(req.getRequestURI()).append("n");
sb.append("get query : ").append(req.getQueryString()).append("n");
Enumeration params = req.getParameterNames();
while(params.hasMoreElements()){
String param = (String) params.nextElement();
sb.append(param).append(" :
").append(req.getParameter(param)).append("n");
}
sb.append("n");
sb.append("---------- request Headers ----------------n");
Enumeration headerNames = req.getHeaderNames();
while(headerNames.hasMoreElements()) {
String headerName = (String) headerNames.nextElement();
sb.append(headerName).append(" :
").append(req.getHeader(headerName)).append("n");
}
out.write(sb.toString().getBytes());
out.flush();
out.close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doGet(req, resp);
}
リクエストライン(メソッド URI プロトコル)
リクエストヘッダ
ヘッダ名 : ヘッダ値
・
・
メッセージボディ(POSTの場合はここにクエリが入る)
空行(CRLF)
GET /index.html HTTP/1.1
Host : localhost:8080
Accept : text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language : ja,en-US;q=0.8,en;q=0.6
Referer : http://localhost:8080/
User-Agent : Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/30.0.1599.66 Safari/537.36
Connection : keep-alive
Accept-Encoding : gzip, deflate
aaa=bbb&ccc=dddd
空行(CRLF)
ステータスライン
レスポンスヘッダ
ヘッダ名 : ヘッダ値
・
・
空行(CRLF)
レスポンスボディ(HTMLなど)
 Chromeなどで内容を見てみましょう
番号 意味
200 OK(成功)
302 Found (リダイレクト)
304 Not Modified (キャッシュを参照)
400 Bad Request (Clientからのリクエスト不備)
403 Forbidden (アクセス禁止)
404 Not Found (ページが存在しない)
500 Internal Server Error (サーバエラー)
503 Service Unavailable (サーバが過負荷状態)
 Heroku Eclipse Pluginの設定
 https://devcenter.heroku.com/articles/getting-started-with-heroku-eclipse
 TCP/IP HTTPとは
 http://www.infraexpert.com/study/tcpip16.html

More Related Content

Viewers also liked

[Ps11]ネットワーク第4回
[Ps11]ネットワーク第4回[Ps11]ネットワーク第4回
[Ps11]ネットワーク第4回Yukiko Kato
 
Javaプログラミング入門【第6回】
Javaプログラミング入門【第6回】Javaプログラミング入門【第6回】
Javaプログラミング入門【第6回】Yukiko Kato
 
Javaプログラミング入門【第7回】
Javaプログラミング入門【第7回】Javaプログラミング入門【第7回】
Javaプログラミング入門【第7回】Yukiko Kato
 
ネットワーク第6回
ネットワーク第6回ネットワーク第6回
ネットワーク第6回Yukiko Kato
 
ネットワーク第8回目
ネットワーク第8回目ネットワーク第8回目
ネットワーク第8回目Yukiko Kato
 
Javaプログラミング入門【第8回】
Javaプログラミング入門【第8回】Javaプログラミング入門【第8回】
Javaプログラミング入門【第8回】Yukiko Kato
 
Javaプログラミング入門【第3回】
Javaプログラミング入門【第3回】Javaプログラミング入門【第3回】
Javaプログラミング入門【第3回】Yukiko Kato
 
ネットワーク第9回
ネットワーク第9回ネットワーク第9回
ネットワーク第9回Yukiko Kato
 
Javaプログラミング入門【第2回】
Javaプログラミング入門【第2回】Javaプログラミング入門【第2回】
Javaプログラミング入門【第2回】Yukiko Kato
 
Javaデザインパターン入門【第2回】
Javaデザインパターン入門【第2回】Javaデザインパターン入門【第2回】
Javaデザインパターン入門【第2回】Yukiko Kato
 
Javaデザインパターン入門【第3回】
Javaデザインパターン入門【第3回】Javaデザインパターン入門【第3回】
Javaデザインパターン入門【第3回】Yukiko Kato
 
Javaプログラミング入門【第9回】
Javaプログラミング入門【第9回】Javaプログラミング入門【第9回】
Javaプログラミング入門【第9回】Yukiko Kato
 
Javaプログラミング入門【第4回】
Javaプログラミング入門【第4回】Javaプログラミング入門【第4回】
Javaプログラミング入門【第4回】Yukiko Kato
 
[PS11]ネットワーク第5回
[PS11]ネットワーク第5回[PS11]ネットワーク第5回
[PS11]ネットワーク第5回Yukiko Kato
 
[PS11]ネットワーク第6回
[PS11]ネットワーク第6回[PS11]ネットワーク第6回
[PS11]ネットワーク第6回Yukiko Kato
 
ネットワーク第7回
ネットワーク第7回ネットワーク第7回
ネットワーク第7回Yukiko Kato
 
Javaプログラミング入門【第1回】
Javaプログラミング入門【第1回】Javaプログラミング入門【第1回】
Javaプログラミング入門【第1回】Yukiko Kato
 
ネットワーク第3回目
ネットワーク第3回目ネットワーク第3回目
ネットワーク第3回目Yukiko Kato
 

Viewers also liked (18)

[Ps11]ネットワーク第4回
[Ps11]ネットワーク第4回[Ps11]ネットワーク第4回
[Ps11]ネットワーク第4回
 
Javaプログラミング入門【第6回】
Javaプログラミング入門【第6回】Javaプログラミング入門【第6回】
Javaプログラミング入門【第6回】
 
Javaプログラミング入門【第7回】
Javaプログラミング入門【第7回】Javaプログラミング入門【第7回】
Javaプログラミング入門【第7回】
 
ネットワーク第6回
ネットワーク第6回ネットワーク第6回
ネットワーク第6回
 
ネットワーク第8回目
ネットワーク第8回目ネットワーク第8回目
ネットワーク第8回目
 
Javaプログラミング入門【第8回】
Javaプログラミング入門【第8回】Javaプログラミング入門【第8回】
Javaプログラミング入門【第8回】
 
Javaプログラミング入門【第3回】
Javaプログラミング入門【第3回】Javaプログラミング入門【第3回】
Javaプログラミング入門【第3回】
 
ネットワーク第9回
ネットワーク第9回ネットワーク第9回
ネットワーク第9回
 
Javaプログラミング入門【第2回】
Javaプログラミング入門【第2回】Javaプログラミング入門【第2回】
Javaプログラミング入門【第2回】
 
Javaデザインパターン入門【第2回】
Javaデザインパターン入門【第2回】Javaデザインパターン入門【第2回】
Javaデザインパターン入門【第2回】
 
Javaデザインパターン入門【第3回】
Javaデザインパターン入門【第3回】Javaデザインパターン入門【第3回】
Javaデザインパターン入門【第3回】
 
Javaプログラミング入門【第9回】
Javaプログラミング入門【第9回】Javaプログラミング入門【第9回】
Javaプログラミング入門【第9回】
 
Javaプログラミング入門【第4回】
Javaプログラミング入門【第4回】Javaプログラミング入門【第4回】
Javaプログラミング入門【第4回】
 
[PS11]ネットワーク第5回
[PS11]ネットワーク第5回[PS11]ネットワーク第5回
[PS11]ネットワーク第5回
 
[PS11]ネットワーク第6回
[PS11]ネットワーク第6回[PS11]ネットワーク第6回
[PS11]ネットワーク第6回
 
ネットワーク第7回
ネットワーク第7回ネットワーク第7回
ネットワーク第7回
 
Javaプログラミング入門【第1回】
Javaプログラミング入門【第1回】Javaプログラミング入門【第1回】
Javaプログラミング入門【第1回】
 
ネットワーク第3回目
ネットワーク第3回目ネットワーク第3回目
ネットワーク第3回目
 

Similar to ネットワーク第2回目

Verilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) softwareVerilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) softwareHiroki Nakahara
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築Hideharu MATSUFUJI
 
100626 ec cube勉強会初心者向けスライド
100626 ec cube勉強会初心者向けスライド100626 ec cube勉強会初心者向けスライド
100626 ec cube勉強会初心者向けスライドkuroki
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法Naruto TAKAHASHI
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxKazushi Kamegawa
 
ownCloud and CLOUDIAN HyperStore
ownCloud and CLOUDIAN HyperStoreownCloud and CLOUDIAN HyperStore
ownCloud and CLOUDIAN HyperStoreCLOUDIAN KK
 
最近の PowerShell のお話
最近の PowerShell のお話最近の PowerShell のお話
最近の PowerShell のお話Kazuki Takai
 
Firefox OSについて
Firefox OSについてFirefox OSについて
Firefox OSについてBeMarble
 
LibreOfficeをビルドしてみよう(Windows)
LibreOfficeをビルドしてみよう(Windows)LibreOfficeをビルドしてみよう(Windows)
LibreOfficeをビルドしてみよう(Windows)Masataka Kondo
 
Aeolus Conductorによる複数環境へのデプロイ自動化
Aeolus Conductorによる複数環境へのデプロイ自動化Aeolus Conductorによる複数環境へのデプロイ自動化
Aeolus Conductorによる複数環境へのデプロイ自動化Etsuji Nakai
 
Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018Uemura Yuichi
 
C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)
C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)
C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)takots
 

Similar to ネットワーク第2回目 (20)

Php開発環境
Php開発環境Php開発環境
Php開発環境
 
Verilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) softwareVerilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) software
 
Ide env
Ide envIde env
Ide env
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
 
100626 ec cube勉強会初心者向けスライド
100626 ec cube勉強会初心者向けスライド100626 ec cube勉強会初心者向けスライド
100626 ec cube勉強会初心者向けスライド
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
 
TeamFileご提案資料
TeamFileご提案資料TeamFileご提案資料
TeamFileご提案資料
 
MultiSpecInstallation
MultiSpecInstallationMultiSpecInstallation
MultiSpecInstallation
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
 
Scoop!
Scoop!Scoop!
Scoop!
 
ownCloud and CLOUDIAN HyperStore
ownCloud and CLOUDIAN HyperStoreownCloud and CLOUDIAN HyperStore
ownCloud and CLOUDIAN HyperStore
 
20230128.pptx
20230128.pptx20230128.pptx
20230128.pptx
 
最近の PowerShell のお話
最近の PowerShell のお話最近の PowerShell のお話
最近の PowerShell のお話
 
Firefox OSについて
Firefox OSについてFirefox OSについて
Firefox OSについて
 
Windows Azure PHP Tips
Windows Azure PHP Tips Windows Azure PHP Tips
Windows Azure PHP Tips
 
LibreOfficeをビルドしてみよう(Windows)
LibreOfficeをビルドしてみよう(Windows)LibreOfficeをビルドしてみよう(Windows)
LibreOfficeをビルドしてみよう(Windows)
 
Perl入学式 #1
Perl入学式 #1Perl入学式 #1
Perl入学式 #1
 
Aeolus Conductorによる複数環境へのデプロイ自動化
Aeolus Conductorによる複数環境へのデプロイ自動化Aeolus Conductorによる複数環境へのデプロイ自動化
Aeolus Conductorによる複数環境へのデプロイ自動化
 
Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018
 
C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)
C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)
C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)
 

Recently uploaded

To obtain the status of Foreigners' Immigration Residence Operations Specifie...
To obtain the status of Foreigners' Immigration Residence Operations Specifie...To obtain the status of Foreigners' Immigration Residence Operations Specifie...
To obtain the status of Foreigners' Immigration Residence Operations Specifie...oganekyokoi
 
デジタルコミュニケーション研究会立ち上げの趣旨と活動内容(2024年5月19日開催)
デジタルコミュニケーション研究会立ち上げの趣旨と活動内容(2024年5月19日開催)デジタルコミュニケーション研究会立ち上げの趣旨と活動内容(2024年5月19日開催)
デジタルコミュニケーション研究会立ち上げの趣旨と活動内容(2024年5月19日開催)ayakanishimuracmc
 
KOOR Australia 概要とご案内 Company Guide Book.
KOOR Australia 概要とご案内 Company Guide Book.KOOR Australia 概要とご案内 Company Guide Book.
KOOR Australia 概要とご案内 Company Guide Book.j
 
Inheritance of digital legacies when you die or when a family member dies.pptx
Inheritance of digital legacies when you die or when a family member dies.pptxInheritance of digital legacies when you die or when a family member dies.pptx
Inheritance of digital legacies when you die or when a family member dies.pptxoganekyokoi
 
Womencanfly 公開用_留学準備コース(BASIC) オンラインセルフペースご案内
Womencanfly 公開用_留学準備コース(BASIC) オンラインセルフペースご案内Womencanfly 公開用_留学準備コース(BASIC) オンラインセルフペースご案内
Womencanfly 公開用_留学準備コース(BASIC) オンラインセルフペースご案内j
 
ゲーム理論 BASIC 演習107 -フリーライダー-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習107 -フリーライダー-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習107 -フリーライダー-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習107 -フリーライダー-#ゲーム理論 #gametheory #数学ssusere0a682
 

Recently uploaded (6)

To obtain the status of Foreigners' Immigration Residence Operations Specifie...
To obtain the status of Foreigners' Immigration Residence Operations Specifie...To obtain the status of Foreigners' Immigration Residence Operations Specifie...
To obtain the status of Foreigners' Immigration Residence Operations Specifie...
 
デジタルコミュニケーション研究会立ち上げの趣旨と活動内容(2024年5月19日開催)
デジタルコミュニケーション研究会立ち上げの趣旨と活動内容(2024年5月19日開催)デジタルコミュニケーション研究会立ち上げの趣旨と活動内容(2024年5月19日開催)
デジタルコミュニケーション研究会立ち上げの趣旨と活動内容(2024年5月19日開催)
 
KOOR Australia 概要とご案内 Company Guide Book.
KOOR Australia 概要とご案内 Company Guide Book.KOOR Australia 概要とご案内 Company Guide Book.
KOOR Australia 概要とご案内 Company Guide Book.
 
Inheritance of digital legacies when you die or when a family member dies.pptx
Inheritance of digital legacies when you die or when a family member dies.pptxInheritance of digital legacies when you die or when a family member dies.pptx
Inheritance of digital legacies when you die or when a family member dies.pptx
 
Womencanfly 公開用_留学準備コース(BASIC) オンラインセルフペースご案内
Womencanfly 公開用_留学準備コース(BASIC) オンラインセルフペースご案内Womencanfly 公開用_留学準備コース(BASIC) オンラインセルフペースご案内
Womencanfly 公開用_留学準備コース(BASIC) オンラインセルフペースご案内
 
ゲーム理論 BASIC 演習107 -フリーライダー-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習107 -フリーライダー-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習107 -フリーライダー-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習107 -フリーライダー-#ゲーム理論 #gametheory #数学
 

ネットワーク第2回目