是否可以使用Spring MVC从压缩文件中提供静态资源?类似于this。
我将一些数据打包成单独的JSON文件(例如123.json,1634.json等),并且目前通过
提供服务<mvc:resources mapping="/resources/**" location="/resources/" />
文件位于.../resources/dataFiles/
下。因此,用户可以转到http://mywebsite.com/resources/dataFiles/123.json
来检索实体123的数据。
但是,我有~10,000个JSON文件。如果我可以在一个文件(.../resources/dataFiles/entities.zip
)下压缩它们并告诉Spring在压缩文件中提供单独的JSON文件,那就太棒了。
因此,用户仍会转到http://mywebsite.com/resources/dataFiles/123.json
,但.../resources/dataFiles/
下的唯一文件是entities.zip。
如果此问题超出了MVC框架的范围,我使用的是Tomcat 7.0。
答案 0 :(得分:1)
我不确定是否有一个Spring开箱即用的组件可以做到这一点,但你可以创建一个独立的Servlet来处理静态资源的传入请求,然后这个servlet会解析文件名,并从压缩文件中动态读取正确的Zip条目,并将内容返回到Response的OutputStream。看看: