JAVA WEBはシステム運行時間を取得します。
1732 ワード
JspシリーズでWEB開発をする時、システムの運行時間を表示する需要があります。この数値は直接的な方法で得られず、次の方法で実現できる。
Servletをセットして中間部品の起動時にロードし、起動時間をServlet Contectに追加します。システムの運転時間は現在時間と起動時間の差です。
調製する
web.xmlに下記の配合を加えます。
Servletクラス
Servletをセットして中間部品の起動時にロードし、起動時間をServlet Contectに追加します。システムの運転時間は現在時間と起動時間の差です。
調製する
web.xmlに下記の配合を加えます。
QdsjServlet
com.iteedu.QdsjServlet
checkSource
false
0
QdsjServlet
/servlet/QdsjServlet
ポイントは0という調合です。Servletをロードするとinit()メソッドが呼び出されますので、ここに欲しいパラメータを加えればいいです。Servletクラス
public class QdsjServlet extends HttpServlet
{
public void init() throws ServletException
{
super.init();
ServletContext application = this.getServletContext();
application.setAttribute("startTime", new Date());
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
super.doGet(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
super.doPost(req, resp);
}
}
呼び出しString format = " %s %s %s ";
Date start = (Date) this.getServletContext().getAttribute("startTime");
Long time = Calendar.getInstance().getTimeInMillis() - start.getTime();
int h = (int) (time / (60 * 60 * 1000));
int m = (int) (time / (60 * 1000)) - h * 60;
int s = (int) (time / 1000 % 60);
format = String.format(format, new Object[]{ h, m, s });