サーブレットで日付を取得するコードを紹介します。
コード (サーブレット: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