我在转换的遗留servlet应用到春天3.1。 在这个过程中的一些网址,现在已经过时。 我们已经有一些问题,与我们的网络不会被很快解决。 我的老板并不想相信他们的重定向将始终运行。 于是,她让我把我自己的重定向到Web应用程序。
不同之处在于,如果一个URL的末尾有斜杠春3.1将无法找到控制器类函数来处理这一切的伟大工程。
HTTP://blah.blah.blah/acme/makedonation被发现,映射和处理
HTTP://blah.blah.blah/acme/makedonation /不
下面是我使用来处理我的旧有的网址控制器类
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了一圈,发现这个堆栈溢出后 ,提供一些建议,但我相信新的春天,不明白够它来实现其中的一些建议。 这其中尤其是听起来像这将是非常适合我的需求:
春季3.1 RequestMappingHandlerMapping允许您设置一个“useTrailingSlashMatch”属性。 默认情况下,它是真实的。 我认为它转换为false将解决您的问题,
会有人给我如何说,引用我说,有这样一个例子的URL(我与谷歌没有运气),或指向我一个更好的主意,一个基本的例子吗?
感谢很多提前史蒂夫