getContextPath、getServletPath、getRequestURI的区别

来源:互联网 发布:php post数组长度限制 编辑:程序博客网 时间:2024/06/08 04:15

假定你的web application 名称为news,你在浏览器中输入请求路径:
http://localhost:8080/news/main/list.jsp
则执行下面向行代码后打印出如下结果:
1、 System.out.println(request.getContextPath()); //可返回站点的根路径。也就是项目的名字
打印结果:/news

2、System.out.println(request.getServletPath());
打印结果:/main/list.jsp

3、 System.out.println(request.getRequestURI());
打印结果:/news/main/list.jsp

4、 System.out.println(request.getRequestURL());
打印结果:http://localhost:8080/news/main/list.jsp

5、 System.out.println(request.getRealPath(“/test”));
打印结果:F:\Tomcat 6.0\webapps\news\test
过期方法 应该是
request.getServletContext().getRealPath(“/test”);


总结如下:

1.简写:
URI (uniform resource identifier)统一资源标志符;
URL(uniform resource location )统一资源定位符(或统一资源定位器);
URN(uniform resource name )统一资源命名。

2.URI 和 URL 的比较

a.
URI是一个相对来说更广泛的概念,URL是URI的一种,是URI命名机制的一个子集,可以说URI是抽象的,而具体要使用URL来定位资源。

b.
Web上的每一种资源如:图片、文档、视频等,都是由URI定位的,这里所谓的定位指的是web上的资源相对于主机服务器来说,存放在服务器上的具体路径。

c.
URL是internet上用来描述信息资源文件的字符串,用在客户程序和服务器上,定位客户端连接服务器所需要的信息,它不仅定位了这个信息资源,而且定义了如何找到这个资源。

3.我的白话理解
URI就是一种资源定位机制,它是比较笼统地定位了资源,并不局限于客户端和服务器,而URL就定位了网上的一切资源,只要是网上的资源,都有唯一的URL.

阅读全文
0 0
原创粉丝点击