Servlet
データベース論
第6回
この講義に関するWebページ
http://www.wakhok.ac.jp/~tomoharu/db2003/
きょうの内容
Servlet の概要について学ぶ。特に、HTTPの要
求と応答との関係に着目する。
Servlet の動かし方を学ぶ。
Servlet とは
HttpServlet というクラスを継承したクラス。必要な
メソッドをオーバーライドする。
CGIと同じように、プログラムの中から HTML を出
力できる。
JSPも、Tomcatの内部では Servlet に変換される。
Servlet のメソッド
HTTPのGETメソッドに対して doGet
public void doGet(HttpServletRequest req,
HttpServletResponse
res)
HTTPのPOSTメソッドに対して doPost
public void doPost(HttpServletRequest req,
HttpServletResponse
res)
HttpServletRequest と
HttpServletResponse
HttpServletRequest
–
HTTPの「要求」に対応する
HttpServletResponse
–
HTTPの「応答」に対応する
HTMLの出力
HttpServletResponse 型のオブジェクトである
response から PrintWriter オブジェクトを取り出す。
PrintWriter オブジェクトの println() あるいは
print() メソッドで HTML を書き出す
PrintWriter out = response.getWriter();
out.println(“<html>”);
ヘッダ情報の取得
HttpServletRequest 型のオブジェクトである
request から ヘッダ情報の Enumeration を取り
出す。
Enumeration e = request.getHeaderNames();
Enumeration について
オブジェクトを「つぎつぎと」処理していくためのオブジェクト
Enumeration e = request.getHeaderNames();
while (enum.hasMoreElements()) {
String name = (String)enum.nextElement();
out.print(name + ": ");
}
クエリーの処理
HttpServletRequest 型のオブジェクトである
request を取得する。
request.getParameter(“familyName”) を実行。
Servlet のコンパイル
次のパッケージはJ2SEには入っていない。
–
–
javax.servlet パッケージ
javax.servlet.http パッケージ
Tomcat にはこのパッケージが含まれているので、
classpath に含めてコンパイル
Java –classpath
“%CATALINA_HOME%”\common\lib\servlet.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>
<servlet-name>loop</servlet-name>
<url-pattern>/loop</url-pattern>
</servlet-mapping>
Servlet へのアクセス
web.xml の url-pattern 要素で指定した URL に
アクセスする。
http://localhost:8080/test/loop
http://localhost:8080/test/date
レポート課題
3題のうち2題を選択。
6月20日まで。
レポートは今回を含め3回、計5題を解答してもら
います。
期末試験は行いません。
© Copyright 2026 ExpyDoc