演習科目で,先週と今週の2回(計4コマ)にかけて,「他のWebサーバに問い合わせて情報を獲得するようなWebアプリケーションの開発」に取り組んでもらいました.
作成するアプリは,ブラウザからするとサーバとして振る舞いますが,バックエンドで学外Webサーバにアクセスする際には,HTTPのクライアントとなります.
Javaで,HTTPのクライアントとなるプログラムは,http://x68000.q-e-d.net/~68user/net/java-http-url-connection-1.htmlをもとに*1,クラスとして使えるよう書き換え,学生に提供しました.JSPから使う場合,パッケージを指定することを指示し,そうするかわりに,コードを切り出してJSPファイルに埋め込むことも認めました.
Web APIは,キーなしのものをいくつか確認して一覧にし,他でもよいとしました.獲得したHTTPのレスポンスボディから,必要な情報だけを抽出するところは,何をするWebアプリケーションを作るかとともに,学生に考えてもらいました.
これまでの演習課題で,「サーブレット」「JSP」「JSPからの自作クラス参照」「データベースアクセス(JDBC)」「Webアクセス」の基本を確認しました.残り5回分の課題は,学生の自主性と,採点の効率性・公平性をはかりにかけながら,これから準備していくことにします.
*1:http://...のほかhttps://...にも,同じコードでアクセスできるのは便利です.プロキシ設定も,http://x68000.q-e-d.net/~68user/net/java-http-url-connection-2.htmlに書いてあるものを貼り付けてから,学内用に書き換えることで,問題なく動作しました.