SpringMVC過濾靜態資源四種方式
阿新 • • 發佈:2019-05-28
1.使用tomcat預設的servlet,通常在web.xml檔案中啟用。程式碼如下:
<!-- 啟用tomcat的defaultservlet攔截靜態資源 --> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.png</url-pattern> </servlet-mapping>
2.使用spring3.0的朋友可以使用springmvc的<mvc:resources/>
標籤
<mvc:resources location="/static/" mapping="/static/**"/>
3.使用spring提供的標籤<mvc:default-servlet-handler/>
程式碼為:
<mvc:default-servlet-handler/>
4.使用註解配置servlet的配置類實現WebMvcConfigurer介面,重寫addResourceHandlers方法
package com.wise.tiger.config;
import ...
@Configuration
@EnableWebMvc
@EnableAspectJAutoProxy
@ComponentScan(basePackages = "com.wise.tiger.web")
public class ServletConfig implements WebMvcConfigurer {
@Bean
public InternalResourceViewResolver viewResolver(){
var viewResolver =new InternalResourceViewResolver();
viewResolver.setViewClass(org.springframework.web.servlet.view.JstlView.class);
viewResolver.setPrefix("/WEB-INF/book/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**")//過濾靜態資源
.addResourceLocations("/static/");