日付を取得する - Java

サーブレットで日付を取得するコードを紹介します。

コード (サーブレット:DateServlet.java)

package webApplication6;

import java.io.*;
import java.net.*;
import java.util.Date;
import java.text.DateFormat;
import javax.servlet.*;
import javax.servlet.http.*;

public class DateServlet extends HttpServlet {

  /** Handles the HTTP <code>GET</code> method.
   * @param request servlet request
   * @param response servlet response
   */
  protected void doGet(HttpServletRequest request, HttpServletResponse response)
          throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    out.println("Today is " + DateFormat.getDateInstance().format(new Date()));
    out.close();
  }

  /** Handles the HTTP <code>POST</code> method.
   * @param request servlet request
   * @param response servlet response
   */
  protected void doPost(HttpServletRequest request, HttpServletResponse response)
          throws ServletException, IOException {
  }

  /** Returns a short description of the servlet.*/
  public String getServletInfo() {
    return "Short description";
  }
}

解説

doGet()メソッドを実装します。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

getWriter()メソッドを呼び出し、PrintWriterを取得します。
PrintWriter out = response.getWriter();

DateFormat.getDataInstance()メソッドを呼び出し日付フォーマットクラスを取得します。
out.println("Today is " + DateFormat.getDateInstance().format(new Date()));
現在の日時はDateクラスのインスタンスを作成して取得します。取得したDateクラスのインスタンスをDateFormatクラスのFormatメソッドに与えて日付の文字列を取得します。
以下のコードと同等です。
Date dt = new Date(); //現在日時の取得
DateFormat df =DateFormat.getDateInstance(); //DateFormatの取得
String formatStr = df.format(dt); //formatメソッドを用いて文字列に変換
out.println("Today is " + formatStr); //画面表示

PrintWriterを閉じます。
out.close();

コード (web.xml)

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation
    ="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <servlet>
    <servlet-name>DateServlet</servlet-name>
    <servlet-class>webApplication6.DateServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>DateServlet</servlet-name>
    <url-pattern>/DateServlet</url-pattern>
  </servlet-mapping>
  <session-config>
    <session-timeout>30</session-timeout>
  </session-config>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

コード (HTMLファイル:index.jsp)

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
  </head>
  <body>

    <h1>JSP Page</h1>
    <a href="DateServlet">Click</a>
  </body>
</html>

実行結果

今日の日付が画面に表示されます。


著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
最終更新日: 2023-12-20
作成日: 2011-02-10
iPentec all rights reserverd.