撫養 航 - 備忘録

SEの備忘録

JavaServlet

この記事ではServletの中で頻繁に使用されるクラスとメソッドについて自分が見やすいようにまとめた。

おまじない

servletおまじない

  • クラスメソッドの上にコンテキストルート以下のリンクを設定する
  • HttpServletを継承する
  • dogetメソッドをオーバーライドする
@WebServlet("/url_sample")
public class  sample extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest requset, HttpServletResponse response)
    throws ServletException, IOException {
        //TODO
    }
}

htmlおまじない

aタグ

<a href="/servlet_sample/annotation?id=25">リンク</a>

クラス、メソッド

出力

PrintWriter out = resp.getWriter();
out.println("helloworld");

リスト

List<String> fruits = Arrays.asList("Apple", "Banana", "Cherry");

乱数

1から10までのランダムな数値を返す

Random random = new Random();
int sample = random.nextInt(10);

リクエスト(req)

パラメータの取得(req)

req.getParameter("key");

セッション(req)

宣言

HttpSession session = req.getSession();

get

Integer count = (Integer) session.getAttribute("count");

set

session.setAttribute("count", count);

フォワード(req)

RequestDispatcher rd = req.getRequestDispatcher("/hello");
rd.forward(request, response);

または

req.getRequestDispatcher("/hello").forward(request, response);

レスポンス(resp)

コンテントタイプの指定(resp)

resp.setContentType("text/plain; charset=UTF-8");

現在日時の取得(resp)

LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
String now = now.format(formatter);

ページのリロード(resp)

resp.setIntHeader("Refresh", 5);

リダイレクト(resp)

resp.sendRedirect("/servlet_sample/hello");