当前位置: 首页 > 知识库问答 >
问题:

在@RequestMapping的值中使用或不使用前导斜杠。需要官方文档或指向Spring source?

汤跃
2023-03-14

我参与了一个项目,其中我发现:

@RequestMapping(value = "events/...");
@RequestMapping(value = "/events/...");

(方法级注释前有无斜杠)。

我执行搜索:

site:http://static.springsource.org/spring/docs/3.1.x  slash

并阅读这些链接:

    < Li > http://forum . springsource . org/show thread . PHP?130753-variable-Spring-MVC-request mapping-configuration-questions < li >各种Spring MVC请求映射配置问题 < li >在@RequestMapping中处理前斜杠 < Li > https://www . RFC-editor . org/RFC/RFC 6570

但是这些资料都没有回答为什么允许跳过斜杠。官方的Spring文档总是用斜线显示例子...

需要指向官方文档或Spring资源。

共有1个答案

封德华
2023-03-14

这无关紧要:如果路径不是以/开头,那么Spring(DefaultAnnotationHandlerMaping)将添加它。

请参阅Class(Spring 3.1.2)第122行(即类级别)的方法DefaultAnnotationHandlerMapping(String beanName)

String[] methodLevelPatterns = determineUrlsForHandlerMethods(handlerType, true);
for (String typeLevelPattern : typeLevelPatterns) {
    if (!typeLevelPattern.startsWith("/")) {
            typeLevelPattern = "/" + typeLevelPattern;
    }

参见方法String[]determineUrlsForHandler(类

String[] mappedPatterns = mapping.value();
if (mappedPatterns.length > 0) {
for (String mappedPattern : mappedPatterns) {
    if (!hasTypeLevelMapping && !mappedPattern.startsWith("/")) {
        mappedPattern = "/" + mappedPattern;
    }   

 类似资料:
  • 我试图创建一个Java正则表达式,如果字符串末尾有奇数个反斜杠(),它将返回true,如果偶数,则返回false。 这是我的正则表达式 当我编译代码时,我得到以下异常 线程“main”java.util.regex.PatternSyntaxException中的异常:索引15^([^])(\)附近的未关闭字符类\$ 如果我使用M模式编译并运行良好,则可以使用反斜杠代替反斜杠 我知道这是一个逃避的

  • 问题内容: 这是一个“到底发生了什么”的问题。我实际上不需要解决方案。 我必须用双反斜杠替换字符串中的所有单反斜杠。这就是我最终要做的… …其中strRootDirectory是上面的java.lang.String。 现在,我了解了第一个参数的四个反斜杠:regex期望两个反斜杠以表示单个文字反斜杠,而Java希望它们加倍。没关系。 但是,第二个参数的八个反斜杠到底是怎么回事?替换字符串不是应该

  • 问题内容: 本周我们公司一直在就如何编写SQL脚本进行辩论。 背景:我们的数据库是Oracle 10g(即将升级到11)。我们的DBA团队使用SQLPlus来将我们的脚本部署到生产环境中。 现在,我们最近的一次部署失败了,因为它同时使用了分号和正斜杠()。分号位于每个语句的末尾,斜线位于语句之间。 稍后在脚本中添加了一些触发器,创建了一些视图以及一些存储过程。同时使用和和导致每个语句运行两次会导致

  • 问题内容: 我对JSF2 + Spring + EJB3的混合使用或它们的任何组合感到有些困惑。我知道Spring的主要特征之一就是依赖注入,但是有了JSF托管的Bean,我可以使用@ManagedBean和@ManagedProperty注释,并且可以获得依赖注入功能。对于EJB3,我更困惑何时与JSF一起使用它,或者甚至有理由使用它。 那么,在哪种情况下使用Spring + JSF2或EJB3

  • 问题内容: 我正在为Nginx访问日志测试ELK堆栈。看起来不错,除非我没有找到在Kibana Discovery(v5.3.2)中以开头的路径搜索记录的方法。如果我删除了斜杠,搜索就会起作用,但是在这种情况下,我得到了我不需要的东西- 我尝试了不同的请求: 但没有什么能像我期望的那样。 记录: 对应: 有没有办法使用斜杠作为模式的一部分进行搜索? 更新: 这些模式也不起作用: 问题答案: 您需要

  • 问题内容: 在HTML5中,是否仍需要像XHTML中那样的斜杠? 如果我删除了,validator.w3.org并没有抱怨,甚至没有警告。但是一些在线文档似乎表明,标记(例如img,link,meta,br等)仍需要使用斜杠。 问题答案: 标签是Void Elements,因此它们不需要结束标签。 无效元素区域,基础,br,col,命令,嵌入,hr,img,输入,keygen,链接,meta,pa