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 2024 ExpyDoc