Servlets 如何在servlet中获取路径变量值
我想在servlet中获取path变量。假设url是Servlets 如何在servlet中获取路径变量值,servlets,Servlets,我想在servlet中获取path变量。假设url是www.demo.com/123/demo。我想从路径中获取123值,而不进行任何字符串操作 注意:以下servlet没有任何web.xml配置。我的代码是: @WebServlet(urlPatterns = { "/demo" }) public class DemoServlet extends HttpServlet { public DemoServlet() { super(); } protecte
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");
}
}
您所指的URL部分是“上下文”。使用
request.getContextPath()
获取此信息。在您的示例中,这将返回/123
。如果要精确地123
,则必须删除前导斜杠
从:
返回指示请求上下文的请求URI部分
请求。在请求URI中,上下文路径始终位于第一位。这个
路径以“/”字符开头,但不以“/”结尾
性格对于默认(根)上下文中的servlet,此方法
返回“”。容器不解码此字符串
抱歉,我提到的是错误的,实际上url是www.demo.com/test/123/demo。在这个url中,上下文路径是test。但是我想在test和demo之间获得123。在春季,我可以使用@pathparam注释来实现。但是在sevlet中,我不知道如何实现。这就是问题所在。上面的链接显示了获取url部分的所有方法。如果不进行一些基本的字符串操作,就无法准确地获得您想要的内容。