gpt4 book ai didi

java - 如何使用 getPathInfo() 映射 Servlet 以获取额外的路径信息

转载 作者:行者123 更新时间:2023-11-28 22:46:21 24 4
gpt4 key购买 nike

我遇到一个问题,即 Tomcat 将额外的路径信息视为 servlet 名称的一部分。这破坏了我们 web 应用程序中的一系列 RESTFul 功能(我们使用额外的路径信息而不是 ?name=value 对来获取爬虫友好链接)。

它之前工作正常,但在添加显式映射并删除我们之前用来为我们的 servlet 提供服务的 Invoker servlet 后它就崩溃了。例如考虑以下链接:

http://mydomain.com/servlet/MyServlet/param1/param2/param3

MyServlet 曾经被正确调用,HttpServletRequest 上的 getPathInfo() 返回“/param1/param2/param3”。

现在,Tomcat 似乎正在尝试将 MyServlet/param1/param2/param3 作为 servlet 加载:

[23/Sep/2008:16:44:23 -0700] "GET /servlet/MyServlet/param1/param2/param3 HTTP/1.0" 404

这是它们在 web.xml 中定义和映射的方式,只需点击“http://mydomain.com/servlet/MyServlet” 工作正常。

<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.myclass.etcetera.MyServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/servlet/MyServlet</url-pattern>
</servlet-mapping>

最佳答案

需要映射到/servlet/MyServlet/*

您缺少尾随的“/*”。

关于java - 如何使用 getPathInfo() 映射 Servlet 以获取额外的路径信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/124685/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com