一尘不染

如何使用Spring提供.html文件

java spring

我正在用Spring开发一个网站,并试图提供不是.jsp文件(例如.html)的资源。

现在我已经注释掉了我的servlet配置的这一部分

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
        p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />

并尝试从控制器返回资源的完整路径。

@Controller
public class LandingPageController {

protected static Logger logger = Logger.getLogger(LandingPageController.class);

@RequestMapping({"/","/home"})
public String showHomePage(Map<String, Object> model) {
    return "/WEB-INF/jsp/index.html";   
   }
}

该文件夹中存在index.html文件。

注意:当我将index.html更改为index.jsp时,我的服务器现在可以正确服务该页面。

谢谢。


阅读 292

收藏
2020-03-16

共1个答案

一尘不染

最初的问题是配置中指定了一个属性,suffix=".jsp"因此ViewResolver实现类将添加.jsp到从你的方法返回的视图名称的末尾。

但是,由于你注释了InternalResourceViewResolverthen,所以根据其余应用程序配置,可能未注册任何其他ViewResolver。你可能会发现现在什么都没用。

由于·文件是静态的,不需要servlet进行处理,因此使用<mvc:resources/>映射更加高效,简单。这需要Spring 3.0.4+。

例如:

<mvc:resources mapping="/static/**" location="/static/" />

这将通过启动与所有请求/static/webapp/static/目录。

因此,通过把index.htmlwebapp/static/使用return "static/index.html";从你的方法,spring应该找到视图。

2020-03-16