`

取得地址栏完整请求信息

阅读更多

 转自:http://sunxboy.iteye.com/blog/284976

public static String getCompleteURL(HttpServletRequest request) {   
    return new StringBuilder(getCurrentHttpURL(request))   
        .append(request.getServletPath()).append("?")   
            .append(request.getQueryString()).toString();   
}   
  
/**  
 * 取得当前http地址  
 * @param request  
 * @return  
 * Date: 2008-12-1 下午02:59:03  
 */  
public static String getCurrentHttpURL(HttpServletRequest request){   
       
    StringBuilder urlBuilder = new StringBuilder();   
    urlBuilder.append(request.getScheme()).append("://");   
    urlBuilder.append(request.getServerName());   
    urlBuilder.append(request.getHeader("host")).append(":");   
    urlBuilder.append(request.getServerPort());   
    urlBuilder.append(request.getContextPath()).append("/");   
       
    String httpAddr = urlBuilder.toString();   
    urlBuilder = null;   
    return httpAddr;   
}  

 

 

取得IP地址

public static 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;   
} 

 

分享到:
评论

相关推荐

    Jmeter使用CSV Data Set Config参数化数据不重复的多次循环执行(实现多用户多次抽奖功能)

    - 在HTTP请求配置窗口中,设置请求方法、服务器地址、路径等参数,并在“变量引用”处填入`${user_id}`来引用之前定义的变量。 **4. 修改线程组配置** 因为我们需要让每个用户都执行3次请求,因此需要将线程组中的...

    JAVAWEB面试笔试题.pdf

    2. request:服务器端取得客户端的信息,包括头信息、Cookie、请求参数等,最大用处在MVC设计模式上。 3. response:服务器端回应客户端信息,包括Cookie、重定向等。 4. session:表示每一个用户,用于登录验证上。...

    取得本机DNS

    如果没有,就会向配置的DNS服务器发起查询请求。一般情况下,DNS查询分为两种类型:正向查询(从域名到IP)和反向查询(从IP到域名)。经过DNS服务器的递归或迭代查询,最终得到目标IP并返回给本地计算机,完成域名...

    VC实现简单浏览器

    1. **用户界面(UI)**:这包括地址栏、前进/后退按钮、刷新按钮、书签等功能。在VC++中,我们可以使用MFC(Microsoft Foundation Classes)库来创建这些控件。MFC提供了一套面向对象的C++类,用于简化Windows API的...

    【ASP.NET编程知识】ASP.NET MVC4入门教程(五):从控制器访问数据模型.docx

    * 运行应用程序,并在浏览器地址栏中输入 /Movies,以访问 Movies 控制器。 *由于应用程序依赖于默认路由,所以浏览器请求 http://localhost:xxxxx/Movies 将被路由到 Movies 控制器的 Index 操作方法。 四、创建...

    劳动争议仲裁申诉登记表(表格模板、DOC格式).doc

    被诉人的信息完整性和准确性直接影响到仲裁程序的正常进行。 申诉内容是表格的核心部分,申诉人需要在此详细阐述争议的事实、理由和请求。这通常包括劳动合同的履行情况、工资支付、工时制度、社会保险、福利待遇、...

    在线库存:项目

    在线库存 ... stock.py作者:Aidan Good 该项目专注于创建在线库存系统。 取得CSV档案,然后将项目分类为已建立的...可以通过运行simple_web_server.py并在任何Web浏览器地址栏中键入localhost:8080 /来测试该程序。

    使用JSP开发Web应用系统(JSP)4(共5)

    2. **jsp:forward**:将请求转发到另一个页面,客户端浏览器地址栏不会显示变化。 3. **jsp:params**:用于向包含或转发的页面传递参数。 4. **jsp:useBean**:实例化Java Bean并将其绑定到JSP页面作用域。 5. **jsp...

    2021-2022计算机二级等级考试试题及答案No.15083.docx

    13. 输入网址:在浏览器的地址栏输入网址以访问网站。 14. 删除文件:按住Shift+Delete键可以彻底删除文件,不进入回收站。 15. 变量默认值:未赋值的数值型变量默认值通常为0。 16. Visual Basic程序:VB程序...

    HTML-蓝色织造机械公司模板

    最后,联系我们页面提供公司的地址、电话、邮箱等联系信息,方便客户直接与企业取得联系。 这个模板的设计充分考虑了织造机械公司的特点,通过蓝色调传达专业和可靠的形象,同时各个页面的布局合理,符合用户的浏览...

    JSP实用技巧集合,jsp编程的一些小技巧总结

    jsp编程的一些小技巧总结,绝对实用。包括JSP编程中常用的js技术。 1.JSP编程中常用的js技术 ...119.实现不在地址栏显示当前URL? 120.用javabean方式读取文本文件制作统计图? 121.上传图片并生成缩略图?

    ASP实例开发源码-ASP深蓝色企业网站源码 v1.0.zip

    5. **联系我们(contact.asp)**:包括联系表单、地址、电话和电子邮件,方便客户与公司取得联系。 6. **后台管理系统**:管理员可以登录管理网站内容,如添加、修改或删除新闻、产品信息。 7. **样式表(CSS)**...

    JSP实例编程100例

    顺序如下: ...95、取得数据库中各栏名称 96、使用JavaBean、设置和获取Bean的属性 97、设置Bean的一个属性与输入参数关联 98、实现基于数据库的站内搜索 99、DOM读取XML文档 100、SAX读取XML文档

    JAP编程学习100例

    顺序如下: ...95、取得数据库中各栏名称 96、使用JavaBean、设置和获取Bean的属性 97、设置Bean的一个属性与输入参数关联 98、实现基于数据库的站内搜索 99、DOM读取XML文档 100、SAX读取XML文档

    高德地图定位SDK

    4. **地理编码与反地理编码**:将经纬度坐标转换为地址信息,或者将地址信息转换为经纬度坐标。 5. **地理围栏**:允许开发者设定虚拟地理边界,当设备进入或离开特定区域时触发相关事件。 二、高德地图定位SDK...

    玩转WISH中级教程之WISH规则详解抢先版上篇

    - 通过“登录卖家后台—左上方导航栏里的订单—历史记录”查看。 - 在历史记录页面可以看到订单的状态和相关付款信息,如Total Cost代表订单的总金额。 #### 三、其他重要知识点 ##### 1. 知识库内容 - Wish平台的...

Global site tag (gtag.js) - Google Analytics