代码之家  ›  专栏  ›  技术社区  ›  user855

在servlet代码中获取被调用servlet的虚拟路径

  •  1
  • user855  · 技术社区  · 14 年前

    如果我有这样的事情:

    <servlet>
        <display-name>Step</display-name>
        <servlet-name>Step</servlet-name>
        <servlet-class>com.foo.AServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Step</servlet-name>
        <url-pattern>/aservlet/*</url-pattern>
    </servlet-mapping>
    

    servlet由/aservlet/ABC形式的请求调用

    那么有没有办法在代码中得到值“ABC”?i、 在类AServlet的doGet()或doPost()方法中?

    2 回复  |  直到 14 年前
        1
  •  4
  •   ZZ Coder    14 年前

    最简单的办法是,

       String path = request.getPathInfo();
    

        2
  •  1
  •   Cesar    14 年前
    public void doGet(HttpServletRequest request, HttpServletResponse response){
        String uriRequest = request.getRequestURI();
        //parse to obtain only the last part
        String uriRequest = uriRequest.substring(uriRequest.lastIndexOf("/")+1);
    }
    

    对我来说也是一样 doPost() .