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连接器。
答案 0 :(得分:0)
这最终不是问题。
问题是我们没有为JBoss AS7中的元素设置proxy-port和proxy-name属性。
这绝不是Spring Roo的问题。