JSPサーブレット

本書は次の順序に従い、学習を進めます。

学習順序
1. JSPの学習
2. 掲示板(メッセージボード)の作成
3. サーブレットの学習
4. ショッピングカートの作成

本書には次の学習内容は含まれていません。

学習範囲外
1. JSP・サーブレットの深い知識
2. 環境設定(JSP・サーブレットの環境は構築済みという前提で学習します)
3. HTMLの学習(本書で必要となる内容は学習します)
4. Webセキュリティ(これについては一切触れません)

1. Webアプリケーション概要

1.1 Webアプリケーションとは

Webアプリケーションとは、一般的にインターネットなどのネットワークを介して使用するアプリケーションのことです。

例としては、電子掲示板、GoogleやYahooなどの検索エンジン、インターネットバンキング、ショッピングサイト、noteなどのブログ、クラウドシステムなどがあり、われわれの生活には欠かせないものとなっております。

Webアプリケーションとは使う側は非常に手軽ですが、開発する側は様々なことを考えながら作っていく必要があります。

1.1.1 Webアプリケーションを支える技術

・クライアント/サーバ

Webアプリケーションでクライアントからの要求に応じてサービスを提供するサーバのことを、特にWebサーバといいます。

・URL

コンテンツの位置を表すために通常URL(Uniform Resource Location)が使われます。

・HTTP

クライアント/サーバ間では、コンテンツの要求やページの応答のやりとりには決まったルールがあり、HTTP(Hyper Text Transfer Protocol)というプロトコル(約束の意)に従ってデータを受け渡します。

・GETリクエストとPOSTリクエスト

GETメソッドは、サーバに格納された情報を取得するときに使われます。ブラウザのアドレスバーにURLを入力したり、リンクをクリックした場合はGETメソッドがHTTPリクエスト(GETリクエスト)として送られます。

POSTメソッドは、クライアントがページのフォームに入力された情報(名前や住所など)をサーバへ送る(POSTリクエスト)ときに使われます。

HTTPリクエストの中でもこれらを区別する必要があります。

・HTML

ブラウザに表示するマークアップ言語です。通常のテキストに加え、リンクによるジャンプや画像の表示、表形式の表示などをタグによって記述したテキストデータです。

1.1.2 静的コンテンツと動的コンテンツ

ブラウザに表示される内容のことをコンテンツといいます。

・静的コンテンツ

静的コンテンツは、HTMLをテキストエディタやWebページ作成ツールなどを用いて作成し、HTMLファイルとして保存しておきます。

・動的コンテンツ

動的コンテンツを作るには、Webサーバとは別に自動生成するアプリケーションが必要になります。

1.1.3 動的コンテンツを生成するサーブレットテクノロジー

サーブレットテクノロジーとは、Java言語で動的コンテンツを生成するための技術です。
サーバ側で動作する小さな部品、ということでサーブレット(Servlet)と呼ばれます。

2. サーブレットの基礎

2.1 WebサーバとWebコンテナ

JavaのサーブレットテクノロジーではWebコンテナ(サーブレットコンテナ)が使用されます。

ここでは、WebサーバとWebコンテナの環境として「Tomcat」を使用します。

3. Eclipseを使用した開発

3.1 Eclipseの使い方

3.2 EclipseによるWebアプリケーションの開発

3.2.5 サーブレットクラスの詳細

HelloServlet.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;

@WebServlet("/hello")
public class HelloServet extends HttpServlet {
  protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletExceptionIOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    out.println("<html><head><title>HelloServlet</title></head><body>");
    out.println("<h1>ようこそ!HelloServletへ</h1>");
    out.println("</body></html>");
  }
}


この記事が気に入ったらサポートをしてみませんか?