LoginSignup
1

More than 1 year has passed since last update.

【Java】初心者のServlet理解-①

Last updated at Posted at 2020-07-27

目次

  • はじめに
  • Servlet(サーブレット)って何?
  • クラス宣言
  • 主なメソッド
    • doGet(), doPost()
    • getWriter()
    • setContentType()
  • 例外
  • おわりに

はじめに

本記事は
  ・「いまからJavaをやるよ~」
  ・「Javaやってるけどもっかい復習したいよ~」
人向けの雑な内容です。
筆者も鋭意学習中の身なので、内容の正確性は保証しませんが。。。
皆さんの学習の一助(自分の学習のメモ帳)になればと思います。

Servlet(サーブレット)って何?

一言でいうと、「サーバサイドで動くJavaのプログラム」のこと。

・通常のクラスファイル
   →ローカルの環境下でのファイルのやり取り
・Servletクラスファイル
    →HTTPリクエストに応じた処理をサーブレットが行い、レスポンスとして出力する
のイメージ。

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloServlet extends HttpServlet {

    // GET送信が行われたHTTPリクエストに対し、返却するHTTPレスポンスを設定するメソッド
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException {

        // HTTPレスポンスとして返却するファイルの形式を「html」に、
        // 文字セットを「UTF-8」に指定
        response.setContentType("text/html; charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.println("<body>HelloServlet</body>");

    }
}

クラス宣言

ServletはHttpServletクラスの継承クラスとして作成

public class HelloServlet extends HttpServlet{
}

主なメソッド

●doGet(), doPost();

public void doGet[doPost](HttpServletRequest request, HttpServletResponse){
}

Get/Postのリクエストに対し、HTTPレスポンスを返すメソッド。
第1引数がHTTPリクエスト,第2引数がHTTPレスポンスに対応している。

●setContentType()
response.setContentType("text/html; charset=UTF-8");

HTTPレスポンスとして出力するファイルの「形式」と「文字コード」を指定するメソッド。
設定した値がhtmlヘッダのContent-Typeへ反映される

●getWriter()
PrintWriter out = response.getWriter();

出力用のストリームを取得するメソッド
PrintWriterクラスをoutオブジェクトとして作成することで、println()などのPrintWriterクラスメソッドを使用できるようにする
※ここでprintln()した内容はhtmlファイルとして書き込まれる。

おわりに

つたない文章/わかりづらい構成でつらい...
もっと伝わる文章を書けるようになりたいっすね。
徐々に改善していけるように投稿頑張るぞ~~

では。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1