Servlet 3 Servlet n n HTTPGET do Get

  • Slides: 19
Download presentation

Servletの基本 3

Servletの基本 3

Servlet のメソッド n n HTTPのGETメソッドに対して do. Get public void do. Get( Http. Servlet. Request

Servlet のメソッド n n HTTPのGETメソッドに対して do. Get public void do. Get( Http. Servlet. Request req, Http. Servlet. Response res) HTTPのPOSTメソッドに対して do. Post public void do. Post( Http. Servlet. Request req, Http. Servlet. Response res) 6

Http. Servlet. Request と Http. Servlet. Response n Http. Servlet. Request n n HTTPの「要求」に対応する

Http. Servlet. Request と Http. Servlet. Response n Http. Servlet. Request n n HTTPの「要求」に対応する Http. Servlet. Response n HTTPの「応答」に対応する 7

HTMLの出力 n Http. Servlet. Response 型のオブジェクトで ある response から Print. Writer オブジェク トを取り出す。 n

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

Http. Servlet. Request と Http. Servlet. Response n Http. Servlet. Request n n HTTPの「要求」に対応する

Http. Servlet. Request と Http. Servlet. Response n Http. Servlet. Request n n HTTPの「要求」に対応する Http. Servlet. Response n HTTPの「応答」に対応する 10

要求のヘッダ情報の取得 n Http. Servlet. Request 型のオブジェクトであ る request から ヘッダ情報の Enumeration を取り出す。 Enumeration e

要求のヘッダ情報の取得 n Http. Servlet. Request 型のオブジェクトであ る request から ヘッダ情報の Enumeration を取り出す。 Enumeration e = request. get. Header. Names(); 11

Enumeration について n オブジェクトを「つぎつぎと」処理していくためのオ ブジェクト Enumeration e = request. get. Header. Names(); while (enum.

Enumeration について n オブジェクトを「つぎつぎと」処理していくためのオ ブジェクト Enumeration e = request. get. Header. Names(); while (enum. has. More. Elements()) { String name = (String)enum. next. Element(); out. print(name + ": "); } 12

クエリーの処理 n n Http. Servlet. Request 型のオブジェクトであ る request を取得する。 request. get. Parameter(“family. Name”)

クエリーの処理 n n Http. Servlet. Request 型のオブジェクトであ る request を取得する。 request. get. Parameter(“family. Name”) を 実行。 13

Tomcat で Servlet を動かす 14

Tomcat で Servlet を動かす 14

Servlet のコンパイル n 次のパッケージはJ 2 SEには入っていない。 n n n javax. servlet パッケージ javax. servlet.

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

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

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

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

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

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

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