1、利用request对象获取客户端IP
如何在request中获取用户的真实IP对于经过F5代理的应用系统,request.getRemoteAddr()得到的IP为F5的地址,无法获取用户的真实IP。获取用户真实IP的方法如下: 1、在F5中进行配置:将HTTP Profile改为http-forwards。这样,在HTTP头信息中,增加了X-FORWARDED-FOR信息。用以跟踪原有的客户端IP地址和原来客户端请求的服务器地址。 2、修改取IP的方法: String IP = request.getHeader("x-forwarded-for"); if(IP == null || IP.length() == 0) { IP = request.getRemoteAddr(); } 3、如果通过了多级反向代理的话,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
2、request对象获取页面所有参数、参数值
//request.getParameterMap()得到页面的键值对集合(返回值是map集合) Map YeMianMap = request.getParameterMap(); //为页面参数创建迭代器 Iterator itar = YeMianMap.keySet().iterator(); while (itar.hasNext()) { //根据参数,取参数的值 String zhi = request.getParameter(itr.next().toString()); if(null != zhi){ //将页面传入的值拼接 str.append(zhi.toString()); str.append("_"); } }
3、将页面传送的参数、值键值对重新封装
在java web项目中虽然可以通过request.getParameterMap()很轻松的获得参数Map,但得到的Map和普通Map是不一样的,是被锁定的,不能像操作常规Map那样进行put、get等操作. 该方法将得到参数Map返回为可操作的普通Map /** * 从request中获得参数Map,并返回可读的Map * @param request * @return */ @SuppressWarnings("unchecked") public static Map getParameterMap(HttpServletRequest request) { // 参数Map Map properties = request.getParameterMap(); // 返回值Map Map returnMap = new HashMap(); Iterator entries = properties.entrySet().iterator(); Map.Entry entry; String name = ""; String value = ""; while (entries.hasNext()) { entry = (Map.Entry) entries.next(); name = (String) entry.getKey(); Object valueObj = entry.getValue(); if (null == valueObj) { value = ""; } else if (valueObj instanceof String[]) { String[] values = (String[]) valueObj; for (int i = 0; i < values.length; i++) { value = values[i] + ","; } value = value.substring(0, value.length() - 1); } else { value = valueObj.toString(); } returnMap.put(name, value); } return returnMap; }
相关推荐
java中对象的作用,如何获取Request对象 java中对象的作用,如何获取Request对象
JSP单选题标准化考试页面,利用request对象提取考试页面中的答题信息进行试卷批改,并最终给出成绩
新人备忘Request的好东西。了解方法才能更好的使用!
隐式对象 request 对象
request对象与作用,很宝贵的资源。。 如:<%=request.ServerVariables("server_name")%>获取域名 Request.ServerVariables(Url) 返回服务器地址 Request.ServerVariables(Path_Info) 客户端提供的路径信息 ...
jsp本质上是servlet,但是为了更加符合mvc的框架,将页面显示和逻辑控制分离,jsp页面只负责页面,也就是mvc中的V(view),而servlet负责mvc中的C(control)。
JSP的Request对象练习源代码,动态演示了request内置对象的各种功能!
因为Request对象是Page对象的成员之一,所以在程序中不需要做任何的声明即可直接使用。 Server对象提供对服务器上的方法和属性进行的访问 .其类名称是HttpServerUtility. Application对象在实际网络开发中的用途...
前言:Request对象主要用于获取来自客户端的数据,如用户填入表单的数据、保存在客户端的Cookie等。 一、Request对象概述 1、主要属性 ApplicationPath 获取服务器上asp.net应用程序的虚拟应用程序根路径...
Request对象.pptx
struts2中获得request对象的几种方法
2022年实习十七使用ASP对象Request对象和Response对象.ppt
Request对象和乱码解决.docRequest对象和乱码解决.docRequest对象和乱码解决.docRequest对象和乱码解决.docRequest对象和乱码解决.doc
2022年实习十七-使用ASP对象Request对象和Response对象.ppt
1. request和response对象是由服务器创建的。我们来使用它们2. request对象是来获取请求消息,response对象是来设置响应消息。
jsp request 对象详解 ,对于入门级的同学来讲是好东西!!!
request 对象 保存和获得属性的方法
ASP动态网页编程技术,request对象详细解说。
在用java做基于Web的开发时,不可避免的需要和request&response这两个对象打交道,因此,对它们的学习和掌握就显得至关重要。
《ASP动态网页制作》request对象的form方法和querystring方法[借鉴].pdf