1. public String getRemortIP(HttpServletRequestrequest) {
2. if (request.getHeader("x-forwarded-for") == null) {
3. return request.getRemoteAddr();
4. }
5. return request.getHeader("x-forwarded-for");
6. }
方法二:
1. public String getIpAddr(HttpServletRequest request){
2. String ip = request.getHeader("x-forwarded-for");
3. if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
4. ip = request.getHeader("Proxy-Client-IP");
5. }
6. if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
7. ip = request.getHeader("WL-Proxy-Client-IP");
8. }
9. if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
10. ip = request.getRemoteAddr();
11. }
12. return ip;
13. }
在注视下看起来很容易懂方法,当我打开自己的毕业设计要把其中的一个方法往代码里面加的时候却不知道要加到哪里去,先用的第二种方法,直接给加到userdao里,然后service中引用DAO中的方法,可是在js中引用时却发现request参数从哪来呢,纠结了一会,在网上搜了搜,原来,把两种方法中的任意一个直接可以加到jsp页面的,用<%.....%>就可以实现得到IP的功能了,然后想怎么用的话再进一步做,具体通过IP查找到城市,待续。。。