10/30: 安全なWebアプリケーションの実現に向けて - @IT
ITmedia エンタープライズ:Java Tips:Iterator、Enumerationなどループあれこれ
ちなみにrequestオブジェクトを覘くには、
ちなみにrequestオブジェクトを覘くには、
Map test = request.getParameterMap(); java.util.Set stKey = test.keySet(); java.util.Iterator ite = stKey.iterator(); while (ite.hasNext()) { Object o = ite.next(); String key = (String)o; String[] val = (String[])test.get(key); //Ljava.lang.Stringのため System.out.println(key+":"+val[0]); }
[ThinkIT] 第2回:サーバ用のスクリプトの例 (2/3)
function testAjax(callback_function, param1, param2) { var callback={php_function:callback_function}; var obj = new php_class(callback); obj.timeout = 30000; //timeout msec window.status="Receiving data..."; obj.php_function(param1, param2); window.status="Complete"; }
<div id="menu" style="position:absolute;top:0px;left:710px;z-index:2;"> Floating menu list..... </div> <script> function Menu(){ if(document.all){ document.all("menu").style.pixelTop=document.body.scrollTop; }else{ document.getElementById("menu").style.top=pageYOffset+"px"; } } onscroll = Menu; </script>追記:
scrollTopは正常に動かない場合あり。
ブラウザのスクロール量を取得するには?
ブラウザの表示領域のサイズを取得する方法。
画面の横幅は、bodyの要素を取得するやり方だと、bodyの幅であって、ウィンドウの表示幅ではない。
10/24: JS(JavaScript)で取得できるクライアント情報
JS(JavaScript)で取得できるクライアント情報、そこからアクセス解析の仕組みを考えてみる
function functest() { var strwork; var jsDate; jsDate = new Date(); strwork = "JSDATE : " + jsDate.getFullYear() + "/" + jsDate.getMonth()+1 + "/" + jsDate.getDate() + " " + jsDate.getHours() + ":" + jsDate.getMinutes() + ":" + jsDate.getSeconds() + "\n"; strwork = strwork + "HOST : " + location.host + "\n"; strwork = strwork + "HOSTNAME : " + location.hostname + "\n"; strwork = strwork + "PORT : " + location.port + "\n"; strwork = strwork + "PROTOCOL : " + location.protocol + "\n"; strwork = strwork + "HASH : " + location.hash + "\n"; strwork = strwork + "SEARCH : " + location.search + "\n"; strwork = strwork + "REQUEST : " + location.pathname + "\n"; strwork = strwork + "CODE : " + navigator.appCodeName + "\n"; strwork = strwork + "BROWSER : " + navigator.appName + "\n"; strwork = strwork + "VERSION : " + navigator.appVersion + "\n"; strwork = strwork + "LANG : " + navigator.language + "\n"; strwork = strwork + "PLATFORM : " + navigator.platform + "\n"; strwork = strwork + "USERAGENT: " + navigator.userAgent + "\n"; strwork = strwork + "REFERER : " + document.referrer + "\n"; strwork = strwork + "DOMAIN : " + document.domain + "\n"; strwork = strwork + "SCREEN.W : " + screen.width + "\n"; strwork = strwork + "SCREEN.H : " + screen.height + "\n"; if (screen.colorDepth==8) { strwork = strwork + "SCREEN.COL: " + screen.colorDepth + "Bit\n"; } else { strwork = strwork + "SCREEN.COL: " + screen.colorDepth + "Bit\n"; } alert(strwork); }
RADKRAFT: サーブレット/JSPのヘッダ情報の取得方法
<%@ page language="java" contentType="text/html;charset=Shift_JIS" %> <html><body> クライアントのホスト名(REMOTE_HOST)=<%= request.getRemoteHost() %><br> クライアントのIPアドレス(REMOTE_ADDR)=<%= request.getRemoteAddr() %><br> 要求されたURL(1)=<%= request.getRequestURI() %><br> 要求されたURL(2)=<%= request.getRequestURL().toString() %><br> サーブレットパス=<%= request.getServletPath() %><br> サーバ上のパス=<%= getServletContext().getRealPath(request.getServletPath()) %><br> 要求されたURLのパス(PATH_INFO)=<%= request.getPathInfo() %><br> 要求されたURLのサーバ上のパス(PATH_TRANSLATED)=<%= request.getPathTranslated() %><br> 要求のメソッド=<%= request.getMethod() %><br> 参照元のURL=<%= request.getHeader("Referer") %><br> プロトコル(HTTP)=<%= request.getProtocol() %><br> ポート番号=<%= String.valueOf(request.getServerPort()) %><br> <br> ファイルconfig.xmlのパス=<%= getServletContext().getRealPath("/config.xml") %><br> ファイルconfig.xmlのURL=<%= request.getContextPath() + "/config.xml" %><br> </body></html>
10/17: Sooey - PHP5 で利用できる新しい関数
RADKRAFT: Java Reflection API
public String myReflection(String className) { String return_str = ""; try { int i,j; Class cls = Class.forName(className); Field[] fieldList = cls.getFields(); for (i=0;i<fieldList.length;i++) { Field fld = fieldList[i]; return_str += Modifier.toString(fld.getModifiers()); return_str += " " + fld.getType().getName(); return_str += " " + fld.getName() + ";\n"; } return_str += "\n"; Constructor[] ctorList = cls.getConstructors(); for (i=0;i<ctorList.length;i++) { Constructor ct = ctorList[i]; return_str += Modifier.toString(ct.getModifiers()); return_str += " " + ct.getDeclaringClass().getName(); Class[] cparamList = ct.getParameterTypes(); return_str += "("; for (j=0;j<cparamList.length;j++) { return_str += " " + cparamList[j].getName(); } return_str += ");\n"; } return_str += "\n"; Method[] methList = cls.getMethods(); for (i=0;i<methList.length;i++) { Method m = methList[i]; return_str += Modifier.toString(m.getModifiers()); return_str += " " + m.getReturnType().getName(); return_str += " " + m.getName(); Class[] mparamList = m.getParameterTypes(); return_str += "("; for (j=0;j<mparamList.length;j++) { return_str += " " + mparamList[j].getName(); } return_str += ");\n"; } return_str += "\n"; } catch (Exception e) { e.printStackTrace(); } return return_str; }