Microsoft PowerPoint - Lecture_3

Similar documents
Microsoft PowerPoint - Lecture_2

メディプロ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 1 p.2 1 Servlet Servlet Web Web Web Apache Web Servlet JSP Web Apache Tomcat Jetty Apache Tomcat, Jetty Java JDK, Eclipse

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

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

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


Web Servlet/JSP JSP

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

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

K227 Java 2

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

Java演習(4) -- 変数と型 --

java_servlet2_見本

untitled

Java言語 第1回

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

2

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

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

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

Java (9) 1 Lesson Java System.out.println() 1 Java API 1 Java Java 1

WTM2019SingleSignOn

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

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

Client client = ClientBuilder.newClient(); WebTarget webtarget = client.target(" " "); Invo

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

SpringSecurity

インターネットマガジン2001年4月号―INTERNET magazine No.75

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

5-5_arai_JPNICSecSemi_XssCsrf_CM_ PDF

JavaScript の使い方

リスト 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=

VB.NETコーディング標準

intra-mart マスカット連携ガイド

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

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


Microsoft Word - D JP.docx

2

新・明解Java入門

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

Apache Tomcatにおけるクロスサイトリクエストフォージェリ(CSRF)保護メカニズム回避の脆弱性

JavaプログラミングⅠ

2009 Web B012-1

intra-mart WebPlatform/AppFramework

PowerPoint プレゼンテーション

Transcription:

プログラミング III 第 3 回 : サーブレットリクエスト & サーブレットレスポンス処理入門 Ivan Tanev

講義の構造 1. サーブレットの構造 2. サーブレットリクエスト サーブレットレスポンスとは 3. 演習 2

Lecture2_Form.htm 第 2 回のまとめ Web サーバ Web 1 フォーム static 2 Internet サーブレ4 HTML 5 ットテキスト dynamic サーブレット コンテナ 3 Web クライアント HTML テキスト HTML テキスト HelloFromServlet.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> ユーザ 3

1. サーブレットの構造 サーブレット HelloFromServlet 呼び出す前 (Lecture2_Form.htm の画面 ) サーブレット HelloFromServlet 呼び出す後 4

1. サーブレットの構造 サーブレット HelloFromServlet の Java ソース 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>"); 5

1. サーブレットの構造 サーブレット HelloFromServlet の Java ソース import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloFromServlet extends HttpServlet { Package (classes and interfaces) Abstract class of package javax.servlet.http Default implementation of servlet methods Method overridden } 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(); Request object Request interface Response object Response interface Method of response object // 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>"); Character-based output stream Method of output stream 6

Web サーバ Request object Lecture2_Form.htm 2. サーブレットリクエスト サーブレットレスポンスとは Web 1 フォーム static 2 Internet サーブレ4 HTML 5 ットテキスト HTML dynamic テキスト サーブレット コンテナ 3 Web クライアント HTML テキスト out.println() の実行結果 Response object HelloFromServlet.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> ユーザ 7

Web サーバ Request object Web フォーム static 2. サーブレットリクエスト サーブレットレスポンス Lecture2_Form.htm Internet サ3 ーブレHTML ットテキスト dynamic サーブレット コンテナ Web クライアント HTML テキスト HTML テキスト Response object HelloFromServlet.class Request object Input Data: サーバ状態のデータ クライアント状態データ ユーザー入力 ユーザ 8

3. サーブレットリクエスト サーブレットレスポンスの演習 A.Web フォームの開発 (Notepad) B.WebフォームをWebサーバにUpload (FTP Client) C.Servletの開発 (Notepad) D.ServletをWebサーバにUpload (FTP Client) E.Servletをコンパイル (CompileServlet.jsp via Web Browser) F.WebフォームへAccess (Web Browser) 9

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

A. Web フォームを開発 テキストドキュメントに下記の内容を入力 : Servlet を呼び出す Lecture3_Servlet_XXXXXXXX: XXXXXXXX = 学籍番号例 : Lecture3_Servlet_1116171001 11

A. Web フォームを開発テキストドキュメントを保存する : E:\Temp\Lecture3_Form1.html 2 1 12

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

B. Web フォームを Upload する 3) 自分のフォルダーを選択してから Upload する 14

C. Servlet を開発する 1) Notepad で 下記の Servlet を入力する 2) Servlet は E:\Temp\Lecture3_Servlet_XXXXXXXX.java に保存する 注意 1: XXXXXXXX = 学籍番号, 例 : Lecture3_Servlet_1116171001 注意 2: class 名 =ファイル名 (.java) 例 : class 名 : Lecture3_Servlet_1116171001 ファイル名 : Lecture3_Servlet_1116171001.java 15

D.Servlet Lecture3_Servlet_XXXXXXXX.java を Web Server に Upload する 1) FFFTPを実行する. 2) ホストに接続 : ホスト名 : isd-si.doshisha.ac.jp ユーザ名 : servlets パスワード : servlets 注意 : Servlet を Upload するためにユーザ名 : servlets パスワード : servlets です Web Form を Upload 時にユーザ名 : guest パスワード : guest でした 16

D.Servlet Lecture3_Servlet_XXXXXXXX.java を Web Server に Upload する 3) Upload Lecture3_Servlet_XXXXXXXX.java XXXXXXXX = 学籍番号 17

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

E.Servlet Lecture3_Servlet_XXXXXXXX.java をコンパイルする Compile_Servlet.jsp <% String SName = request.getparameter("sname_"), InfoStr="", cmd[]=new String[2]; cmd[0]="javac"; cmd[1]="c:/oracle/ora92/apache/jserv/servlets/"+sname; if ((SName!=null) && (SName.length()>0 )) { try { Runtime rt = Runtime.getRuntime(); out.println("executing <B>'" + cmd[0] + " " + cmd[1] +"'</B> remotely on isd-si.doshisha.ac.jp..."); Process proc = rt.exec(cmd); 4 %> <FORM METHOD="POST" ACTION="Compile_Servlet.jsp"> Servlet name (e.g., HelloWorld.java): <INPUT STYLE="font-size:9.0pt;font-family:Verdana; width:300px" TYPE="text" NAME="SName_" VALUE = ""> <INPUT TYPE = submit VALUE = "Compile"> </FORM> 19

E.Servlet Lecture3_Servlet_XXXXXXXX.java をコンパイルする 3) Servlet のネームを入力する. 4) Compile ボタンを押す. 5) コンパイル結果を確認する. 3 4 5 20

E.Servlet Lecture3_Servlet_XXXXXXXX.java をコンパイルする コンパイル結果 : エラーの例 ( エラー メッセージは赤で表示されています ): 21

E.Servlet をコンパイルする 3) Servlet はコンパイルが出来ましたか? FFFTP Client で Lecture3_Servlet_XXXXXXXX.class ファイルを確認する : Lecture3_Servlet_XXXXXXXX.class? 22

F.Web フォームへ Access Internet Explorer のアドレス バー : http://isd-si.doshisha.ac.jp/teaching/programming_3/xxxxxxxx/lecture3_form1.html XXXXXXXX は学籍番号です 例 :1116171001 等 サーブレット Lecture3_Servlet_XXXXXXXX 呼び出前 サーブレット Lecture3_Servlet_XXXXXXXX 呼び出後 23

課題 Lecture3_Form1.htmlの開発 Lecture3_Servlet_XXXXXXXX.javaを開発 Lecture3_Servlet_XXXXXXXX.classにコンパイル Lecture3_Form1.htmlのアクセス結果 : の締め切りは 5 月 10 日 ( 木曜日 ) 24