`
akunamotata
  • 浏览: 378698 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

request.getPathInfo() 方法的作用

阅读更多

request.getPathInfo();

这个方法返回请求的实际URL相对于请求的serlvet的url的路径。(个人理解。)
比如,有一个Servlet的映射是这样配置的:

<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/servlet/test/*</url-pattern>
</servlet-mapping>

为servlet配置的访问路径是:/servlet/test/*

我只要访问:
http://localhost:8080/dwr/servlet/test/这里可以是任何东西

就可以访问那个servlet. dwr 是项目的名字

比如,我用这个 URL 来访问它:

http://localhost:8080/dwr/servlet/test/joejoe1991/a.html

这个实际的URL,相对于那个servlet 的url ("/servlet/test/*")的路径是:
/joejoe1991/a.html

所以 request.getPathInfo() 方法返回的就是:

"/joejoe1991/a.html"

如果你的URL里有查询字符串,getPathInfo() 方法并不返回这些查询字符串。

例如:

http://localhost:8080/dwr/servlet/test/joejoe1991/a.html?name=test

getPathInfo() 返回的仍然是:

"/joejoe1991/a.html" ,而并不包括后面的"?name=test"

我们可以利用这个方法去做类似于多用户博客系统的那种URL。

都是http://www.xxx.com/blog/ 开头
后面跟的是用户名,
比如我要访问joejoe1991的博客:

http://www.xxx.com/blog/joejoe1991

这个joejoe1991并不是一个真实存在的目录。

建一个servlet,配置路径为:/blog/*

然后在这个servlet里调用request.getPathInfo() 方法。

比如:http://www.xxx.com/blog/jjx

那request.getPathInfo() 方法返回的就是jjx ,表示要访问jjx的博客。

这时再去数据库里查相应的数据就好。

分享到:
评论
2 楼 iwindyforest 2014-05-08  
httpServletRequest.getRequestURI()== getContextPath() + getServletPath() + getPathInfo()

1 楼 amghost 2013-06-06  
讲解得非常好~!
哈哈,getPathInfo 虽然比较简单,但是帮了我不少忙啊
博主的应用举例也简单到位~ 

相关推荐

    JSP获取HTTP header信息(request)例子

    - `request.getPathInfo()`: 返回路径信息字符串,这是对`request.getRequestURI()`返回的路径的补充信息。 - `request.getPathTranslated()`: 返回经过翻译的路径信息字符串。 - `request.getQueryString()`: ...

    jsp源码实例3(获取jsp各种参数).docx

    5. **PATH_INFO**:`request.getPathInfo()`返回URL路径中Servlet路径之后的部分。 6. **PATH_TRANSLATED**:提供了服务器将PATH_INFO转换为实际文件系统路径的结果,可能为空。 7. **QUERY_STRING**:`request....

    Java获取客户端代码大全

    System.out.println(request.getPathInfo()); // 路径信息 System.out.println(request.getPathTranslated()); // 翻译后的路径 ``` 这些信息可用于处理复杂的路径匹配。 综上所述,通过以上方法和技术,我们可以...

    第九讲Nginx动静分离URL转发实战.pptx

    - **`request.getPathInfo()`**: 获取请求路径的附加信息。 - **`request.getPathTranslated()`**: 获取转换后的路径。 - **`request.getServletPath()`**: 获取当前Servlet的路径。 - **`request.getRealPath("/")`...

    好用的过滤器,信不信由你

    根据给定的信息,本文将详细解释两个主要的Java Web过滤器:`ForceNoCacheFilter` 和 `CheckLoginFilter` 的工作原理与应用方法。 ### 一、`ForceNoCacheFilter` 过滤器 #### 1. 功能概述 `ForceNoCacheFilter` 是...

    jsp内建对象简介和使用

    Path info: &lt;%=request.getPathInfo()%&gt; Path translated: &lt;%=request.getPathTranslated()%&gt; Query String: &lt;%=request.getQueryString()%&gt; Content Length: &lt;%=request.getContentLength()%&gt; ...

    servlet 返回 URL

    表单提交时,可以通过`request.getParameter(String name)`或`request.getParameterMap()`方法来获取参数值。其中`getParameter(String name)`用于获取单个参数的值,而`getParameterMap()`则可以获取所有参数及其...

    java开发获取网页当前位置的代码

    String pathInfo = request.getPathInfo(); out.println("当前请求URI: " + requestURI); out.println("Servlet映射路径: " + servletPath); out.println("额外路径信息: " + pathInfo); %&gt; ``` 3. **MyEclipse...

    struts2静态资源映射代码示例

    resourcePath = request.getPathInfo(); } if (staticResourceLoader.canHandle(resourcePath)) { staticResourceLoader.findStaticResource(resourcePath, request, response); } else { // this is a normal ...

    X友NC6.5未授权文件上传漏洞分析1

    该类的doGet和doPost方法都指向doAction方法,该方法根据request.getPathInfo()的值获取了moduleName和serviceName,然后将其传递给getServiceObject方法。最终,问题在于FileReceiveServlet,该Servlet的主要作用是...

    spring boot使用WebClient调用HTTP服务代码示例

    userAgent += " | PathInfo——" + request.getPathInfo(); userAgent += " | Method——" + request.getMethod(); userAgent += " | QueryString——" + request.getQueryString(); Cookie[] cookies = request...

    基于HttpServletRequest 相关常用方法的应用

    `HttpServletRequest` 提供了 `getServletPath()` 和 `getPathInfo()` 方法来获取请求的URL。`getServletPath()` 返回Servlet映射的路径,而`getPathInfo()` 返回请求URL中Servlet路径之后的部分。`getHeader(...

    六个有用的java过滤器

    String uri = request.getServletPath() + (request.getPathInfo() == null ? "" : request.getPathInfo()); return notCheckURLList.contains(uri); } public void init(FilterConfig filterConfig) throws ...

    Struts1之url截取_动力节点Java学院整理

    如果没有获取到,则使用request.getPathInfo()方法获取路径信息。接着,方法会对路径进行验证,确保其以正确的前缀开始。如果路径不符合要求,会记录错误信息并返回null。如果路径有效,会去除前缀,并进一步检查...

    java反射之模拟struts中央控制器

    通过`request.getPathInfo()`或`request.getRequestURI()`,我们可以获取到请求的路径部分,然后根据Struts的约定来解析Action和方法。 接下来,我们需要映射Action到具体的Java类和方法。在Struts中,这通常是通过...

    4 JSP内建对象之request

    以上是request对象的基本使用方法,通过这些方法,开发者能够获取并处理客户端发送的各种信息,实现动态网页的功能。在实际开发中,常常结合Servlet、JSTL等技术进行更复杂的业务逻辑处理。 案例分析: 文件`index_...

    servlet2.4doc

    The doFilter method of the Filter is called by the container each time a request/response pair is passed through the chain due to a client request for a resource at the end of the chain. doGet...

    javaWEB总结(6):ServletRequest

    3. **获取请求URL信息**:`getContextPath()`返回应用上下文路径,`getServletPath()`获取Servlet路径,`getPathInfo()`获取额外的路径信息,`getQueryString()`返回查询字符串。 4. **获取请求数据**:`...

    reqresp_demo4.zip

    在这个例子中,原始请求到达名为`doGet`的Servlet方法,然后使用`request.getRequestDispatcher()`找到要转发的目标资源(这里是"/forwardedPage.jsp"),最后调用`dispatcher.forward()`将请求转发到目标页面。...

    javax.servlet.http使用帮助.docx

    - **getPathInfo()**:获取请求 URL 中 Servlet 路径之后的额外路径信息。 - **getPathTranslated()**:获取请求 URL 中 Servlet 路径之后的额外路径信息,并转换为实际路径。 - **getQueryString()**:获取请求 ...

Global site tag (gtag.js) - Google Analytics