Download presentation
Presentation is loading. Please wait.
1
Javaによる Webアプリケーション入門 第6回
Servlet Javaによる Webアプリケーション入門 第6回
2
ここでの内容 Servlet の概要について学ぶ。特に、HTTPの要求と応答との関係に着目する。 Servlet の動かし方を学ぶ。
3
Servletの基本
4
Servlet とは (1) JSPと同じく、Webブラウザからのリクエストを処理して動的なページを作成するためのもの。
JSPと同じく、Tomcat などの Webコンテナの内部で動く。
5
Servlet とは (2) HttpServlet というクラスを継承したクラス。必要なメソッドをオーバーライドする。
CGIと同じように、プログラムの中から HTML を出力できる。 JSPも、Tomcatの内部では Servlet に変換される。
6
Servlet のメソッド HTTPのGETメソッドに対して doGet public void doGet(
HttpServletRequest req, HttpServletResponse res) HTTPのPOSTメソッドに対して doPost public void doPost( HttpServletRequest req, HttpServletResponse res)
7
HttpServletRequest と HttpServletResponse
HTTPの「要求」に対応する HttpServletResponse HTTPの「応答」に対応する
8
HTMLの出力 HttpServletResponse 型のオブジェクトである response から PrintWriter オブジェクトを取り出す。 HTTPの応答で、HTMLの出力を行うから PrintWriter オブジェクトの println() あるいは print() メソッドで HTML を書き出す PrintWriter out = response.getWriter(); out.println(“<html>”);
9
Servletでの要求・応答の処理
10
HttpServletRequest と HttpServletResponse
HTTPの「要求」に対応する HttpServletResponse HTTPの「応答」に対応する
11
要求のヘッダ情報の取得 HttpServletRequest 型のオブジェクトである request から ヘッダ情報の Enumeration を取り出す。 Enumeration e = request.getHeaderNames();
12
Enumeration について オブジェクトを「つぎつぎと」処理していくためのオブジェクト
Enumeration e = request.getHeaderNames(); while (enum.hasMoreElements()) { String name = (String)enum.nextElement(); out.print(name + ": "); }
13
クエリーの処理 HttpServletRequest 型のオブジェクトである request を取得する。
request.getParameter(“familyName”) を実行。
14
Tomcat で Servlet を動かす
15
Servlet のコンパイル 次のパッケージはJ2SEには入っていない。
javax.servlet パッケージ javax.servlet.http パッケージ Tomcat 中のjarファイルにこのパッケージが含まれているので、classpath に含めてコンパイル javac –classpath “%CATALINA_HOME%\common\lib\servlet-api.jar” LoopServlet.java
16
Tomcat への配置 Servlet はコンパイルしておくこと。 WEB-INF/classes フォルダに置く。
WEB-INF/ --- web.xml |- classes/ --- LoopServlet.class | |- DateServlet.class |- lib/
17
web.xml の編集 Servlet を置いただけでは動かない。 web.xml を編集する必要あり。
18
web.xml の例 (抜粋) <servlet>
<servlet-name>loop</servlet-name> <servlet-class>LoopServlet</servlet-class> </servlet> (中略) <servlet-mapping> <url-pattern>/loop</url-pattern> </servlet-mapping>
19
Servlet へのアクセス web.xml の url-pattern 要素で指定した URL にアクセスする。
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.