0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have 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ファイルとして書き込まれる。

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

では。

0
1
0

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
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?