Archive for 2月 14th, 2012

  1. Hello, Java Servlet World!

    Posted on 2月 14th, 2012 by cx20

    Java Servlet

    Java Servlet は Java EE 周辺技術の一つで Web サーバーで Java プログラムを動作させる技術である。
    サーブレットの実行環境は Web コンテナまたはサーブレットコンテナと呼ばれ、Apache Tomcat が使われることが多い。Tomcat は雄猫を意味する。
    Java Servlet の類似技術としては、JSP(JavaServer Pages)、PHP、ASP、APS.NET 等がある。
    CGI が実行時にプロセスを起動するのに対して、Java Servlet はメモリに常駐して実行時に軽量スレッドとして動作する為、効率が良い。
    なお、Java EE 周辺技術のバージョンは以下のような対応になっている。

    J2EE Servlet JSP EL JSTL JSF EJB
    J2EE 1.2 2.2 1.1 1.1
    J2EE 1.3 2.3 1.2 1.0 2.0
    J2EE 1.4 2.4 2.0 2.0 1.1 2.1
    Java EE 5 2.5 2.1 2.1 1.2 1.2 3.0
    Java EE 6 3.0 2.2 2.2 1.2 2.0 3.1

    ソースコード(Java)

    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
     
    public class Hello extends HttpServlet {
        public void doGet( HttpServletRequest request, HttpServletResponse response )
            throws ServletException,IOException {
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            out.println( "<html>" );
            out.println( "  <head>" );
            out.println( "    <title>Hello, World!</title>" );
            out.println( "  </head>" );
            out.println( "  <body>" );
            out.println( "    <p>Hello, Java Servlet World!</p>" );
            out.println( "  </body>" );
            out.println( "</html>" );
        }
    }

    実行方法

    ディレクトリ構成
    /hello               … 公開用フォルダ
        /WEB-INF         … アプリケーション設定ファイル配置場所
            /classes     … クラスファイル配置場所
     
    1. モジュールのコンパイル
        javac -cp $CATALINA_HOME/lib/servlet-api.jar:. Hello.java
    2. モジュールの配置
       WEB-INF/classes
    3. WEB-INF/web.xml の記載
    <?xml version="1.0"?>
    <web-app>
      <servlet>
        <servlet-name>Hello</servlet-name>
        <servlet-class>Hello</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>Hello</servlet-name>
        <url-pattern>/servlet/Hello</url-pattern>
      </servlet-mapping>
    </web-app>
    4. ブラウザで表示
       http://localhost/hello/servlet/Hello

    実行結果

    Hello, Java Servlet World!