如何在servlet

时间:2016-11-17 15:19:55

标签: servlets

我想在servlet中获取路径变量。假设网址为www.demo.com/123/demo。我希望从路径中获取123值而不进行任何字符串操作操作。

注意:以下servlet没有任何web.xml配置。我的代码是:

@WebServlet(urlPatterns = { "/demo" })
public class DemoServlet extends HttpServlet {

  public DemoServlet()
  {
      super();
  }

  protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException
  {
      doPost(request,response);
  }

  protected void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException
  { 
      sysout("demo");       
  }
}

1 个答案:

答案 0 :(得分:0)

您所指的网址部分是“上下文”。使用request.getContextPath()来获取此信息。对于您的示例,这将返回/123。如果您想完全 123,则必须删除前导斜杠。

来自documentation

  

返回指示上下文的请求URI部分   请求。上下文路径始终位于请求URI中。该   路径以“/”字符开头,但不以“/”结尾   字符。对于默认(根)上下文中的servlet,此方法   返回“”。容器不会解码此字符串。