Java 使用SpringMVC从外部上下文加载文件

Java 使用SpringMVC从外部上下文加载文件,java,spring,jsp,spring-mvc,Java,Spring,Jsp,Spring Mvc,我在我的应用程序中使用SpringMVC,我决定从中删除JSP文件,并将其放入在apache中创建的另一个上下文中,我称之为static 使用纯servlet,我可以将请求转发到JSP页面,如下所示: getServletConfig().getServletContext().getContext("/static").getRequestDispatcher("/test.jsp").forward(request, response); 但是如何使用SpringMVC配置这种行为,当我在

我在我的应用程序中使用SpringMVC,我决定从中删除JSP文件,并将其放入在apache中创建的另一个上下文中,我称之为static

使用纯servlet,我可以将请求转发到JSP页面,如下所示:

getServletConfig().getServletContext().getContext("/static").getRequestDispatcher("/test.jsp").forward(request, response);

但是如何使用SpringMVC配置这种行为,当我在RequestMapping方法中返回字符串时,强制它在这个静态上下文中查找JSP?

老实说,我认为这不是上下文的好用法。如果您试图为静态文件提供服务,那么有更好的方法来实现这一点。但是上下文在它们之间是独立的。

我还没有尝试过这一点,但似乎您应该能够编写Springs ViewResolver接口的实现来实现这一点。让您的实现也实现ServletContextAware,这似乎是一个起点。看看InternalResourceViewResolver-它不做你想做的事,但可能会给你一个前进的方式谢谢你的回答,事实上我在这一点上,但我没有在网络上得到一个好的例子来适应,我希望有一个更简单的解决方案,但如果我这样做,我会出于兴趣在这里发布,为什么要将JSP文件移动到另一个上下文中?事实上,我想将它放在我的jar之外,这样我就可以在不接触jar的情况下更新我的视图层,有更好的解决方案吗?我不确定这是否可行-我希望jsp必须部署到servlet容器中,这样您就不会最终不得不将其打包为jar/war吗?问题是,至少当我搜索它时,jsp不能被视为简单的静态文件,因为如果这样做,您将无法处理转发和其他servlet问题。你还有别的解决办法吗?