Spring MVC - 浏览器中的URL显示和编码支持

时间:2012-03-21 17:01:40

标签: java spring spring-mvc

这可能是一个显而易见的问题。但到目前为止我无法弄明白。

在我的Spring应用程序中,我向以下url发出GET请求

http://www.example.com/firstpage

此请求转到前端控制器,我的请求映射如下:

@RequestMapping(value = "/firstpage")
public String handlerMethod(HttpServletRequest request, HttpSession session)
        throws CustomException {
        ...
        return "secondpage";
}

此“secondpage”对应于secondpage.jsp,其内容正确显示。 但问题是浏览器URL仍然显示

http://www.example.com/firstpage

为什么会这样?有关如何更改浏览器URL的任何建议? Spring也有编码URL的默认支持吗?

1 个答案:

答案 0 :(得分:3)

Spring MVC的一个优点是视图完全独立于控制器。因此,您的控制器映射到URL路径“/ firstpage”,作为响应,可以呈现任何视图。它可以是JSP,JSON,PDF,任何类型的视图。您的视图解析程序配置确定使用哪个视图。

在你的情况下,你返回“secondpage”,它只是告诉spring查找名为secondpage的视图,根据你的视图解析器配置,它可能在WEB-INF中查找secondpage.jsp或类似的东西。它仍然只是一种观点。

如果您希望它执行其他操作,您可以返回“redirect:secondpage”,这将告诉浏览器实际重定向到“/ secondpage”,我相信它会更改地址栏中的网址,但它也会想要转到映射到“/ secondpage”的控制器,或者需要在没有控制器的情况下映射的视图。