PowerPoint Presentation

Similar documents
Microsoft PowerPoint - Lecture_3

Microsoft PowerPoint - Lecture_2

メディプロ1 Javaサーブレット補足資料.ppt

9iAS_DEV.PDF

II 2 p.2 2 GET POST form action URL Aisatsu 2.1 Servlet GET GET : Query String QueryStringTest.java 1 import java.io.ioexception; 2 import java.io.pri

B2-Servlet-0112.PDF

WebOTXマニュアル

PowerPoint Presentation

HTML Java Tips dp8t-asm/java/tips/ Apache Tomcat Java if else f

HTML Java Tips dp8t-asm/java/tips/ Apache Tomcat Java if else f

Servlet/JSP ( 作成中 ) 2010 年 x 月 x 日作成 Firebird 日本ユーザー会 Naoyuki Sano 1

II 1 p.1 1 Servlet 1.1 Web Web WWW HTML CGI Common Gateway Interface Web HTML Web Web CGI CGI CGI Perl, PHP C JavaScript Web CGI HTML 1.2 Servlet Java

スライド 1

Servlet JSP JSP Servlet/JSP における 日 本 語 の 処 理 - 1

Web 1 p.2 1 Servlet Servlet Web Web Web Apache Web Servlet JSP Web Apache Tomcat Jetty Apache Tomcat, Jetty Java JDK, Eclipse

スライド 1

<4D F736F F D A B C982E682E98F6F90C88A6D E646F63>

"CAS を利用した Single Sign On 環境の構築"

PowerPoint Presentation

第13回講義

1

FY01H2_SOHO_iAS

Web Servlet/JSP JSP

HTML/JSP/Servlet... 7 JSP... 7 Servlet Struts Struts Struts FormBean LoginForm


Web JavaScript Java Applet Flash ActionScript CGI (C, perl, ruby ) PHP Servlet, JSP (JavaServer Pages) ASP 7-2

K227 Java 2

PowerPoint プレゼンテーション

デジタル表現論・第6回

サーブレット (Servlet) とは Web サーバ側で動作する Java プログラム 通常はapache 等のバックグラウンドで動作する Servletコンテナ上にアプリケーションを配置 代表的な Servlet コンテナ Apache Tomcat WebLogic WebSphere Gla

Q&A集

Oracle JDeveloper 10g ADF Creation Date: Jul 07, 2004 Last Update: Jul 08, 2004 Version 1.0

untitled


Javaと マルチスレッド

Gartner Day

目次

Microsoft PowerPoint - web_and_dm08_servlet2.pptx

ii II Web Web HTML CSS PHP MySQL Web Web CSS JavaScript Web SQL Web

Webデザイン論

Microsoft PowerPoint - oas4082_NewFeature.ppt[fiLJݔæ‡è’êŠp]

Taro php.jtdc

2

プログラミングA

Webデザイン論

Web データ管理 JavaScript (1) (4 章 ) 2011/12/7( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/21

第 7 回の内容 動的な Web サイト フォーム Web システムの構成

Microsoft Word - D JP.docx

java_servlet2_見本

演習室の PC のハードディスクには演習で作成したデータは保管できません 各 PC の ネットワーク接続 ショートカットからメディア情報センターのサーバーにアクセスしてください (Z ドライブとして使用できます ) 演習名 使用するフォルダ 演習 1 Z: Web データ管理 演習

pdf

スライド タイトルなし

JBoss Application Server におけるディレクトリトラバーサルの脆弱性

Contents Logging in 3-14 Downloading files from e-ijlp 15 Submitting files on e-ijlp Sending messages to instructors Setting up automatic

オブジェクト指向プログラミング・同演習 5月21日演習課題


Web プログラミング 1 JavaScript (4) (4 章 ) 2013/7/17( 水 ) 日時 講義内容 4/10 ( 水 ) ガイダンス Web (1 章 ) 4/17 ( 水 ) HTML+CSS (1) (2 章 ) 4/24 ( 水 ) HTML+CSS (2) (2 章 ) 5

ネットワーク Ⅳ 32 ページ Servlet と JSP と Ajax 紹介 <body> <p > 商品名 :<input type="text" value="goodsa" id="nameid"></p> <p > 在庫数 :<i

2009 Web B012-1

マークアップ言語

<4D F736F F D A957A A A8FEE95F18F88979D DEC90AC E646F63>

2

WebOTXマニュアル

I. EspressReport 100%Java JSP API II. EspressReport Report Designer Report Designer - Report Designer Web Java Web Web Report Designer import java.awt

WebOTXマニュアル

Lotus Domino XML活用の基礎!

3 CSS について Cascading Style Sheets(CSS カスケーディング スタイル シート カスケード スタイル シート) とは HTML や XML の要素をどのように修飾 ( 表示 ) するかを指示する W3C による仕様の一つ 文書の構造と体裁を分離させるという理念を実現す

Java演習(2) -- 簡単なプログラム --

PowerPoint プレゼンテーション

デジタル表現論・第4回

ohp.mgp

■新聞記事

プログラムの基本構成

ÉvÉçPM_02

オンラインテスト

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

(Microsoft PowerPoint - ClickFramework.ppt [\214\335\212\267\203\202\201[\203h])

1 Java Java GUI , 2 2 jlabel1 jlabel2 jlabel3 jtextfield1 jtextfield2 jtextfield3 jbutton1 jtextfield1 jtextfield2 jtextfield3

Oracle9i JDeveloper R9.0.3 チュートリアル

untitled

C:\Apache Software Foundation\Apache2.2\htdocs\sample\login.html サンプルプログラム passworddisc.php <head><title> ログイン </title></head> $user=$_post['user']; $

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

任意の間隔での FTP 画像送信イベントの設定方法 はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページ

受動的攻撃について

Oracle SOA Suite 11gコンポジットに対するSOASchedulerの構成

: : : TSTank 2

演習室の PC のハードディスクには演習で作成したデータは保管できません 各 PC の ネットワーク接続 ショートカットからメディア情報センターのサーバーにアクセスしてください (Z ドライブとして使用できます ) Web プログラミング 1 CGI (3 章 ) 2012/6/12( 水 ) 講義

Eclipse 操作方法 (Servlet/JSP 入門補助テキスト)


Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説

PowerPoint プレゼンテーション

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

<48746D6C8AEE91628D758DC02E786C73>

GET Servlet URL? Query String Servlet print Query String Servlet doget 1 HttpServletRequest getqueryst

hands_on_4.PDF

SVG資料第10回目(その2) Ajaxによる同期通信と非同期通信の違い

--- サーバ側処理 Java servlet の例 // 通常の Java servlet での POST で受信と同じ protected void dopost(httpservletrequest request, HttpServletResponse response) throws S

Microsoft PowerPoint - oas4081_JServlet.ppt

Programming-C-9.key

Transcription:

プログラミング Java III 第 4 回 : サーブレットの HTTP Request の処理 Ivan Tanev

講義の構造 1. サーブレットの HTTP Request の処理 2. 演習 2

第 3 回のまとめ Internet Explorer のアドレス バー : http://isd-si.doshisha.ac.jp/teaching/programming_3/xxxxxxxx/lecture3_form1.html XXXXXXXX は学籍番号です 例 : 1116171001 サーブレット Lecture3_Servlet_XXXXXXXX 呼び出前 サーブレット Lecture3_Servlet_XXXXXXXX 呼び出後 3

Lecture3_Form.htm 第 3 回のまとめ Web サーバ サーブレット Web フォーム static サーブレット コンテナ 4 HTML テキスト dynamic 2 5 Internet 1 3 Web クライアント HTML テキスト HTML テキスト Lecture3_Servlet_XXXXXXXX.class <<HTML><HEAD> <TITLE>To All Students of Programming 3 at Doshisha University</TITLE> <META HTTP- EQUIV='Content-Type' Content='text/html; charset=shift_jis'></meta></head><bod Y BGCOLOR="#FFFFFF"> <CENTER> <H2>Congratulations, your first servlet is working!</h2> <H3>[ local time is <font color=blue>wed Apr 18 17:49:38 KST 2018</font> ]</H3> </CENTER></BODY></HTML> ユーザ 4

サーブレットの HTTP Request の処理 :Web Form: INPUT Objects Web form Lecture4_Form_XXXX.html のソース <HTML> <HEAD> <TITLE>Handling an HTTP Get Request</TITLE> <META HTTP-EQUIV="content-type" CONTENT="text/html"> </HEAD> <BODY> <FORM ACTION = "/servlet/lecture4_servlet_xxxx" METHOD = "get"> First name<br> <INPUT TYPE = "text" NAME = "Form_FirstName" /><BR><BR> Native language:<br> <INPUT TYPE="RADIO" NAME = "Form_Language" VALUE="Japanese" CHECKED="CHECKED">Japanese<BR> <INPUT TYPE="RADIO" NAME = "Form_Language" VALUE="English">English<BR> <INPUT TYPE="RADIO" NAME = "Form_Language" VALUE="French">French<BR> <INPUT TYPE="RADIO" NAME = "Form_Language" VALUE="-Other-">-Other-<BR><BR> Spoken Languages: <BR> <INPUT TYPE="CHECKBOX" NAME="Form_SpeakJapanese" CHECKED="CHECKED">Japanese<BR> <INPUT TYPE="CHECKBOX" NAME="Form_SpeakEnglish">English<BR> <INPUT TYPE="CHECKBOX" NAME="Form_SpeakFrench">French<BR> <BR> <BR> Favourite car:<br> <SELECT NAME="Form_Cars"> <OPTION VALUE="Toyota">Toyota <OPTION VALUE="Honda">Honda <OPTION VALUE="Nissan">Nissan <OPTION VALUE="-Other-">-Other- </SELECT><BR> <INPUT TYPE = "submit" VALUE = "Start Servlet"/> </FORM> </BODY> </HTML> 5

サーブレットの HTTP Request の処理 :Request の構造 Web サーバ サーブレット Lecture4_Form_XXXX.htm サーブレット コンテナ Web フォーム static 2 Internet 1 3 Web クライアント HTML テキスト ユーザー 6

サーブレットの HTTP Request の処理 :Request の構造 Web form Lecture4_Form_XXXX.html のソース <HTML> <HEAD> <TITLE>Handling an HTTP Get Request</TITLE> <META HTTP-EQUIV="content-type" CONTENT="text/html"> </HEAD> <BODY> <FORM ACTION = "/servlet/lecture4_servlet_xxxx" METHOD = "get"> First name<br> <INPUT TYPE = "text" NAME = "Form_FirstName" /><BR><BR> Native language:<br> <INPUT TYPE="RADIO" NAME = "Form_Language" VALUE="Japanese" CHECKED="CHECKED">Japanese<BR> <INPUT TYPE="RADIO" NAME = "Form_Language" VALUE="English">English<BR> <INPUT TYPE="RADIO" NAME = "Form_Language" VALUE="French">French<BR> <INPUT TYPE="RADIO" NAME = "Form_Language" VALUE="-Other-">-Other-<BR><BR> Spoken Languages: <BR> <INPUT TYPE="CHECKBOX" NAME="Form_SpeakJapanese" CHECKED="CHECKED">Japanese<BR> <INPUT TYPE="CHECKBOX" NAME="Form_SpeakEnglish">English<BR> <INPUT TYPE="CHECKBOX" NAME="Form_SpeakFrench">French<BR> <BR> <BR> Favourite car:<br> <SELECT NAME="Form_Cars"> <OPTION VALUE="Toyota">Toyota <OPTION VALUE="Honda">Honda <OPTION VALUE="Nissan">Nissan <OPTION VALUE="-Other-">-Other- </SELECT><BR> <INPUT TYPE = "submit" VALUE = "Start Servlet"/> </FORM> </BODY> </HTML> Request の内容 Parameter 名 = Parameter の値 Parameter の値ユーザのインプット : John 7

サーブレットの HTTP Request の処理 Lecture4_Form_XXXX.htm Web サーバ 1 Web クライアント ユーザ サーブレット コンテナ Web フォーム static 2 HTML テキスト サーブレット 4 HTML テキスト dynamic Internet 3 5 HTML テキスト 8

サーブレットの HTTP Request の処理 Request の内容 Servlet Lecture4_Servlet_XXXX.java のソース import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Lecture4_Servlet_XXXX extends HttpServlet { public void service (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("text/html"); //--- New : --- // Getting the form parameters: String FirstName = request.getparameter("form_firstname"); String Language = request.getparameter("form_language"); String Car = request.getparameter("form_cars"); String Lang = ""; if (request.getparameter("form_speakenglish")!=null) Lang="English"; if (request.getparameter("form_speakjapanese")!=null) Lang=Lang + " Japanese"; if (request.getparameter("form_speakfrench")!=null) Lang=Lang + " French"; // Getting the communication channel with the requesting client PrintWriter out = response.getwriter(); 9

サーブレットの HTTP Request の処理 Request の内容 Servlet Lecture4_Servlet_XXXX.java のソース // write the data out.println("<html>" + "<HEAD>" + " <TITLE>Servlet Request: </TITLE>" + " <META HTTP-EQUIV='Content-Type' Content='text/html';" + " charset='shift_jis'></meta>" + "</HEAD>"); out.println(" <CENTER>" + "<H2>Hello "+FirstName+"-san!</H2>" + "<H3>Welcome to Servlets!</H3></CENTER>" + " Your native language is <B>"+Language +"</B><BR>" + " Your favorite car is <B>"+Car +"</B><BR>" + " You speak <B>"+ Lang +"</B><BR><BR>" ); out.println("local time is " + new java.util.date()); out.println("</body></html>"); } } 10

サーブレットの HTTP Request の処理 Reference: http://docs.oracle.com/javaee/1.3/api/javax/servlet/servletrequest.html 11

サーブレットの HTTP Request の処理 :Request の処理 Reference: http://docs.oracle.com/javaee/1.3/api/javax/servlet/servletrequest.html 12

2. 演習目的 1) Web フォーム Lecture4_Form_XXXXXXXX.html を作成 (Notepad) と Upload (FFFTP) ロケーション : http://isd-si.doshisha.ac.jp/teaching/programming_3/xxxxxxxx/ 2) Servlet Lecture4_Servlet_XXXXXXXX.java を作成 (Notepad) と Upload (FFFTP) ロケーション : http://isd-si.doshisha.ac.jp/servlet/ 3) Servlet Lecture4_Servlet_XXXXXXXX.java をコンパイルして, Lecture4_Servlet_XXXXXXXX.class を作成ロケーション : http://isd-si.doshisha.ac.jp/servlet/ (http://isd-si.doshisha.ac.jp/teaching/programming_3/xxxxxxxx/compile_servlet.jsp). 4) Web フォーム Lecture4_Form_XXXXXXXX.html から Servlet Lecture4_Servlet_XXXXXXXX を実行する. 13

A.Web フォームを作成 2. 演習 Step by Step B.Web フォームを Web サーバに Upload C.Servlet を開発 D.Servlet を Web サーバに Upload E.Servlet をコンパイル F.Web フォームへ Access してから, Servlet を実行する 14

2. 演習 A.Web フォームを作成 テキストドキュメントの作成 1 2 3 15

A. Web フォームを作成テキストドキュメントの内容を入力 <HTML> Lecture4_Servlet_XXXX: <HEAD> <TITLE>Handling an HTTP Get Request</TITLE> XXXX = 学籍番号 <META HTTP-EQUIV="content-type" CONTENT="text/html"> </HEAD> 例 : Lecture4_Servlet_1116171001 <BODY> <FORM ACTION = "/servlet/lecture4_servlet_xxxx" METHOD = "get"> First name<br> <INPUT TYPE = "text" NAME = "Form_FirstName" /><BR><BR> Native language:<br> <INPUT TYPE="RADIO" NAME = "Form_Language" VALUE="Japanese" CHECKED="CHECKED">Japanese<BR> <INPUT TYPE="RADIO" NAME = "Form_Language" VALUE="English">English<BR> <INPUT TYPE="RADIO" NAME = "Form_Language" VALUE="French">French<BR> <INPUT TYPE="RADIO" NAME = "Form_Language" VALUE="-Other-">-Other-<BR><BR> Spoken Languages:<BR> <INPUT TYPE="CHECKBOX" NAME="Form_SpeakJapanese" CHECKED="CHECKED">Japanese<BR> <INPUT TYPE="CHECKBOX" NAME="Form_SpeakEnglish">English<BR> <INPUT TYPE="CHECKBOX" NAME="Form_SpeakFrench">French<BR> <BR> <BR> Favourite car:<br> <SELECT NAME="Form_Cars"> <OPTION VALUE="Toyota">Toyota <OPTION VALUE="Honda">Honda <OPTION VALUE="Nissan">Nissan <OPTION VALUE="-Other-">-Other- </SELECT><BR> <INPUT TYPE = "submit" VALUE = "Start Servlet"/> </FORM> </BODY> </HTML> 16

A. Web フォームを作成テキストドキュメントを保存する :E:\Temp\Lecture4_Form_XXXX.html <HTML> <HEAD> <TITLE>Handling an HTTP Get Request</TITLE> <META HTTP-EQUIV="content-type" CONTENT="text/html"> </HEAD> <BODY> <FORM ACTION = "/servlet/lecture4_servlet_xxxx" METHOD = "get"> First name<br> <INPUT TYPE = "text" NAME = "Form_FirstName" /><BR><BR> Native language:<br> <INPUT TYPE="RADIO" NAME = "Form_Language" VALUE="Japanese" CHECKED="CHECKED">Japanese<BR> <INPUT TYPE="RADIO" NAME = "Form_Language" VALUE="English">English<BR> Lecture4_Form_XXXX.html 1 2 17

B. Web フォーム Lecture4_Form_XXXX.html を Upload する 1) FTP Client (FFFTP) を実行する 18

B. Web フォーム Lecture4_Form_XXXX.html を Upload する 2) ホストに接続する FTP クライアント設定 : ホスト名 : isd-si.doshisha.ac.jp ユーザ名 : guest パスワード : guest 19

B. Web フォーム Lecture4_Form_XXXX.html を Upload する 3) 自分のフォルダーを選択する 20

C. Servlet Lecture4_Servlet_XXXX.java を開発する 1) Notepad で 下記の Servlet を入力する import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Lecture4_Servlet_XXXX extends HttpServlet { public void service (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("text/html"); //--- New : --- // Getting the form parameters: String FirstName = request.getparameter("form_firstname"); String Language = request.getparameter("form_language"); String Car = request.getparameter("form_cars"); 注意 :class 名 =ファイル名 (.java) 例 : class 名 : Lecture4_Servlet_1116171001 ファイル名 : Lecture4_Servlet_1116171001.java } } String Lang = ""; if (request.getparameter("form_speakenglish")!=null) Lang="English"; if (request.getparameter("form_speakjapanese")!=null) Lang=Lang + " Japanese"; if (request.getparameter("form_speakfrench")!=null) Lang=Lang + " French"; // Getting the communication channel with the requesting client PrintWriter out = response.getwriter(); // write the data out.println("<html><head><title>servlet Request: </TITLE>" + " <META HTTP-EQUIV='Content-Type' Content='text/html';" + " charset='shift_jis'></meta></head>"); out.println(" <CENTER>" + "<H2>Hello "+FirstName+"-san!</H2>" + "<H3>Welcome to Servlets!</H3></CENTER>" + " Your native language is <B>"+Language +"</B><BR>" + " Your favorite car is <B>"+Car +"</B><BR>" + " You speak <B>"+ Lang +"</B><BR><BR>" ); out.println("local time is " + new java.util.date()); out.println("</body></html>"); 21

C. Servlet Lecture4_Servlet_XXXX.java を開発する 2) Servlet は E:\Temp\Lecture4_Servlet_XXXX.java に保存する import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Lecture4_Servlet_XXXX extends HttpServlet { public void service (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("text/html"); //--- New : --- // Getting the form parameters: 注意 :class 名 =ファイル名 (.java) 例 : class 名 : Lecture4_Servlet_1116171001 ファイル名 : Lecture4_Servlet_1116171001.java 2 Lecture4_Servlet_XXXX.java 1 22

D.Servlet Lecture4_Servlet_XXXX.java を Web Server に Upload する 1) FFFTPを実行する. 2) ホストに接続 : ホスト名 : isd-si.doshisha.ac.jp ユーザ名 : servlets パスワード : servlets 23

D.Servlet Lecture4_Servlet_XXXX.java を Web Server に Upload する 3) Upload Lecture4_Servlet_XXXX.java 24

E.Servlet Lecture4_Servlet_XXXX.java をコンパイルする 1) Web Browser: http://isd-si.doshisha.ac.jp/teaching/programming_3/xxxxxx/ 2) Compile_Servlet.jsp に Access する : 1 2 25

E.Servlet Lecture4_Servlet_XXXX.java をコンパイルする XXXX= 学籍番号です 26

E.Servlet をコンパイルする 3) FFFTP Client で Lecture4_Servlet_XXXX.class ファイルを確認する 1 Lecture4_Servlet_XXXX.class? 2 27

E. Lecture4_Form_XXXX.html の Access してから, Servlet を実行する (Web Browser, 例 :Internet Explorer など ) 締め切り : 5 月 17 日 ( 木曜日 ) 28