1、获得domain:

StringBuffer url = request.getRequestURL();
String domain = url.delete(url.length() - request.getRequestURI().length(), url.length()).append("/").toString();
log.info("domain: " + domain);  // http://www.baidu.com/

例:http://www.baidu.com/index.html

2、方式二:

  1. 从Request对象中可以获取各种路径信息,以下例子:
  2. 假设请求的页面是index.jsp,项目是WebDemo,则在index.jsp中获取有关request对象的各种路径信息如下
  3. String path = request.getContextPath();
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5. String remoteAddress=request.getRemoteAddr();
  6. String servletPath=request.getServletPath();
  7. String realPath=request.getRealPath("/");
  8. String remoteUser=request.getRemoteUser();
  9. String requestURI=request.getRequestURI();
  10. out.println("path:"+path+"<br>");
  11. out.println("basePath:"+basePath+"<br>");
  12. out.println("remoteAddr:"+remoteAddress+"<br>");
  13. out.println("servletPath:"+servletPath+"<br>");
  14. out.println("realPath:"+realPath+"<br>");
  15. out.println("remoteUser:"+remoteUser+"<br>");
  16. out.println("requestURI:"+requestURI+"<br>");
  17. 结果:
  18. path:/WebDemo
  19. basePath:http://localhost:8683/WebDemo/
  20. remoteAddr:127.0.0.1
  21. servletPath:/index.jsp
  22. realPath:D:\apache-tomcat-6.0.13\webapps\WebDemo\
  23. remoteUser:null
  24. requestURI:/WebDemo/index.jsp
  25. 从上不难看出request各个对应方法所代表的含义
  1. 从request获取各种路径总结:
  2. request.getRealPath("url");//虚拟目录映射为实际目录
  3. request.getRealPath("./");//网页所在的目录
  4. request.getRealPath("../");//网页所在目录的上一层目录
  5. 假定你的web application(web应用)名称为news,你的浏览器中输入请求路径:http://localhost:8080/uploading/load.jsp
  6. request.getContextPath()  =>  /uploading
  7. request.getServletPath()  =>  /load.jsp
  8. request.getRequestURL()  =>  http://localhost:8080/uploading/load.jsp
  9. request.getRealPath("/")  =>   F:\learn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\uploading\
  10. 现在request.getRealPath("/") 这个方法已经不推荐使用了
  11. 可以使用
  12. ServletContext.getRealPath(java.lang.String)  instead.
  13. request.getSession().getServletContext().getRealPath() 得到工程文件的实际物理路径,也就是绝对地址
      1. //Returns the part of this request's URL from the protocol name up to the query string in the first line of the HTTP request
      2. //  eg.     /manage/editExam.domethod=goExamSet&type=U
      3. String url = request.getRequestURI();
      4. //The returned URL contains a protocol, server name, port number, and server path, but it does not include query string parameters
      5. //eg.      http://127.0.0.1:8080/manage/editExam.domethod=goExamSet&type=U
      6. StringBuffer url_buffer = request.getRequestURL();
      7. HttpServletRequest 的这两种方法都只能得到不包含参数的请求url,区别如下:
      8. 1 前者返回相对路径,后者返回完整路径
      9. 2 前者返回string ,后者返回stringbuffer
      10. 得到完整请求url可以通过如下方法,getQueryString()得到的是url后面的参数串,和前者相加就是带参数的请求路径了
      11. String queryString = request.getQueryString();
      12. ring fullPath = url + queryString;   // 或者是url_buffer.toString()+queryString;

HttpServletRequest中得到各种信息的更多相关文章

  1. HttpServletRequest获取请求参数中所有的信息

    /** * 获取客户端请求参数中所有的信息 * @param request * @return */ private Map<String, String> getAllRequestP ...

  2. ResquestInfoServlet类通过访问HttpServletRequest对象的各种方法来读取HTTP请求中的特定信息,并且把它们写入到HTML中

    ResquestInfoServlet类通过访问HttpServletRequest对象的各种方法来读取HTTP请求中的特定信息,并且把它们写入到HTML中 ResquestInfoServlet.j ...

  3. springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑。为了区别不同的异常通常根据异常类型自定义异常类,这里我们创建一个自定义系统异常,如果controller、service、dao抛出此类异常说明是系统预期处理的异常信息。

    springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑. 1.1 异常处理思路 系统中异常包括两类:预期异常和运行时异常RuntimeEx ...

  4. 删除项目中的.svn信息

    有时候我们新开发一个项目时,会将以前的项目从svn上down下来,然后复制一份.这样就会有个问题,项目中的svn信息就会一直存在.下面介绍删除方法: 1.新建一个.txt的文档.然后将下面代码粘贴到文 ...

  5. PHP中生成json信息的方法

    <?php //php中生成json信息 //json_encode(数组/对象) $color = array('red','blue','green'); //[索引数组] echo jso ...

  6. java练习题(字符串类):显示4位验证码、输出年月日、从XML中抓取信息

    1.显示4位验证码 注:大小写字母.数字混合 public static void main(String[] args) { String s="abcdefghijklmnopqrstu ...

  7. 下载sdk版本: 在hosts文件中追加以下信息

    下载sdk版本:在hosts文件中追加以下信息: 74.125.113.121 developer.android.com 203.208.46.146 dl.google.com 203.208.4 ...

  8. 以下是关于ASP.NET中保存各种信息的对象的比较,理解这些对象的原理,对制作完善的程序来说是相当有必要的(摘至互联网,并非原创--xukunping)

    在ASP.NET中,有很多种保存信息的对象.例如:APPlication,Session,Cookie,ViewState和Cache等,那么它们有什么区别呢?每一种对象应用的环境是什么?    为了 ...

  9. iOS已发布应用中对异常信息捕获和处理

    iOS已发布应用中对异常信息捕获和处理 iOS开发中我们会遇到程序抛出异常退出的情况,如果是在调试的过程中,异常的信息是一目了然,但是如果是在已经发布的程序中,获取异常的信息有时候是比较困难的. iO ...

随机推荐

  1. Python开发【第七篇】:面向对象

    Python之路[第五篇]:面向对象及相关   面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance(obj, cls) 检查是否obj是否 ...

  2. RPC-远程过程调用协议

    远程过程调用协议 同义词 RPC一般指远程过程调用协议 RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要 ...

  3. NSUserDefaults standardUserDefaults的使用

    本地存储数据简单的说有三种方式:数据库.NSUserDefaults和文件. NSUserDefaults用于存储数据量小的数据,例如用户配置.并不是所有的东西都能往里放的,只支持:NSString, ...

  4. [Asp.Net]获取客户端ip和mac地址

    摘要 有时候,我们需要获取客户端的一些信息,以便进行统计.比如:客户端的唯一标识,ip等信息 IP 通过获取HTTP_X_FORWARDED_FOR,或者REMOTE_ADDR可以获取客户端的ip. ...

  5. hdu4782 Beautiful Soup (模拟)

    http://acm.hdu.edu.cn/showproblem.php?pid=4782 2013成都区域赛全题PDF:http://acm.hdu.edu.cn/downloads/2013Ch ...

  6. PHP弹出提示框并跳转到新页面即重定向到新页面

    本文为大家介绍下使用PHP弹出提示框并跳转到新页面,也就是大家所认为的重定向,下面的示例大家可以参考下   这两天写一个demo,需要用到提示并跳转,主要页面要求不高,觉得没必要使用AJAX,JS等, ...

  7. android版微信5.2.1更新 支持微信聊天记录备份到电脑上

    昨天微信 5.2.1 for Android 全新发布了,和微信 5.2.1 for iPhone一样,支持拍照分享,可以把照片发送给多个朋友,最重要的一个更新是支持微信聊天记录备份到电脑(可以通过腾 ...

  8. 微信公众平台回复链接可以直接访问,但不能是锚文字链接<a>标签

    最近在学习微信公众平台开发,由于编辑模式和开发模式不可同时开启,在开发模式下如果访客发送关键字过来暂时无法实现关键词自动回复,客服人员先用链接网址直接回复订阅用户,但请注意不能是文字链接,即<a ...

  9. informatica中元数据管理

    摘自: http://blog.itpub.net/28690368/viewspace-766528/ informaica是一个很强大的ETL工具,WORKFLOW MANAGER负责对ETL调度 ...

  10. Mac Pro 编译安装 PHP 5.6.21 及 问题汇总

    [系统环境] 操作系统:OS X 10.11.5 Xcode:7.3.1 [注意] 编译之前,需要安装 xcode.Homebrew 套件! Mac Pro 安装 Homebrew 软件包管理工具 1 ...