Spring Roo构建重定向的URL - 在URL的末尾添加:80

时间:2012-08-16 23:43:33

标签: spring jboss7.x

JBoss AS7.1.1.Final with Spring 3.1.0

我们正在使用Spring Roo生成的Spring MVC框架。

我们遇到了重定向网址的问题。

以下重定向代码由Roo生成并驻留在AspectJ文件中。这是在“创建”页面上保存数据完成后重定向到“显示”页面的示例。

@RequestMapping(method = RequestMethod.POST)
public String RequestorController.create(@Valid Requestor requestor, BindingResult bindingResult, Model uiModel, HttpServletRequest httpServletRequest) {
if (bindingResult.hasErrors()) {
uiModel.addAttribute("requestor", requestor);
addDateTimeFormatPatterns(uiModel);
return "requestors/create";
}
uiModel.asMap().clear();
requestor.persist();
return "redirect:/requestors/" + encodeUrlPathSegment(requestor.getId().toString(), httpServletRequest);
}

以下是我们的JBoss AS7 standalone.xml连接器配置:

<connector name="ajp" protocol="AJP/1.3" socket-binding="ajp"/>
--> The URL Spring created was: ajp://servername/context/path

然后我们尝试了这个:

<connector name="ajp" protocol="AJP/1.3" socket-binding="ajp" scheme="https">
--> The URL Spring created was: https://servername:80/context/path (Notice how the :80 is appended. So this was ALMOST RIGHT.)

再试一次,我们将重定向端口添加为443 ...

<connector name="ajp" protocol="AJP/1.3" socket-binding="ajp" scheme="https" redirect-port="443">
--> Generated same thing, https://servername:80/context/path

发生了什么:附加了80?

注意:这在JBoss 4和5中运行良好,可能是因为它们基于Tomcat连接器。

1 个答案:

答案 0 :(得分:0)

这最终不是问题。

问题是我们没有为JBoss AS7中的元素设置proxy-port和proxy-name属性。

这绝不是Spring Roo的问题。