JavaサーブレットでHello Worldする最低限のコード
今、本を読みながらサーブレットの勉強をしているのですが、一番最初のサンプルコードからして、とても長いので、何が何だかわからなくなってきました。
なので、「Hello,world」と表示するのに最低限必要なコードを調べて書いてみました。
参考にした本
![一番やさしいJSP & サーブレット入門塾 第2版 (DB Magazine SELECTION) 一番やさしいJSP & サーブレット入門塾 第2版 (DB Magazine SELECTION)](https://images-fe.ssl-images-amazon.com/images/I/51U6sRa5boL._SL160_.jpg)
一番やさしいJSP & サーブレット入門塾 第2版 (DB Magazine SELECTION)
- 作者: 樋口研究室,山本隆之
- 出版社/メーカー: 翔泳社
- 発売日: 2008/03/19
- メディア: 単行本(ソフトカバー)
- 購入: 1人 クリック: 18回
- この商品を含むブログ (3件) を見る
![Javaサーバーサイドプログラミングパーフェクトマスター (Perfect master) (Perfect Master 163) Javaサーバーサイドプログラミングパーフェクトマスター (Perfect master) (Perfect Master 163)](https://images-fe.ssl-images-amazon.com/images/I/51hquzo1hYL._SL160_.jpg)
Javaサーバーサイドプログラミングパーフェクトマスター (Perfect master) (Perfect Master 163)
- 作者: 金城俊哉
- 出版社/メーカー: 秀和システム
- 発売日: 2015/12/22
- メディア: 単行本
- この商品を含むブログを見る
イメージ
サーブレットのコードのイメージは↓のような感じです。
ポイントとしては、
サーブレットは、必ず「HttpServlet」というクラスを継承して作成します。
doGet()メソッドは、サーバーに対してページの取得を要求された時に呼び出されるメソッドです。
urlを入力してページを表示した時に呼び出される、普通のJavaのクラスでいうmain()メソッドみたいなイメージです。「リクエスト」とは正確には「HttpServletRequestオブジェクト」のことで、ユーザーがブラウザで指定した情報が格納されている受信用オブジェクトです。
「レスポンス」とは正確には「HttpServletResponseオブジェクト」のことで、サーブレットが処理した内容をブラウザに返すための送信用オブジェクトです。
実際のコード
package com.example; import java.io.IOException; import java.io.PrintWriter; 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(name = "HelloWorld", urlPatterns = {"/HelloWorld"}) public class HelloWorld extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); try (PrintWriter out = response.getWriter()) { out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<title>hello world</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>hello,world!!!</h1>"); out.println("</body>"); out.println("</html>"); } } }
おわり
NetBeansでサーブレットのクラスを作ると最初からたくさんのコードが書いてあって混乱してたんですが、最低限必要な部分がわかったので、ユーザーの入力を受け取ったり、データベースを使ったり、というところをこれから勉強していきます!