0

JBoss AS7.1.1.Final 与 Spring 3.1.0

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

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

以下重定向代码由 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……</p>

<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 连接器。

4

1 回答 1

0

这最终不是问题。

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

这从来都不是 Spring Roo 的问题。

于 2012-09-06T19:18:40.000 回答