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

时间:2010-07-20 03:19:07

标签: java servlets

如果我有这样的事情:

<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>

并且由/ aservlet / ABC

形式的请求调用servlet

那么有没有办法在代码中获得值“ABC”?即在类AServlet的doGet()或doPost()方法内部?

2 个答案:

答案 0 :(得分:4)

最简单的事情是,

   String path = request.getPathInfo();

返回“/ ABC”。

答案 1 :(得分:1)

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()也是如此。