【问题标题】:spring view resolver for HTML + redirect to apache web server用于 HTML 的 spring 视图解析器 + 重定向到 apache Web 服务器
【发布时间】:2014-11-20 06:17:34
【问题描述】:

我有一个 Web 服务器,它将带有 .htm 的动态请求转发到 tomcat(使用 mod_jk 连接),静态资源由 Apache Web 服务器提供。考虑以下处理login.htm

的spring控制器
@RequestMapping(method = {org.springframework.web.bind.annotation.RequestMethod.POST}, 
        value = {"login.htm"})
public ModelAndView showLoginPage(HttpServletRequest request, HttpServletResponse response) throws Exception {
    return new ModelAndView("login");
}

对应的viewresolver如下:

<!bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/" />
    <property name="suffix" value=".html" />
</bean>

这是在 tomcat 上下文中搜索文件login.html。但是静态的login.html 驻留在apache 的htdocs 文件夹中(在同一个域下)。

谁能告诉我如何从网络服务器解析视图?

【问题讨论】:

    标签: java apache spring-mvc model-view-controller webserver


    【解决方案1】:

    解决了。在我们的配置中,apache 不允许向 tomcat 发出 .html 请求。早些时候我有一个误解,认为 spring 将通过 URL 解析视图,并且可以通过 Web 服务器访问该视图。而是从 viewResolver 中定义的路径内部解析视图。

    所以

    <property name="prefix" value="/WEB-INF/html/" /> <property name="suffix" value=".html" />

    和 WEB-INF/html 中的 html 页面足以解析视图。

    Spring 永远不会通过 Web 服务器路由视图解析请求。

    【讨论】:

      猜你喜欢
      • 2011-06-07
      • 2021-04-29
      • 2010-09-27
      • 1970-01-01
      • 2013-12-22
      • 1970-01-01
      • 1970-01-01
      • 2018-04-13
      • 1970-01-01
      相关资源
      最近更新 更多