Servlet J2EE I 第8回 / 2005-07-15.

Slides:



Advertisements
Similar presentations
年度 J2EE II 稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴. 2 この講義の位置づけ 3年前期の「データベース論 (J2EE I) 」に続く講義。 「データベース論」の講義内容を理解 していることが前提。
Advertisements

第6章 インターネットアプリケー ション 6.1 インターネットアプリケーション 6.2Java によるネットワーク処理 6.3 電子メール 6.4Web アプリケーション 6.5 チャットアプリケーション.
Web アプリケーション開発入門 大岩研究会 今野隆平 2002 年 5 月 9 日 Introduction to Web Application Development.
1 JSP の作成 JSF による Web アプリケーション 開発 第 4 回. 2 ここでの内容 JSF での JSP の作り方と動かし方につい て学ぶ。
Servlet 矢口 洋介 清水 麗雄. 準備  Java フォルダに入ってから mkdir Servlet ln – s ~/public_html/Servlet.  フォルダの移動 cd public_html/Servlet/WEB-INF/classes/*.  ファイルのコピー cp.
知的システム構築工房   Linux設定セミナーシリーズ 第5回 Webアプリ作成 2011年3月16日(水) 株式会社 アセンディア 1.
2006年11月22日 植田龍男 Webサービス II (第9回) 年11月22日 植田龍男.
Struts1.xの脆弱性(CVE ) に対するSDEの対処:wrapタイプ (パッチのご提供)
WebサービスII (第10回) 2007年11月28日 植田龍男.
JSFによるWebアプリケーション開発 第11回
アプレット (Applet)について.
Servlet入門(2) 入力フォームをつかったWebアプリ
Iアプリプログラミング その1  鳥居秀徳.
ネットワークプログラミング論 平成27年10月12日 森田 彦.
卒研:データベースチーム 第4回 JSP、サーブレット
JavaServlet&JSP入門 01K0018 中村太一.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
卒研:データベースチーム 第4回 DOMを使った処理
WebサービスII (第8回) 2007年11月14日 植田龍男.
HTTPプロトコルとJSP (1) データベース論 第3回.
Curlの仕組み.
JavaBeans とJSP データベース論 第5回.
JSFによるWebアプリケーション開発 第6回
HTTPプロトコル J2EE I 第7回 /
Javaプログラムの実行まで バイト Javaの コード 実行 ソースコード Java ファイル名 ファイル名 abc.java
JSPの作成 J2EE II 第3回 2005年4月10日.
Servlet入門(2) 入力フォームをつかったWebアプリ
ネットワークプログラミング論 平成28年10月17日 森田 彦.
ServletによるWebアプリ作成 入門
データベース設計 第9回 Webインタフェースの作成(1)
RMI ソフトウェア特論 第6回 /
第8章 Web技術とセキュリティ   岡本 好未.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
Webサービスを使った クライアント・プログラム
TomcatによるWebアプリケーション開発入門
JDBC J2EE I 第4回 /
独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金)
総合政策学部4年 伊藤玲子 総合政策学部4年 阿部雅美 +CreWな皆様
Webアプリケーションの方向性 データベース論 第13回.
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
2006年度 東京サテライト校 エンタープライズ・アプリケーション II
ネットワークプログラミング論 平成28年11月7日 森田 彦.
Javaによる Webアプリケーション入門 第6回
JDBC データベース論 第12回.
ネットワークプログラミング論 平成28年10月31日 森田 彦.
Javaによる Webアプリケーション入門 第7回
Jakarta Struts (2) ソフトウェア特論 第11回.
Javaによる Webアプリケーション入門 第2回
7.4 intanceof 演算子 7.5~7.9パッケージ 2003/11/28 紺野憲一
JXTA Shell (1) P2P特論 (ソフトウェア特論) 第4回 /
Javaによる Webアプリケーション入門 第11回
JDBC J2EE I (データベース論) 第5回 /
Servlet ソフトウェア特論 第7回.
Servlet J2EE I (データベース論) 第12回 /
Servlet データベース論 第6回.
JSFによるWebアプリケーション開発 第3回
JDBC ソフトウェア特論 第3回.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
Javaによる Webアプリケーション入門 第8回
Javaによる Webアプリケーション入門 第4回
Webインテリジェンス論 Linked Dataチュートリアル (インストール)
WebアプリケーションとTomcat ― これまでの復習とこれからの予習 ―
JSPの基本 データベース論 第2回.
Jakarta Struts (1) ソフトウェア特論 第10回.
JSPの基本 J2EE I (データベース論) 第8回 /
JAVA入門⑥ クラスとインスタンス.
第6章 インターネットアプリケーション 6.1 インターネットアプリケーション 6.2 Javaによるネットワーク処理 6.3 電子メール
MVCモデル2による Webアプリケーション
Presentation transcript:

Servlet J2EE I 第8回 / 2005-07-15

ここでの内容 Servlet の概要について学ぶ。特に、HTTPの要求と応答との関係に着目する。 Servlet の動かし方を学ぶ。

Servletの基本

Servlet とは (1) JSPと同じく、Webブラウザからのリクエストを処理して動的なページを作成するためのもの。 CGIと同じように、プログラムの中から HTMLを出力できる。 JSPと同じく、Tomcat などの Webコンテナの内部で動く。

Servlet とは (2) HttpServlet というクラスを継承したクラス。必要なメソッドをオーバーライドする。 public class HogeServlet extends HttpServlet { }

Servletの起動 Servletと結びついているURLにアクセスがあると、Servletのメソッドが実行される。

Servlet のメソッド HTTPのGETメソッドからServletが呼ばれたら  doGet public void doGet( HttpServletRequest req, HttpServletResponse res) HTTPのPOSTメソッドからServletが呼ばれたら  doPost public void doPost( HttpServletRequest req, HttpServletResponse res)

HttpServletRequest と HttpServletResponse

HttpServletRequest と HttpServletResponse HTTPの「要求」に対応するオブジェクト HttpServletResponse HTTPの「応答」に対応するオブジェクト

要求のヘッダ情報の取得 HttpServletRequest 型のオブジェクトである request から ヘッダ情報の Enumeration を取り出す。 Enumeration e = request.getHeaderNames();

Enumeration の考え方 Enumeration には複数のオブジェクトが含まれている。 これらのオブジェクトを while 文で次々と処理していく。 while文1回のループで、1つのオブジェクトを処理

Enumeration を使った処理 // e には(HTTPの)要求のヘッダの名前が複数ある Enumeration e = request.getHeaderNames(); // まだ未処理のヘッダが残っているかどうか while (e.hasMoreElements()) { // 次に処理するオブジェクト (=ヘッダ)を取り出す String name = (String)e.nextElement(); out.print(name + ": "); }

クエリーの処理 HttpServletRequest 型のオブジェクトである request を取得する。 request.getParameter(“familyName”) を実行。

HTMLの出力 HttpServletResponse 型のオブジェクトである response から PrintWriter オブジェクトを取り出す。 HTTPの応答で、HTMLの出力を行うから PrintWriter オブジェクトの println() あるいは print() メソッドで HTML を書き出す PrintWriter out = response.getWriter(); out.println(“<html>”);

TomcatでServletを動かす

Jarファイル J2SEに含まれていないJavaのプログラム (=クラスファイル)は「Jarファイル」にまとめられている。 Jarファイル Zip とほとんど同じフォーマット。つまり圧縮+アーカイブの機能を持っている。

Jarファイルの取り扱い (1) J2SE 添付の jar コマンドを使う Jarファイルを作る Jarファイルを展開 jar cvf sample.jar sample¥ sampleフォルダ以下を sample.jar にまとめる Jarファイルを展開 jar xvf sample.jar sample.jar を展開(解凍)する

Jarファイルの取り扱い (2) Jarファイルの中身を見てみる jar tvf sample.jar sample.jar の中身を見てみる jar コマンドのオプションは、Unix の tar コマンドとほとんど同じ

クラスパス あるプログラムをコンパイル・実行するとき、J2SE以外のjarファイルを必要とする場合、classpath オプションで jar ファイルを指定する コンパイル Javac -classpath hoge.jar Test.java 実行 java -classpath hoge.jar;. Test

Servlet のコンパイル 次のパッケージはJ2SEには入っていない。 javax.servlet パッケージ javax.servlet.http パッケージ Tomcat 中のjarファイルにこのパッケージが含まれているので、classpath に含めてコンパイル javac –classpath “%CATALINA_HOME%\common\lib\servlet-api.jar” LoopServlet.java

Tomcat への配置 Servlet はコンパイルしておくこと。 WEB-INF/classes フォルダに置く。 WEB-INF/ --- web.xml |- classes/ --- LoopServlet.class | |- DateServlet.class |- lib/

web.xml の編集 Servlet を置いただけでは動かない。 web.xml を編集する必要あり。

web.xml の例 (抜粋) <servlet> <servlet-name>loop</servlet-name> <servlet-class>LoopServlet</servlet-class> </servlet> (中略) <servlet-mapping> <url-pattern>/loop</url-pattern> </servlet-mapping>

Servlet へのアクセス web.xml の url-pattern 要素で指定した URL にアクセスする。 http://localhost:8080/test/loop http://localhost:8080/test/date