`

小知识

阅读更多
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
分享到:
评论

相关推荐

    电脑使用小常识

    【电脑使用小常识】 电脑是现代生活中不可或缺的工具,正确的使用和保养方法能极大地延长其使用寿命,提升工作效率。以下是一些关键的电脑使用和维护知识: 1. **计算机的摆放**: - 计算机应摆放在避免阳光直射...

    小学生法律小常识PPT教案.pptx

    在【交通知识常识】部分,课程提醒孩子们在道路上行走时要遵守交通规则,不能在道路上玩耍或追逐,这不仅阻碍交通,还可能导致意外伤害。同时,孩子们要学会识别交通标志,如禁止行人通行、人行横道、非机动车道等,...

    健康生活小常识100条.pdf

    遗憾地通知您,根据提供的文件信息,无法生成有关“健康生活小常识100条”的具体知识点,因为【部分内容】中提供的信息并不包含实际的文本内容,而是一串难以解读的字符和数字。为了生成详实的知识点,我需要文件中...

    电脑维修小常识(全)

    【电脑维修小常识全解析】 电脑维修涉及到许多不同的硬件组件,了解这些常见故障的解决方案能够帮助用户节省时间和金钱。以下是一些主要硬件组件及其可能出现的问题和处理方法: 1. **主板故障**:主板是计算机的...

    健康体育运动小常识.pdf

    健康体育运动小常识.pdf

    VC++基础知识及MFC常用小技巧小常识

    "VC++基础知识及MFC常用小技巧小常识"涵盖了从C++语言的基础知识到MFC库的实用技巧。理解和掌握这些内容,对于Windows平台的软件开发至关重要。通过深入学习和实践,开发者能够更高效地编写功能丰富的应用程序,并...

    功夫查-生活小常识

    【功夫查-生活小常识】是一款致力于提供日常生活小知识的应用程序。从其名称可以看出,它旨在帮助用户快速查询和学习各种实用的生活技巧和常识。在快节奏的现代生活中,掌握这些小常识往往能让我们的日常生活变得...

    工厂电气设备防爆小常识

    工厂电气设备防爆小常识 一、防爆电气设备的重要性 在工厂环境中,尤其是石油化工、矿业等危险品生产领域,存在着大量的易燃易爆物质。这些物质一旦遇到火源,比如火花、高温或者电弧,就可能会引发爆炸或火灾事故...

    小学生身体健康小常识.docx

    以下是一些关于小学生身体健康的小知识,旨在帮助孩子们养成良好的生活习惯,预防疾病,保障健康成长。 1. 定期理发和洗头:保持头发清洁能有效去除头皮上的污垢、头屑和病菌,预防头癣和皮肤病,避免滋生头虱。这...

    oracle小常识oracle小常识

    在这个场景中,我们主要讨论Oracle的一些基础知识,特别是与数据导入导出、表空间管理和自动化备份恢复相关的操作。 1. 数据导入导出工具`exp`和`imp` Oracle提供了`exp`(Export)和`imp`(Import)工具,用于...

    生活小常识广播稿大全精选.doc

    【生活小常识】 生活中的小窍门往往能为我们带来极大的便利,这些小常识不仅实用,还能帮助我们解决日常生活中的一些小困扰。...在校园广播站中分享这些小知识,不仅能帮助学生解决日常问题,也能增加他们的生活智慧。

    健康小常识(老人).doc

    老年人的健康是家庭和社会关注的重点,以下是一些关于老年人保持健康的小知识: 1. 饮食注意事项: - 空腹避免食用番茄,最好在饭后食用,以减少对胃部的刺激。 - 清晨醒来后先喝一杯水,有助于预防结石形成,...

    日常生活安全防范小常识汇编.pdf

    以下是一些关键的安全小知识: 1. **防扒窃**:出门时,尽量将现金、贵重物品和重要证件分开放置,避免全部集中在一个包里。大额货币和信用卡应放在贴身口袋,减少被盗风险。避免携带过多引人注目的物品,行走时...

    小学生自我保护小常识.ppt

    【小学生自我保护小常识】 这份PPT主要针对小学生,提供了他们在日常生活中的安全防护知识,尤其强调了交通安全。安全教育是每个孩子成长过程中不可或缺的一部分,它能够帮助孩子们建立正确的自我保护意识,预防...

    完美版资料小学综合实践论文:学习应急安全小知识让生命之花绚丽绽放.doc

    【小学综合实践论文:学习应急安全小知识让生命之花绚丽绽放】 教育精品资料的核心在于提升学生的综合素质,而其中安全教育是不可忽视的一环。在小学阶段,将应急安全小知识融入综合实践活动,有助于培养学生的安全...

    日常生活养生小常识.pdf

    【日常生活养生小常识】 在快节奏的现代生活中,...以上养生小知识旨在提醒大家,生活中的一些小习惯和选择可以大大影响我们的健康。无论工作多么繁忙,都应关注自身健康,适当调整生活方式,让养生成为日常的一部分。

    WPF小知识WPF小知识WPF小知识

    WPF小知识WPF小知识WPF小知识WPF小知识WPF小知识WPF小知识WPF小知识WPF小知识WPF小知识WPF小知识WPF小知识WPF小知识

    幼儿园安全活动教案《乘车小常识》.pdf

    幼儿园安全活动教案《乘车小常识》.pdf

    幼小衔接第一课课堂小知识教案.doc

    本教案详细介绍了幼小衔接第一课的课堂小知识,旨在让孩子们初步了解小学课堂的基本规则,为他们后续的学习生涯奠定基础。 首先,教学要求中强调了观察PPT上的图片,学习上课小常识,这是为了培养孩子的注意力和...

    日常生活安全防范小常识.doc

    以下是一些关键的安全小知识: 1. 防扒窃:在外出时,应将钱包、手机等贵重物品分开放置,避免全部集中在一个包里。大额现金和信用卡应放在贴身口袋,尽量不露出。避免携带过多现金,减少被扒窃的风险。在人多拥挤...

Global site tag (gtag.js) - Google Analytics