本文将主要实现DispatcherServlet!
之前已经分析过DispatcherServlet主要的任务,分为五个任务,我们从任务一开始开始实现!
任务1:把项目中所有的bean扫描,进行维护;
实现代码如下:
private void scanPackage(String basePackage){
URL url = this.getClass().getClassLoader().getResource("/"+basePackage.replaceAll("\\.", "/"));
String filestr = url.getFile();
File file = new File(filestr);
String[] filesStr = file.list();
for(String path:filesStr){
File filePath = new File(filestr+path);
if(filePath.isDirectory()){
scanPackage(basePackage+"."+path);
}else{
classNames.add(basePackage+'.'+filePath.getName());
}
}
}
由上面的代码可以看出,通过扫描所有文件之后,需要将类信息存放在一个名为classNames的List中,这里我用的是ArrayList:
private List<String> classNames = new ArrayList<String>();
任务1想要实现,这里需要调用scanPackage("com.tx");
到此任务1完成!