我是 Spring 季mvc的新手,我有一些问题:
1)我可以从jsp页面访问WEB-INF目录中的img,css和js吗?
文件夹结构是:
webapp
- WEB-INF
- css
- js
- img
2)我有WebMvcConfig类,扩展了WebMvcConfigurerAdapter:
@Configuration
@EnableWebMvc
@Import({BeanConfig.class,CacheConfig.class})
公共类WebMvcConfig扩展WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/css/**").addResourceLocations("/resources/css/").setCachePeriod(31556926);
registry.addResourceHandler("/img/**").addResourceLocations("/resources/img/").setCachePeriod(31556926);
registry.addResourceHandler("/js/**").addResourceLocations("/resources/js/").setCachePeriod(31556926);
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new ControllerInterceptor());
}
@Bean
public InternalResourceViewResolver getInternalResourceViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
@Bean
public ContentNegotiatingViewResolver getContentNegotiatingViewResolver() {
ContentNegotiatingViewResolver resolver = new ContentNegotiatingViewResolver();
ArrayList<View> defaultViews = new ArrayList<View>();
MappingJacksonJsonView jsonView = new MappingJacksonJsonView();
jsonView.setPrefixJson(true);
defaultViews.add(new MappingJacksonJsonView());
resolver.setDefaultViews(defaultViews);
resolver.setOrder(1);
return resolver;
}
@Bean
public ControllerInterceptor getLoggingInterceptor() {
return new ControllerInterceptor();
}
}
我想访问文件夹:/ resources / css,/ resources / img和/ resources / js,
web.xml文件的一部分:
<servlet>
<servlet的名称> MVC-调度</ servlet的名称>
<servlet的类> org.springframework.web.servlet.DispatcherServlet </ servlet的类>
<INIT-PARAM>
<PARAM名称> contextClass </ PARAM名称>
<PARAM值>
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
</ PARAM值>
</ INIT-param>
<INIT-PARAM>
<PARAM名称> contextConfigLocation的</ PARAM名称>
<PARAM值>
config.WebMvcConfig
</ PARAM值>
</ INIT-param>
</ servlet的>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
文件夹结构是:
webapp
- WEB-INF
- resources
- css
- js
- img
但它不起作用
1 回答
是的,你可以这样做 .
你有这种结构
您可以访问您的资源
将从
/resources/css/somefile.css
获取资源 . 对所有其他资源执行相同操作 .