在过去的学习的过程中使用过一些开源项目,比如Struts,Fileupload等,还调查过有关Web打印方面的开源项目。在这些项目中有的是系统构架框架,比如MVC框架下的struts。有的是开源的API,比如fileupload组件。
像MVC这样的系统框架的开源项目,通过把该项目的一些config的dtd文件和XML文件放到项目中,然后通过容器根据程序来调用这些配置文件,然后根据这些配置文件调用项目实现的底层方法,从而达到一定的目的,由于这些配置文件大部分都是通用的,另外一部分是可以自己编辑,因此它做为一个框架,通用部分框架自动支持,而需要用户根据特定的需要来实现编辑的部分作为框架的接口(用户根据需要配置)。在Struts项目中,strtus本来就是一些通用的标签库组成,dtd文件定义了服务器容器struts之间的关系,它描述了标签库的内容,包含在每一个Struts的请求页面中,当它开始请求,容器早根据.dtd文件调用了标签库,然后服务容器和标签库访问struts-sonfig.xml文件,根据struts-config.xml定义JavaBean的调用关系和页面之间的请求关联关系,调用form和action对应的JavaBean进行业务处理,再转发页面,实现MVC。
对于像fileupload这种开源的东西,其实它不过只是API,可以根据docs文件来了解类和方法的功能,然后根据特定的需要,把该API放到系统项目中去,然后再程序中使用它。
其实现在在Java中的很多标准的东西都是来自于开源组织的。比如XML等。
像MVC这样的系统框架的开源项目,通过把该项目的一些config的dtd文件和XML文件放到项目中,然后通过容器根据程序来调用这些配置文件,然后根据这些配置文件调用项目实现的底层方法,从而达到一定的目的,由于这些配置文件大部分都是通用的,另外一部分是可以自己编辑,因此它做为一个框架,通用部分框架自动支持,而需要用户根据特定的需要来实现编辑的部分作为框架的接口(用户根据需要配置)。在Struts项目中,strtus本来就是一些通用的标签库组成,dtd文件定义了服务器容器struts之间的关系,它描述了标签库的内容,包含在每一个Struts的请求页面中,当它开始请求,容器早根据.dtd文件调用了标签库,然后服务容器和标签库访问struts-sonfig.xml文件,根据struts-config.xml定义JavaBean的调用关系和页面之间的请求关联关系,调用form和action对应的JavaBean进行业务处理,再转发页面,实现MVC。
对于像fileupload这种开源的东西,其实它不过只是API,可以根据docs文件来了解类和方法的功能,然后根据特定的需要,把该API放到系统项目中去,然后再程序中使用它。
其实现在在Java中的很多标准的东西都是来自于开源组织的。比如XML等。