gpt4 book ai didi

Spring-MVC 3.1 : How to map URLs with a trailing slash?

转载 作者:行者123 更新时间:2023-12-02 18:34:26 25 4
gpt4 key购买 nike

我正在将旧版 servlet 应用程序转换为 Spring 3.1。在此过程中,一些 URL 现在已过时。我们的网络存在一些问题,短期内不会得到解决。我的老板不想相信他们的重定向将始终有效。因此,她要求我将自己的重定向放入网络应用程序中。

一切都很好,除了如果 URL 结尾有斜杠,Spring 3.1 将找不到处理它的 Controller 类函数。

http://blah.blah.blah/acme/makedonation被发现、映射和处理

http://blah.blah.blah/acme/makedonation /没有

这是我用来处理旧版 URL 的 Controller 类

import org.springframework.stereotype.Controller;
import org.springframework.validation.*;
import org.springframework.ui.ModelMap;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.SessionAttributes;


import org.apache.log4j.Logger;

@Controller
public class LegacyServletController {

private static final Logger logger = Logger.getLogger(LegacyServletController.class);

// Redirect these legacy screns "home", the login screen via the logout process
@RequestMapping({"makeadonation","contact","complain"})
public String home() {
logger.debug("started...");
return "redirect:logout";

}// end home()

}// end class LegacyServletController

我用 Google 搜索了一下,发现了这个 Stack Overflow post它提供了一些建议,但我对 Spring 很陌生,对它的理解还不够,无法实现其中一些建议。这听起来特别适合我的需求:

spring 3.1 RequestMappingHandlerMapping allows you to set a "useTrailingSlashMatch" property. By default it is true. I think switching it to false would solve your issue,

有人能给我一个基本的例子来说明如何做到这一点,给我引用一个包含这样的例子的网址(我在谷歌上没有运气)或者给我指出一个更好的想法吗?

提前非常感谢史蒂夫

最佳答案

您应该在 context.xml 中配置您的 bean,并设置属性。 或者您可以引用link或 Spring 文档部分 16.4

示例配置

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
<property name="useTrailingSlashMatch" value="true">
</property>
</bean>

关于Spring-MVC 3.1 : How to map URLs with a trailing slash?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11560916/

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