トップ 新規 編集 差分 一覧 ソース プレゼンテーション 検索 ヘルプ PDF RSS ログイン

サーバサイドJAVA

サーバサイドJava

  • サーバサイドJAVAの技術は日進月歩であり、大規模なアプリケーションを構築する場合には、今日的な技術を習得し利用することが望ましい。
  • ただ、一度だけで、再利用しない、簡単なアンケートをウェブで行う程度であれば、jsp+サーブレット(ロジック部分)だけで書いてしまうのが容易である。

 Javaサーブレット(Servlet)

サーブレットの概要

  • サーブレットとはTomcatなどのアプリケーションサーバ(サーブレットサーバ)上で動作するJavaのプログラムのこと。CGI(Common Gateway Interface)と同様に動的なウェブページを生成するときに用いられる。
  • 単体で用いる場合にはページの生成をJAVAから制御するため、複雑なHTMLページのレイアウトを扱いにくい。

サーブレットの例

  • HelloWorldを表示するServlet
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {
    private static final long serialVersionUID = 3082416688394260554L;
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
          PrintWriter out = resp.getWriter();
          out.println(
                  "<html>"+
                      "<head>"+
                          "<title>Hello World Servlet</title>"+
                      "</head>"+
                      "<body>"+
                          "Hello World!"+
                      "</body>"+
                  "</html>");
          out.flush();
          out.close();
    }
}

 JSP(Java Server Pages)

JSPの概要

  • .jspという拡張子を持つ
  • HTML中にJSPタグ<%〜%>中に囲まれたJavaのプログラムを書く形となる。
  • 2007年10月現在のバージョンはJSP 2.1
  • JSPはJSPファイル→JAVAサーブレットと変換されてから実行される。ウェブページを中心としたJavaサーブレットを作成していると考えてもよい。
  • JSPの例:HelloWorld.jsp
1
2
3
4
5
6
7
8
9
10
<html>
    <head>
        <title>Hello World JSP</title>
    </head>
    <body>
       <%
           out.print("Hello World!");
       %>
    </body>
</html>
  • サーバがブラウザに送信したページをソース表示:HelloWorld.jsp
1
2
3
4
5
6
7
8
<html>
    <head>
        <title>Hello World JSP</title>
    </head>
    <body>
       Hello World!
    </body>
</html>
  • アプリケーションサーバ内でJSPプロセッサが生成したコード
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package org.apache.jsp;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;

public final class HelloWorld_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent {
・・・中略・・・
  public void _jspService(HttpServletRequest request, HttpServletResponse response)
        throws java.io.IOException, ServletException {
・・・中略・・・
    try {
・・・中略・・・
      pageContext = _jspxFactory.getPageContext(this, request, response,
                  null, true, 8192, true);
      out = pageContext.getOut();

      out.write("<html>\r\n");
      out.write("    <head>\r\n");
      out.write("        <title>Hello World JSP</title>\r\n");
      out.write("    </head>\r\n");
      out.write("    <body>\r\n");
      out.write("       ");
           out.println("Hello World");
      out.write("\r\n");
      out.write("    </body>\r\n");
      out.write("</html>\r\n");
    } catch (Throwable t) {
・・・中略・・・
    }
  }
}

JSPに関する情報源


 JSF(Java Server Faces)

JSFの概要

  • ウェブアプリケーションのフレームワークの一つ。 Strutsなどの既存のフレームワークを研究した上で、標準的なフレームワークとしてJCPにおいて策定された。
  • 非常に複雑化してしまったJ2EEの反省点を生かし、EoD(Ease of Development:開発の容易さ)を志向している。J2EEにおいてはユーザインターフェースを担うフレームワークである。
  • Sunの標準JSF実装(RI)以外にMyFacesなどで実装が提供されている。
  • 現在のバージョンは1.2
  • JSFの利点は、セッション管理、UIの部品化、バリデータ/コンバータ/イベントハンドラの実装の容易さなどである。

JSFに関する情報源

最終更新時間:2005年11月12日 21時22分50秒