gpt4 book ai didi

java - 如何使用标准 servlet 和 web.xml 映射 Spring 或 RESTful 之类的 URL

转载 作者:行者123 更新时间:2023-12-02 00:32:05 25 4
gpt4 key购买 nike

我希望在标准 servlet web.xml 配置中使用 Spring 框架进行 URL 映射,如下所示。

 @RequestMapping(value="/students/{username}", method=RequestMethod.GET)
public String deleteSpitter(@PathVariable String username) {
...
...
}

我想要像这两个这样的 URL 映射:

/学生/迈克

/学生/约翰

映射到同一个servlet,我还可以以某种方式读取“Mike”和“John”作为参数。如果它可以扩展到多个级别(如下例所示),那么它对我来说可能非常有用:

/students/{学校名称}/{学生姓名}像:

/学生/麦吉尔/迈克

/学生/ubc/约翰

最佳答案

您可以将标准 servlet 映射到通配符路径,并使用 HttpServletRequest.getPathInfo() 访问请求的 pathInfo 部分。方法。

servlet 应该像这样获取路径信息

package com.acme;

public class TestServlet extends HttpServlet {

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String info = request.getPathInfo();
}

}

并且您应该像这样在 web.xml 中映射 servlet

<servlet>
<servlet-name>test-servlet</servlet-name>
<servlet-class>com.acme.TestServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>test-servlet</servlet-name>
<url-pattern>/test/*</url-pattern>
</servlet-mapping>

如果您请求 URL“/test/mcgill/mike”,则路径信息将为“/mcgill/mike”。解析路径信息由您决定。

如果您使用符合 Java EE 6 的容器,您还应该查看 JAX-RS specification构建 RESTful Web 服务。

关于java - 如何使用标准 servlet 和 web.xml 映射 Spring 或 RESTful 之类的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8790228/

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