使用 java EE HttpServletRequest对象获取的

request.getRequestURL();
request.getRequestURI();
request.getContextPath();
request.getServletPath();
request.getPathInfo();

ContextPath配置为hello,ServletPath配置为/*

输出:

URL: http://127.0.0.1:8001/hello/world/5555
URI: /hello/world/5555
contextPath: /hello
servletPath: 
pathInfo: /world/5555

1、URL包括 ip地址和端口号

2、URI不包括 ip地址和端口号

3、contextPath是web容器——比如tomcat用来决定调用wabapps下的哪个项目的,因为一个web容器可以部署多个项目

4、servletPath就是我们配置的servlet的映射路径

5、pathInfo是我们配置的servlet的映射路径被通配符代替的部分


具体说明

假如contextPath是hello,servlet映射路径配置不同对servletPath和pathInfo的影响:

(1)servletPath配置为 /world/*,我们访问的地址为 127.0.0.1:8080/hello/world/4444

    servletPath: /world
    pathInfo: /4444

(2)servletPath配置为 /,我们访问的地址为 127.0.0.1:8080/hello/world/6666

    servletPath: /world/6666
    pathInfo: null

requestURI的组成部分的更多相关文章

  1. 【工业串口和网络软件通讯平台(SuperIO)教程】二.架构和组成部分

    1.1    架构结构图 1.1.1    层次示意图 1.1.2    模型对象示意图 1.2    IO管理器 IO管理器是对串口和网络通讯链路的管理.调度.针对串口和网络通讯链路的特点,在IO管 ...

  2. javascript的三个组成部分

    javascript是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成: ECMAScript,由ECMA-262定义,提供核心语言功能; 文档对象模型(DOM),提供访问和操作网页内容的 ...

  3. AngularJS开发指南3:Angular主要组成部分以及如何协同工作

    AngularJS的主要组成部分是: 启动(startup) - 展示“hello world!” 执行期(runtime) - AngularJS 执行期概览 作用域(scope) - 视图和控制器 ...

  4. Web service project中导入的库JAXB(JDK1.7新产品,组成部分)

    JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术.该过程中,JAXB也提供了将XML实例文档反向 ...

  5. nginx 414 Request-URI Too Large

    症状 nginx 414 Request-URI Too Large #客户端请求头缓冲区大小,如果请求头总长度大于小于128k,则使用此缓冲区, #请求头总长度大于128k时使用large_clie ...

  6. JVM的组成部分与内存管理

    JVM的组成部分与内存管理 JVM区域划分 由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分.在讨论JVM内存区域划分之前,先来看一下Java程序 ...

  7. android应用程序的组成部分

    android 应用程序的组成部分 activity 应用表示层,应用程序中每一个UI都是通过activity类或者多个扩展实现的.activity使用fragment和视图来布局和显示信息,以及响应 ...

  8. JS的组成部分、引入页面的方法以及命名规范

    JS的组成部分.引入页面的方法以及命名规范   一.页面是由三部分组成 1)html标签(超文本标记语言) 2)css样式(层叠样式表) 3)javascript脚本编程语言(动态脚本语言) 二.将c ...

  9. Android应用程序组成部分

    引言 为了后面的例子做准备,本篇及接下来几篇将介绍Android应用程序的原理及术语,这些也是作为一个Android的开发人员必须要了解,且深刻理解的东西.本篇的主题如下: 1.应用程序基础 2.应用 ...

随机推荐

  1. Storm实现数字累加Demo

    import java.util.Map; import backtype.storm.Config; import backtype.storm.LocalCluster; import backt ...

  2. (转) centos7下创建mysql5.6多实例

    原文:http://blog.csdn.net/a1010256340/article/details/77483504 一.mysql安装目录说明mysql5.6以二进制安装包安装在/data/my ...

  3. php 实现繁体转简体代码效率对比

    第一份代码: <?php Header("Content-Type:text/html;charset=utf-8"); function microtime_float() ...

  4. 【转】JVM(Java虚拟机)优化大全和案例实战

    原文地址:http://blog.csdn.net/kthq/article/details/8618052 堆内存设置 原理 JVM堆内存分为2块:Permanent Space 和 Heap Sp ...

  5. Calendar详解

    (在文章的最后,将会介绍Date类,如果有兴趣,可以直接翻到最后去阅读) 究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历.阴(农)历之分.它们的区别 ...

  6. java 序列化与解序列化

    小例 import java.io.*; public class Box implements Serializable{ private int width; private int height ...

  7. The number of object passed must be even but was [1]

    1.失败,使用TransportClient public static void bulkInsert(TransportClient client) throws IOException { Li ...

  8. 前端JS校验银行卡卡号和身份证号码(附ES6版方法)

    1.银行卡卡号校验方法. function luhnCheck(bankno) { var lastNum = bankno.substr(bankno.length - 1, 1); //取出最后一 ...

  9. cordova打包APK,报错:Cannot evaluate module CordovaLib : Configuration with name 'debug' not found.

    原因:之前做其他项目的时候把环境(gradle)升级了. 解决方案:将gradle降低回原来的版本.

  10. overfitting(过度拟合)的概念

    来自:http://blog.csdn.net/fengzhe0411/article/details/7165549 最近几天在看模式识别方面的资料,多次遇到“overfitting”这个概念,最终 ...