alphaのjava備忘録

alphaが勉強したことを書いていくブログ

サーブレットを作成する

サーブレットを使えるようになるため、まずは簡単なサーブレットを作ってみる。ずっと誤解してたけどサーブレットってJSPを用意しなくてもが単体で動くのね。
参考:Eclipseを使ったサーブレット用プロジェクトの作成方法は↓に分かり易く載ってる。
qiita.com


サーブレット用のプロジェクトをEclipseで作成
・プロジェクト作成
   「ファイル」タブ⇒「新規」⇒「その他」⇒「Web」⇒「動的Webプロジェクト」で作成。(「Test」プロジェクト)
・パッケージ作成
   「src」配下で「ファイル」タブ⇒「新規」⇒「パッケージ」⇒で作成。(「servletTest」)
サーブレット作成
   「src」-「servletTest」配下で「ファイル」タブ⇒「新規」⇒「その他」⇒「Web」⇒「サーブレット」で作成。(「Servlet1.java」)

f:id:dream_of_night:20180706225245p:plain



サーブレットのプログラムはこちら。
Servlet1.java

package Test;

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

@WebServlet("/Servlet1")
public class Servlet1 extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.getWriter().append("ServletTest1!");
	}
}

(1)Servlet1クラスはHttpServletクラス(Web サイトに適した HTTP Servlet を生成するメソッドを持つ。doGet()メソッドもその1つ)を継承。
(2)Eclipseの「実行」を押すとサーバー(Tomcat)がリクエストを送りdoGet()メソッド(の中に書かれた処理)が呼ばれる。
(3)response.getWriter()メソッドはPrintWriterクラスのオブジェクトを戻り値で返す。
(4)PrintWriterクラスのメソッドappend()で "ServletTest1!" が(3)のオブジェクトに追加される。
(5)画面が表示される。 

f:id:dream_of_night:20180706235134p:plain
それっぽく書いたけどまだいろいろ曖昧なところがあるので理解間違ってたらご指摘ください。