JAVA WEBはシステム運行時間を取得します。

1732 ワード

JspシリーズでWEB開発をする時、システムの運行時間を表示する需要があります。この数値は直接的な方法で得られず、次の方法で実現できる。
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 });