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 ServletException, IOException {
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>");
}
}
この記事が気に入ったらサポートをしてみませんか?