记录一下今天“攻克”的细节
《SSM源码深入解析与企业项目实战》2023年3月第一版
书中涉及静态资源映射部分,采用了并列的写法,对两种方式进行介绍后,后续对两种方案没有按照方案进行延续…所以本人阅读时还是遇到很多障碍,理解起来比较慢。
5.1.5节《Spring MVC 配置类》与5.1.6节《web配置类》两节遥相呼应,用WebInitializer配置类注册MvcConfig.class进行配置。但在pattern-url上没有阐述清楚,具体代码如下:
package com.configuration;
import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;
public class WebInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
context.register(MvcConfig.class);
context.setServletContext(servletContext);
ServletRegistration.Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(context));
servlet.addMapping("/");
servlet.addMapping("*.html");
servlet.addMapping("*.css");
servlet.addMapping("*.jpg");
servlet.addMapping("*.js");
servlet.setLoadOnStartup(1);
}
}
书中对于serlet.addMapping的交代很少,在网上查找资料也鲜有涉及的内容。在学习的过程中,我花了大量时间探索如何在程序配置上消除此类屏蔽,因为之前项目经验都是涉及xml,但还是第一次尝试以java类替代xml配置文件。最终,还是解决了。特此纪念,以防遗忘。