Skip to content

Instantly share code, notes, and snippets.

@ryu1
Last active August 30, 2019 04:32
Show Gist options
  • Select an option

  • Save ryu1/43988fd5632ccc1b153ffa478e396f4a to your computer and use it in GitHub Desktop.

Select an option

Save ryu1/43988fd5632ccc1b153ffa478e396f4a to your computer and use it in GitHub Desktop.
Servlet Tips

Servlet Tips

Requestをデバッグする

if (log.isDebugEnabled()) {
    StringBuilder debugBuffer = new StringBuilder();

    // Request headers
    debugBuffer.append("\n\n");
    debugBuffer.append("## Request Headers #####################\n");
    for (java.util.Enumeration<String> e = request.getHeaderNames(); e
            .hasMoreElements();) {
        String name = e.nextElement();
        Object value = request.getHeader(name);
        if (value instanceof String) {
            debugBuffer.append(name + " = " + value + "\n");
        }
    }
    debugBuffer.append("########################################\n");

    // Request attributes
    debugBuffer.append("\n\n");
    debugBuffer.append("## Request Attributes ##################\n");
    for (java.util.Enumeration<String> e = request.getAttributeNames(); e
            .hasMoreElements();) {
        String name = e.nextElement();
        Object value = request.getAttribute(name);
        debugBuffer.append(name + " = " + value + "\n");
    }
    debugBuffer.append("########################################\n");

    // Request parameters
    debugBuffer.append("\n\n");
    debugBuffer.append("## Request Parameters ##################\n");
    for (java.util.Enumeration<String> e = request.getParameterNames(); e
            .hasMoreElements();) {
        String name = e.nextElement();
        Object[] value = request.getParameterValues(name);
        for (int i = 0; i < value.length; i++) {
            debugBuffer.append(name + " = " + value[i] + "\n");
        }
    }
    debugBuffer.append("########################################\n");

    // セッション情報をデバッグ
    debugBuffer.append("\n\n");
    debugBuffer.append("## Session Attribute ##################\n");
    javax.servlet.http.HttpSession session0 = ((javax.servlet.http.HttpServletRequest)request).getSession();
    java.util.Enumeration e4 = session0.getAttributeNames();
    while(e4.hasMoreElements()) {
        String key = (String)e4.nextElement();
        debugBuffer.append( key + "=" + session0.getAttribute(key) + "\n");
    }
    debugBuffer.append("セッション生成時刻=" + new java.util.Date(session0.getCreationTime()).toString() + "\n");
    debugBuffer.append("セッションタイムアウト時間=" + session0.getMaxInactiveInterval() + "秒" + "\n");
    debugBuffer.append("########################################\n");

    // クッキー情報をデバッグ
    debugBuffer.append("\n\n");
    debugBuffer.append("## Cookie Parameter ##################\n");
    javax.servlet.http.Cookie[] c = ((javax.servlet.http.HttpServletRequest)request).getCookies();
    if ( c != null ) {
        for ( int i = 0;i < c.length;i++ ) {
                    debugBuffer.append(c[i].getName() + ":domain" + "=" + c[i].getDomain()  + "\n");
                    debugBuffer.append(c[i].getName() + ":maxAge"  + "=" + c[i].getMaxAge()  + "\n");
                    debugBuffer.append(c[i].getName() + ":path"  + "=" + c[i].getPath()  + "\n");
                    debugBuffer.append(c[i].getName() + ":value" + "=" + c[i].getValue() + "\n");
                    debugBuffer.append(c[i].getName() + ":secure" + "=" + c[i].getSecure()  + "\n");
                    debugBuffer.append(c[i].getName() + ":version" + "=" + c[i].getVersion()  + "\n");
                    debugBuffer.append(c[i].getName() + ":comment" + "=" + c[i].getComment()  + "\n");
        }
    }
    debugBuffer.append("########################################\n");

    //out.println("<pre>" + debugBuffer.toString() + "</pre>");
    log.debug(debugBuffer.toString());
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment