请教SpringMVC 的页面静态化方案
1个回答
2018-01-22
展开全部
网站使用springmvc,拦截的后缀是.htm的请求,我希望这样一个逻辑,如果请求xxx.htm,先判断是否有对应的静态资源文件,有的话就用这个文件去响应,没有的话才到springmvc的方法里,响应的同时创建htm文件.
后来了解到apache+tomcat的组合,静态资源由apache来处理,了解了一下找到方案
把初始的想法稍微变化一下,静态文件不使用.htm而使用.html,请求来的时候看有没有对应的.html文件,有的话就把url重写为.html,这样就没tomcat什么事了,当文件不存在时springmvc才拦截并响应,再生成对应的.html文件
配置如下
RewriteEngine on
RewriteCond /myHostPath/%{REQUEST_FILENAME}l -f
RewriteRule ^/(.*)\.htm$ $1.html [P,L]
.htm的请求由tomcat处理,也就是springmvc来处理
其余请求都交给apache
这个是由tomcat连接器来配置的 JkMount /*.htm ajp13
后来了解到apache+tomcat的组合,静态资源由apache来处理,了解了一下找到方案
把初始的想法稍微变化一下,静态文件不使用.htm而使用.html,请求来的时候看有没有对应的.html文件,有的话就把url重写为.html,这样就没tomcat什么事了,当文件不存在时springmvc才拦截并响应,再生成对应的.html文件
配置如下
RewriteEngine on
RewriteCond /myHostPath/%{REQUEST_FILENAME}l -f
RewriteRule ^/(.*)\.htm$ $1.html [P,L]
.htm的请求由tomcat处理,也就是springmvc来处理
其余请求都交给apache
这个是由tomcat连接器来配置的 JkMount /*.htm ajp13
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询