今天看 serlvetAPI 的时候看到了这个方法 :getPathInfo()
它返回与客户端发送的请求 URL 相关联的额外的路径信息。API 中解释,这个额外的路径信息是跟在 servlet 的路径之后,查询字符串之前的信息。
但不明白,这个额外的路径信息有什么作用,在练习中没有接触到,一般我做练习时,如果没有查询字符串,servlet 的路径已经是URL 的最后部分了。能否请高手告诉,这个额外信息的作用是什么。最好能举例子。谢了

解决方案 »

  1.   

    是不是和servlet在服务器上真实路径有关系?
      

  2.   

    举个例子
    http://localhost:8080/test/login?userid=123getPathInfo()= /login
    有的时候你做某些事可能并不需要完整url就可以,
    比如向数据库中纪录所有login的信息,
    那么if("/login".equals(getPathInfo()))就可以完成
      

  3.   

    2 楼的朋友, 你的那个 login 应该是个 servlet 吧?
    我做了一个 test . 
    在一个 test 工程(这个工程映射路径也是 test)下写了 TestServletOne 其映射路径是 /testServletOne .在这个 Servlet 中我使用 getPathInfo 方法获得信息。
    当我在地址栏中输入 http://localhost:8080/test/testServletOne?username=asdf 后访问这个servlet 结果 getPathInfo方法得到的结果是 null
      

  4.   

    没错,我给你举的例子中login是servlet   不知道你是不是用下面的方法取得路经
    String path = request.getPathInfo();
      

  5.   

    是的 ,是用的 HttpServletReqeust  接口的 getPathInfo();