java È¡µÃ ¿Í»§¶ËIP
ÔÚJSPÀ»ñÈ¡¿Í»§¶ËµÄIPµØÖ·µÄ·½·¨ÊÇ£ºrequest.getRemoteAddr£¨£©£¬ÕâÖÖ·½·¨Ôڴ󲿷ÖÇé¿ö϶¼ÊÇÓÐЧµÄ¡£µ«ÊÇÔÚͨ¹ýÁËApache£¬SquidµÈ·´Ïò´úÀíÈí¼þ¾Í²»ÄÜ»ñÈ¡µ½¿Í»§¶ËµÄÕæÊµIPµØÖ·ÁË¡£
Èç¹ûʹÓÃÁË·´Ïò´úÀíÈí¼þ£¬½«http://192.168.1.110£º2046/ µÄURL·´Ïò´úÀíΪ
http://www.bt285.cn /
µÄURLʱ£¬ÓÃrequest.getRemoteAddr£¨£©·½·¨»ñÈ¡µÄIPµØÖ·ÊÇ£º127.0.0.1¡¡»ò¡¡192.168.1.110£¬¶ø²¢²»ÊÇ¿Í
»§¶ËµÄÕæÊµIP¡£
¾¹ý´úÀíÒÔºó£¬ÓÉÓÚÔÚ¿Í»§¶ËºÍ·þÎñÖ®¼äÔö¼ÓÁËÖмä²ã£¬Òò´Ë·þÎñÆ÷ÎÞ·¨Ö±½ÓÄõ½¿Í»§¶ËµÄIP£¬·þÎñÆ÷¶ËÓ¦ÓÃÒ²ÎÞ·¨Ö±½Óͨ¹ýת·¢ÇëÇóµÄµØÖ··µ»Ø¸ø¿Í»§¶Ë¡£µ«ÊÇ
ÔÚת·¢ÇëÇóµÄHTTPÍ·ÐÅÏ¢ÖУ¬Ôö¼ÓÁËX£FORWARDED£FORÐÅÏ¢¡£ÓÃÒÔ¸ú×ÙÔÓеĿͻ§¶ËIPµØÖ·ºÍÔÀ´¿Í»§¶ËÇëÇóµÄ·þÎñÆ÷µØÖ·¡£µ±ÎÒÃÇ·ÃÎÊ
http://www.5q520.cn /index.jsp/
ʱ£¬Æäʵ²¢²»ÊÇÎÒÃÇä¯ÀÀÆ÷ÕæÕý·ÃÎʵ½ÁË·þÎñÆ÷ÉϵÄindex.jspÎļþ£¬¶øÊÇÏÈÓÉ´úÀí·þÎñÆ÷È¥·ÃÎÊhttp://192.168.1.110£º2046
/index.jsp
£¬´úÀí·þÎñÆ÷ÔÙ½«·ÃÎʵ½µÄ½á¹û·µ»Ø¸øÎÒÃǵÄä¯ÀÀÆ÷£¬ÒòΪÊÇ´úÀí·þÎñÆ÷È¥·ÃÎÊindex.jspµÄ£¬ËùÒÔindex.jspÖÐͨ¹ý
request.getRemoteAddr£¨£©µÄ·½·¨»ñÈ¡µÄIPʵ¼ÊÉÏÊÇ´úÀí·þÎñÆ÷µÄµØÖ·£¬²¢²»Êǿͻ§¶ËµÄIPµØÖ·¡£
ÓÚÊǿɵóö»ñµÃ¿Í»§¶ËÕæÊµIPµØÖ·µÄ·½·¨Ò»£º
Java code
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µØÖ·µÄ·½·¨¶þ£º
Java code
public
String getIpAddr(HttpServletRequest request) {
String ip
=
request.getHeader(
"
x-forwarded-for
"
);
if
(ip
==
null
||
Ïà¹ØÎĵµ£º
ÏÂÃæµÄÄÚÈÝ£¬ÎÒÃǽ«¸ü¶àµÄ¹Ø×¢DOM£¬ÎªDOM×÷Ò»¸ö½ÏΪÏêϸµÄ½âÎö£¬Ê¹ÎÒÃÇʹÓÃÆðÀ´¸üΪµÃÐÄÓ¦ÊÖ¡£
DOMÏê½â
1£®»ù±¾µÄDOM¶ÔÏó
DOMµÄ»ù±¾¶ÔÏóÓÐ5¸ö£ºDocument£¬Node£¬NodeList£¬ElementºÍAttr¡£ÏÂÃæ¾ÍÕâЩ¶ÔÏóµÄ¹¦ÄܺÍʵÏֵķ½·¨×÷Ò»¸ö´óÖµĽéÉÜ¡£
Document¶ÔÏó´ú±íÁËÕû¸öXMLµÄÎĵµ£¬ËùÓÐÆäËüµÄNode£¬¶¼ÒÔÒ»¶¨µÄ˳Ðò°üº ......
1£® OverloadºÍOverrideµÄÇø±ð¡£OverloadedµÄ·½·¨ÊÇ·ñ¿ÉÒԸı䷵»ØÖµµÄÀàÐÍ
´ð£º·½·¨µÄÖØÐ´OverridingºÍÖØÔØOverloadingÊÇJava¶à̬ÐԵIJ»Í¬±íÏÖ¡£ÖØÐ´Overriding ÊǸ¸ÀàÓë×ÓÀàÖ®¼ä¶à̬ÐÔµÄÒ»ÖÖ±íÏÖ£¬ÖØÔØOverloadingÊÇÒ»¸öÀàÖжà̬ÐÔµÄÒ»ÖÖ±íÏÖ¡£ Èç¹ûÔÚ×ÓÀàÖж¨Òåij·½·¨ÓëÆä¸¸ÀàÓÐÏàͬµÄÃû³ÆºÍ² ......
Ctrl+1 ¿ìËÙÐÞ¸´(×î¾µäµÄ¿ì½Ý¼ü,¾Í²»Óöà˵ÁË)
Ctrl+D: ɾ³ýµ±Ç°ÐÐ
Ctrl+Alt+↓ ¸´ÖƵ±Ç°Ðе½ÏÂÒ»ÐÐ(¸´ÖÆÔö¼Ó)
Ctrl+Alt+↑ ¸´ÖƵ±Ç°Ðе½ÉÏÒ»ÐÐ(¸´ÖÆÔö¼Ó)
Alt+↓ µ±Ç°ÐкÍÏÂÃæÒ»Ðн»»¥Î»ÖÃ(ÌØ±ðʵÓÃ,¿ÉÒÔʡȥÏȼôÇÐ,ÔÙÕ³ÌùÁË)
Alt+↑ µ±Ç°ÐкÍÉÏÃæÒ»Ðн»»¥Î»ÖÃ(ͬÉÏ)
Alt+← ǰһ¸ö±à¼µÄÒ³Ãæ ......
strictfp ¹Ø¼ü×Ö
¿ÉÄܺܶàÈ˶¼Ã»ÓÐÓùýÕâ¸ö¹Ø¼ü×Ö£¬Èç¹ûºÜ¶àÈËÓÃÄDZêÌâÒ²ÏÔµÃûʲôÒâÒåÁË¡£
Ê×ÏÈ¿´Á½¶ÎºÜ¼òµ¥µÄ´úÂ룺
public static void main(String[] args){
double w = 7*8/3;
System.out.println(w);
}
public static strictfp void main(String[] args){
double w = 7*8/3;
System.out.println(w);
......
²ÉÓÃUDPµÄͨѶ·½Ê½£¬µ÷ÓÃjava×Ô´øµÄawt´òÓ¡½Ó¿Ú
·þÎñÆ÷¶Ë´úÂë
Server£º
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class Server
{
private DatagramSocket server;
private DatagramPacket packet;
......