1. 程式人生 > >SpringMVC過濾靜態資源四種方式

SpringMVC過濾靜態資源四種方式

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/");