小知识

来源:互联网 发布:网站美工工作职责 编辑:程序博客网 时间:2024/06/15 13:18
var s  =  "网页可见区域宽:"+  document.body.clientWidth;
s  +=  "<br />网页可见区域高:"+  document.body.clientHeight;
s  +=  "<br />网页可见区域高:"+  document.body.offsetWeight  +"  (包括边线的宽)";
s  +=  "<br />网页可见区域高:"+  document.body.offsetHeight  +"  (包括边线的宽)";
s  +=  "<br />网页正文全文宽:"+  document.body.scrollWidth;
s  +=  "<br />网页正文全文高:"+  document.body.scrollHeight;
s  +=  "<br />网页被卷去的高:"+  document.body.scrollTop;
s  +=  "<br />网页被卷去的左:"+  document.body.scrollLeft;
s  +=  "<br />网页正文部分上:"+  window.screenTop;
s  +=  "<br />网页正文部分左:"+  window.screenLeft;
s  +=  "<br />屏幕分辨率的高:"+  window.screen.height;
s  +=  "<br />屏幕分辨率的宽:"+  window.screen.width;
s  +=  "<br />屏幕可用工作区高度:"+  window.screen.availHeight;
s  +=  "<br />屏幕可用工作区宽度:"+  window.screen.availWidth;
s  +=  "<br />页面高度:"+document.documentElement.clientHeight;
log.info(s);

<select name="select">
    <option value="1">汉族</option>
    <option value="2">蒙古族</option>
    <option value="3">回族</option>
    <option value="4">藏族</option>
    <option value="5">维吾尔族</option>
    <option value="6">苗族</option>
    <option value="7">彝族</option>
    <option value="8">壮族</option>
    <option value="9">布依族</option>
    <option value="10">朝鲜族</option>
    <option value="11">满族</option>
    <option value="12">侗族</option>
    <option value="13">瑶族</option>
    <option value="14">白族</option>
    <option value="15">土家族</option>
    <option value="16">哈尼族</option>
    <option value="17">哈萨克族</option>
    <option value="18">傣族</option>
    <option value="19">黎族</option>
    <option value="20">傈僳族</option>
    <option value="21">佤族</option>
    <option value="22">畲族</option>
    <option value="23">高山族</option>
    <option value="24">拉祜族</option>
    <option value="25">水族</option>
    <option value="26">东乡族</option>
    <option value="27">纳西族</option>
    <option value="28">景颇族</option>
    <option value="29">柯尔克孜族</option>
    <option value="30">土族</option>
    <option value="31">达斡尔族</option>
    <option value="32">仫佬族</option>
    <option value="33">羌族</option>
    <option value="34">布朗族</option>
    <option value="35">撒拉族</option>
    <option value="36">毛南族</option>
    <option value="37">仡佬族</option>
    <option value="38">锡伯族</option>
    <option value="39">阿昌族</option>
    <option value="40">普米族</option>
    <option value="41">塔吉克族</option>
    <option value="42">怒族</option>
    <option value="43">乌孜别克族</option>
    <option value="44">俄罗斯族</option>
    <option value="45">鄂温克族</option>
    <option value="46">德昂族</option>
    <option value="47">保安族</option>
    <option value="48">裕固族</option>
    <option value="49">京族</option>
    <option value="50">塔塔尔族</option>
    <option value="51">独龙族</option>
    <option value="52">鄂伦春族</option>
    <option value="53">赫哲族</option>
    <option value="54">门巴族</option>
    <option value="55">珞巴族</option>
    <option value="56">基诺族</option>
   </select>

IP地址、手机归属和身份证查询接口
1. 查询手机:http://www.yodao.com/smartresult-xml/search.s?type=mobile&q=手机号码

2. 查询IP:http://www.yodao.com/smartresult-xml/search.s?type=ip&q=IP地址

3. 查询身份证:http://www.yodao.com/smartresult-xml/search.s?type=id&q=身份证号码

返回一个XML文件,通过程序去解析就可以得到相应的信息


SQL语句自动填充工具:SQL Assistant 3.5.21
http://chengyue2007.iteye.com/blog/482349

Java获取客户端真实IP地址的两种方法
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。
    如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为 http://www.javapeixun.com.cn / 的URL时,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1 或 192.168.1.110,而并不是客户端的真实IP。

    经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。但是在转发请求的HTTP头信息中,增加了X-FORWARDED-FOR信息。用以跟踪原有的客户端IP地址和原来客户端请求的服务器地址。当我们访问 http://www.javapeixun.com.cn /index.jsp/ 时,其实并不是我们浏览器真正访问到了服务器上的index.jsp文件,而是先由代理服务器去访问http://192.168.1.110:2046 /index.jsp ,代理服务器再将访问到的结果返回给我们的浏览器,因为是代理服务器去访问index.jsp的,所以index.jsp中通过 request.getRemoteAddr()的方法获取的IP实际上是代理服务器的地址,并不是客户端的IP地址。

    于是可得出获得客户端真实IP地址的方法一:

public String getRemortIP(HttpServletRequest request) {
  if (request.getHeader("x-forwarded-for") == null) {
   return request.getRemoteAddr();
  }
  return request.getHeader("x-forwarded-for");
}


    可是当我访问http://www.5a520.cn /index.jsp/ 时,返回的IP地址始终是unknown,也并不是如上所示的127.0.0.1 或 192.168.1.110了,而我访问 http://192.168.1.110:2046/index.jsp 时,则能返回客户端的真实IP地址,写了个方法去验证。原因出在了Squid上。squid.conf 的配制文件 forwarded_for 项默认是为on,如果 forwarded_for 设成了 off  则:X-Forwarded-For: unknown

    于是可得出获得客户端真实IP地址的方法二:

public String getIpAddr(HttpServletRequest request) {
       String ip = request.getHeader("x-forwarded-for");
       if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
           ip = request.getHeader("Proxy-Client-IP");
       }
       if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
           ip = request.getHeader("WL-Proxy-Client-IP");
       }
       if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
           ip = request.getRemoteAddr();
       }
       return ip;
   }


    可是,如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串Ip值,究竟哪个才是真正的用户端的真实IP呢?

    答案是取X-Forwarded-For中第一个非unknown的有效IP字符串。

    如:X-Forwarded-For:192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.100用户真实IP为: 192.168.1.110


获得RemoteAddress:
request.getRemoteAddr();
获得tomcat版本号:
<%= application.getServerInfo() %>
或者:${pageContext.servletContext.serverInfo }
获得当前页面的全路径:
${pageContext.request.requestURL }
${pageContext.session.creationTime }
${pageContext.request.characterEncoding }

不能使用EL表达式的原因:
因为el表达式是Servlet2.4版才开始支持的功能,所以检查web.xml文件,

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
替换成
<web-app 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" version="2.4">
这样就开启使用EL表达式了。
使用jstl先要在页面添加:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>



利用泛域名解析转向,论坛相关帖子很多:
http://sech.iteye.com/blog/419755
http://zhxmyself.iteye.com/blog/472324
http://neptune.iteye.com/blog/204602
http://stephen830.iteye.com/blog/277522
http://blog.ntsky.com/tomcat-domain.html
应用泛域名解析和java的filter实现对三级域名解析
http://zhxmyself.iteye.com/blog/472324
0 0
原创粉丝点击