Microsoft PowerPoint - Lecture_2

Similar documents
Microsoft PowerPoint - Lecture_3

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

B2-Servlet-0112.PDF

スライド 1

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

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

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

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

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

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

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

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


実験 5 CGI プログラミング 1 目的 動的にWebページを作成する手法の一つであるCGIについてプログラミングを通じて基本的な仕組みを学ぶ 2 実験 実験 1 Webサーバの設定確認と起動 (1)/etc/httpd/conf にある httpd.conf ファイルの cgi-bin に関する

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

Client Client public void sendobject(object message) String String Web Container String RemoteEndpoint String Endpoint throwsioexception, EncodeExcept

untitled

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

PowerPoint プレゼンテーション

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

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

Web Servlet/JSP JSP

ビジネスサーバ設定マニュアル_Standard応用編

intra-mart Accel Platform — 外部ソフトウェア接続モジュール 仕様書   第3版  

54 5 PHP Web hellow.php 1:<?php 2: echo "Hellow, PHP!Y=n"; 3:?> echo PHP C 2: printf("hellow, PHP!Y=n"); PHP (php) $ php hellow.php Hellow, PHP! 5.1.2

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

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

ohp.mgp

5-5_arai_JPNICSecSemi_XssCsrf_CM_ PDF

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

Java言語 第1回

リスト 1 1 <HTML> <HEAD> 3 <META http-equiv="content-type" content="text/html; charset=euc-jp"> 4 <TITLE> 住所の検索 </TITLE> 5 </HEAD> 6 <BODY> <FORM method=

java_servlet2_見本

2003年度 情報処理概論

PowerPoint プレゼンテーション

第7回 Javascript入門

Spacewalkにおけるクロスサイトフォージェリ(CSRF)の脆弱性

Packet Tracer: 拡張 ACL の設定 : シナリオ 1 トポロジ アドレステーブル R1 デバイスインターフェイス IP アドレスサブネットマスクデフォルトゲートウェイ G0/ N/A G0/

19 ステップで 2 大人気スクリプト言語を学ぶ GUI のあるアプリを作る STEP11 から STEP12 までまとめ 1.Python での GUI アプリ作成 Python は標準ではグラフィックスの機能を持ちませんが ライブラリを使うことで GUI のアプリを作成することができる そこで

CAC

CAS Yale Open Source software Authentication Authorization (nu-cas) Backend Database Authentication Authorization Powered by A

intra-mart WebPlatform/AppFramework

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


Upload path ファイル送信先ディレクトリのパスを指定します ホームディレクトリに画像を送信する場合は空白のまま サブディレクトリに画像を送信する場合はディレクトリ名を指定します さらに下位のディレクトリを指定する場合は \ マークを利用します 例 ) ホームディレクトリ以下の camera

WTM2019SingleSignOn

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

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

2009 Web B012-1

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C>

Transcription:

プログラミング Java III 第 2 回 :WebForm および サーブレット入門 Ivan Tanev

講義の構造 1. ダイナミックWebコンテンツとサーブレット 2.Webフォーム 3. 演習 2

1. ダイナミック Web コンテンツとサーブレット 3

1. ダイナミック Web コンテンツとサーブレット Internet Response: HTML テキスト ユーザー 4

1. ダイナミック Web コンテンツとサーブレット Internet Response: HTML テキスト ユーザー 保存されている所のコンテンツ (Web Server) = 表示されている所のコンテンツ (Web Browser) 5

ーブレッテキストサ1. ダイナミック Web コンテンツとサーブレット Request 2 3 HTML 4 Internet HTML テキスト Response: HTML テキスト ユーザー ト保存されている所のコ ンテンツ (Web Server) サーブレットの実行された結果はWeb Clientに送られています この結果は = ダイナミックな結果である! 表示されている所のコンテンツ (Web Browser) 6

ーブレッテキストサ1. ダイナミック Web コンテンツとサーブレット Request Request 2 3 HTML トサーバサイドスクリプト 4 Internet HTML テキスト Response: HTML テキスト HTML テキスト ユーザー Java Class 7

ーブレッテキストサ1. ダイナミック Web コンテンツとサーブレット Request 2 3 トHTML 4 Internet HTML テキスト Response: HTML テキスト ユーザー サーブレットの構造? Java Class 開発? サーブレットの特徴? Web クライアントから Java Class を呼び出す ( 実行 )? 8

ーブレッテキストサ1. ダイナミック Web コンテンツとサーブレット Request サーブレットの特徴 2 3 トHTML 4 Sun Microsystems で開発された サーブレットはサーバサイドスクリプト Internet である HTML テキスト HTML テキスト ユーザー サーブレットの特徴? 9

1. ダイナミック Web コンテンツとサーブレット ーブレッテキストサ2 3 トHTML サーブレットの特徴? 4 Request Internet HTML テキスト サーブレットの特徴 実行されている所は サーブレット コンテナおよび HTML テキスト サーブレット エンジンと呼ばれてい ます ユーザー このスクリプトは Java 言語で開発されて いる 10

ーブレッ1. ダイナミック Web コンテンツとサーブレット 2 サー3 ブレットHTML テキストサHTML 4 テキスト HTML テキスト HTML テキストサRequest サーブレットの特徴 Java 言語 : Write Once Run Anywhere Internet ( 例 :CGI MS ISAPIとは?) HTML マルチスレードテキスト ( 例 :CGIとは? Thread<->Processとは?) HTML テキスト ユーザー サーブレットの特徴? 11

1. ダイナミック Web コンテンツとサーブレット ーブレッテキストサ2 3 トHTML サーブレットの特徴? 4 Request Internet サーブレットの特徴 ライフサイクル サーブレットは Servlet インターフェイス (javax.servlet のパケージ ) を実現する Servlet インターフェイスは下記の HTML Method を含んでいます : テキスト void init(servletconfig config) HTML ( 一回呼び出されていますテキスト ) void service(servletrequest request, void destroy() ServletResponse response) ユーザー 12

1. ダイナミック Web コンテンツとサーブレット 2 3 トーブレッテキストサデータベース HTML 4 サーバの状態 サーブレットの特徴 Request サーブレットの実行されたダイナミックな結果は : サーバのダイナミックな状態が関係ある ( 例 : 時間など HTML ) テキスト データベースのダイナミックな状態が関係 Internet HTML あるテキスト ( 例 : 辞典 Online Commerceなど ) ユーザー コンテンツはユーザーインプットのダイナミックな状態と関係ある ( 例 : 辞典 Online Commerceなど ) 13

ーブレッテキストサ1. ダイナミック Web コンテンツとサーブレット Request 2 3 トHTML 4 Internet HTML テキスト Response: HTML テキスト ユーザー Web クライアントから Java Class を呼び出す ( 実行 )? 14

ーブレッテキストサ1. ダイナミック Web コンテンツとサーブレット Request 2 3 トHTML 4 Internet HTML テキスト Response: HTML テキスト ユーザー Web クライアントから Java Class を呼び出す ( 実行 )? 15

2.Web フォーム http://tangorin.com/! 表示 から ソース(C) を開いて下さい 16

2.Web フォーム GET および POST <form id= Search class= form-inline action="dict.php" method="get"> <input type="text" class="form-control" id="searchinput" name="s" value="" > <button id="searchbutton" class="btn btn-warning" tabindex="3" type="submit"> FORM は HTML タッグ名である </form> METHOD は HTML パラメター名である 17

2.Web フォーム INPUT は HTML タッグ名である <form id= Search class= form-inline action="dict.php" method="get"> <input type="text" class="form-control" id="searchinput" name="s" value="" > <button id="searchbutton" class="btn btn-warning" tabindex="3" type="submit"> </form> TYPE, ID は HTML の INPUT タッグのパラメター名である 18

2.Web フォーム BUTTON は HTML タッグ名である <form id= Search class= form-inline action="dict.php" method="get"> <input type="text" class="form-control" id="searchinput" name="s" value="" > <button id="searchbutton" class="btn btn-warning" tabindex="3" type="submit"> </form> TYPE, ID はHTMLの BUTTON タッグのパラメター名である 19

2.Web フォーム ACTION は HTML パラメター名である <form id= Search class= form-inline c action="dict.php" method="get"> <input type="text" class="form-control" b id="searchinput" name="s" value="" > a <button id="searchbutton" class="btn btn-warning" tabindex="3" type="submit"> a searchbutton ボタンを押すとformの b c </form> searchinput のデータはこの dict.php の スクリプトへ送られています このスクリプトは Server Side で実行されています 20

2.Web フォーム <form id= Search class= form-inline action="dict.php" method="get"> <input type="text" b class="form-control" id="searchinput" name="s" value="" > a <button id="searchbutton" class="btn btn-warning" tabindex="3" type="submit"> </form> Webフォーム下記の特徴を定義されています : 何のサーバサイドスクリプトを実行するか? c 何時 ( 何のイベント ) サーバサイドスクリプトを実行するか? a 何のユーザー入力されたパラメターはスクリプトにおくるか? c b 21

3. 演習 A.Web フォームを作り出す (Notepad で ) B.Web フォームを Web サーバに Upload (FTP Client で ) C.Web フォームのアクセス (Internet Explorer で ) D. サーブレットのソース (java) を確認 (Notepad で ) 22

3. 演習 A.Web フォームを作り出す (Notepad で )!!! 23

3. 演習 A.Web フォームを作り出す (Notepad で )! 24

3. 演習 A.Web フォームを作り出す (Notepad で ) Virtual path (URL): /servlet/ Physical path (Local PC): C:\ORACLE\ora9.2\Apache\Jserv\servlets\ 実行されたサーブレット HelloFromServlet.class のコンパイルされた Java Class 25

3. 演習 A.Web フォームを作り出す (Notepad で ) 作り出したファイル名を Lecture2_Form.html を設定する! 26

3. 演習 B.Web フォームを Web サーバに Upload (FTP Client で )! ネットワーク フォルダーを開く! FFTP を実行する 27

3. 実習 B.Web フォームを Web サーバに Upload (FTP Client で )! ホストの設定 基本 のページでFTPサーバーのパラメターを設定して下さい パスワードも guest です 28

3. 実習 B.Web フォームを Web サーバに Upload (FTP Client で ) 接続してから isd-si.doshisha.ac.jp のサーバー /teaching/programming_3/ のフォルダーを表示されています! 自分のフォルダーを選択する 29

3. 実習 B.Web フォームを Web サーバに Upload (FTP Client で ) Web フォームファイル E:\temp\Lecture2_Form.html Web サーバのフォルダー /1XXXXXXXX に Upload する! /1XXXXXXXX 30

3. 実習 C.Web フォームのアクセス (Internet Explorer で ) Internet Explorer のアドレスバー : http://isd-si.doshisha.ac.jp/teaching/programming_3/1xxxxxxx/lecture2_form.html Enter 押してから サーブレットを実行する ボタンを押す!! http://isd-si.doshisha.ac.jp/teaching/programming_3/1xxxxxxx/lecture2_form.html 31

3. 実習 C.Web フォームのアクセス サーブレットを実行する ボタンを押して下さい! サーブレット名, パラメタ サーブレットの実行結果 32

3. 演習 D. サーブレットのソース (java) を確認 (Notepad で ) /1XXXXXXX! FTPクライアントサーブレットソースファイル HelloFromServlet.java Notepadで開いて下さい!! 33

3. 演習 D. サーブレットのソース (java) を確認 (Notepad で ) 同じく Web フォームファイルファイル Lecture2_Form.html Notepad でも開く! 34

import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloFromServlet extends HttpServlet { 3. 演習 D. サーブレットのソース (java) を確認 サーブレット HelloFromServlet の Java ソース public void service (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // set content type and other response header fields first response.setcontenttype("text/html"); // get the communication channel with the requesting client PrintWriter out = response.getwriter(); } } // write the data out.println("<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>" + "<BODY BGCOLOR=\"#FFFFFF\">" + " <CENTER>" + " <H2>Congratulations, your first servlet is working!</h2>" + " <H3>[ local time is <font color=blue>" + new java.util.date() + "</font> ]</H3>" + " </CENTER>" + "</BODY>" + "</HTML>"); Web フォームファイルファイル Lecture2_Form.htm のソース 35

3. 実習 D. サーブレットのソース (java) を確認! サーブレットの実行結果を検査してください 36

import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloFromServlet extends HttpServlet { 3. 演習 D. サーブレットのソース (java) を確認 サーブレット HelloFromServlet の Java ソース public void service (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // set content type and other response header fields first response.setcontenttype("text/html"); // get the communication channel with the requesting client PrintWriter out = response.getwriter(); } } // write the data out.println("<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>" + "<BODY BGCOLOR=\"#FFFFFF\">" + " <CENTER>" + " <H2>Congratulations, your first servlet is working!</h2>" + " <H3>[ local time is <font color=blue>" + new java.util.date() + "</font> ]</H3>" + " </CENTER>" + "</BODY>" + "</HTML>"); サーブレット HelloFromServlet の実行結果 <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> <BODY 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> 37

3. 実習 ( まとめ ) Lecture2_Form.htm http://... /Lecture2_Form.html Web サーバ Web 1 フォーム (static) HTML テキスト 2 Internet 3 サーhttp://... //servlet/hellofromservlet ブレ4 HTML 5 ットテキスト HTML テキスト dynamic サーブレット コンテナ HelloFromServlet.class Web クライアント <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> <BODY 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> ユーザー 38

3. 演習 サーブレットの構造?Java Class の開発方法? 第 3 回の講義である import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloFromServlet extends HttpServlet { public void service (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // set content type and other response header fields first response.setcontenttype("text/html"); // get the communication channel with the requesting client PrintWriter out = response.getwriter(); } } // write the data out.println("<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>" + "<BODY BGCOLOR=\"#FFFFFF\">" + " <CENTER>" + " <H2>Congratulations, your first servlet is working!</h2>" + " <H3>[ local time is <font color=blue>" + new java.util.date() + "</font> ]</H3>" + " </CENTER>" + "</BODY>" + "</HTML>"); 39