首页 > 解决方案 > 通配符不解析 DispatcherServlet 中的子目录

问题描述

我正在尝试创建一个restcontroller,它有一些规则来映射URI 和路径变量。使用我当前的配置,它似乎会完全匹配我的 url 模式,但是如果我添加任何类型的子目录,它就不会被映射。看我的配置

<servlet-mapping>
    <servlet-name>SpringMVC</servlet-name>
    <url-pattern>/proxy/*</url-pattern>
</servlet-mapping>

@RestController
@RequestMapping("/proxy")
public class ProxyController {

    @RequestMapping("")
    @ResponseBody
    public String test(HttpServletRequest request) throws URISyntaxException{
        LOG.info("base");
        return "done";
    }

    @RequestMapping("/testplace")
    @ResponseBody
    public String test2(HttpServletRequest request) throws URISyntaxException{
        LOG.info("base");
        return "done2";
    }

所以点击 localhost:8080/app/proxy 会正确返回,但是 localhost:8080/app/proxy/testplace 给了我

“在名称为“SpringMVC”的 DispatcherServlet 中找不到带有 URI [/app/proxy/testplace] 的 HTTP 请求的映射”

即使在启动时我可以看到

“将“{[/proxy/testplace/]}”映射到公共 java.lang.String ProxyController(javax.servlet.http.HttpServletRequest) 抛出 java.net.URISyntaxException”

我在这里缺少设置或其他配置选项吗?

谢谢

标签: javaspringapache

解决方案


推荐阅读