プリントではHTTPプロトコル(のごく簡単な)例しか取り上げていないが、 他のプロトコルでもソケットの作り方などは同様である。 各プロトコルの詳細についてはRFCを参照する必要がある。
JavaをWWWのサーバサイドで用いる技術として、Servletが有名である。 これはCGIと同じようにWebページをサーバ側で動的に生成するための仕組みである。 ただし、セッションなどの強力な仕掛けを利用することができる。
もっとも単純な例として、 現在の(サーバの)時刻を表示するServletのソースコードを示す。
import java.io.*; import java.util.*; // Date用に必要 import javax.servlet.*; import javax.servlet.http.*; public class MyDate extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) { res.setContentType("text/html"); PrintWriter out = res.getWriter(); out.println("<html><head></head><body>"); Date d = new Date(); out.println(d.toString()); out.println("</body></html>"); out.close(); } }
Servletを実際にWebサーバに置いて実行させるためには、 Servletを起動するためのプログラム(Servletコンテナ)が必要である。 ソケットなどのネットワーク処理はServletコンテナがやってくれるので、 Servletのプログラム自身はHTML(など)のコンテンツを生成するだけである。
Servletの実際の設置の方法はServletコンテナにより異なる。 Servletコンテナとしては、Apache tomcatが有名である。
RISE演習2の情報ネットワーク工学講座担当分では Servletの作成をテーマとして取り上げる予定である。