1 / 17
文档名称:

后端跨域请求解决方案.doc

格式:doc   大小:40KB   页数:17页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

后端跨域请求解决方案.doc

上传人:iris028 2020/1/10 文件大小:40 KB

下载得到文件列表

后端跨域请求解决方案.doc

相关文档

文档介绍

文档介绍:后端跨域请求解决方案篇一:——一、中,第一个接触的类一般是Directory。它是Lucene存储的一个抽象,由此派生了两个类:FSDirectory和RAMDirectory,用于控制索引文件的存储位置。使用FSDirectory类,就是存储到硬盘;使用RAMDirectory类,则是存储到内存。图1-1存储抽象实现UML图如图1-1,显示了这种关系。而看Lucene代码会发现,RAMDirectory和FSDirectory还分别有一个内嵌类。这个内嵌类实际上是通过工具从Java版本转移过来,工具自动产生的。那就先看看Java代码的结构,然后再来看转移过来生成的内嵌类是干什么用的。Directory类一共有11个方法,看看类的注释就知道,翻译过来也是没有做非常细致的调整。比如,注释上有这句话“Java'si/oAPIsnotuseddirectly,butratheralli/oisthroughthisAPI.“。还保留着Java的解释了,平台会采用Java的API,但是,这句话确实1够昏的。Directory的注释原文:,,'si/oAPIsnotuseddirectly,butratheralli/:implementationofRAM-basedindices;implementationindicesstoredinadatabase,viaJDBC;implementationofanindexasasinglefile;意思就是:一个Directory对象是一份文件的清单。文件可能只在被创建的时候写一次。一旦文件被创建,它将只被读取或者删除。在读取的时候进行写入操作是允许的。Java的I/O库没有被直接使用,所以的I/O操作都通过这个API。这些存储可以允许:实现基于内存的索引;实现索引存入数据库,通过JDBC;实现一个索引是一个文件。而Directory的11个方法分别是:1、list把一个Directory对象下的文件,按字符串数组的方式返回;2、fileExists给定一个文件名,如果存在,就返回true;23、fileModified返回给定文件名被修改的时间;4、touchFile设置给定文件名文件的更新时间为现在;5、deleteFile删除当前directory对象下一个给定文件名的文件,该文件必须存在;6、renameFile重命名当前directory一个文件的文件名,如果新的名字在directory里已经存在,将会更换。这个要更换原子;7、fileLength返回文件的长度;8、createFile创建一个空文件,并且返回该文件的写入流;9、openFile返回一个存在文件的读取流;10、makeLock锁定该directory对象;11、close关闭该对象。而在Directory类中,使用的都是抽象方法,把这个类换成接口也可以。然后再来看看RAMDirectory类。RAMDirectory是Directory的内存操作实现。RAMDirectory类有5个重载构造函数。RAMDirectory()构造函数无操作;RAMDirectory(Directorydir)允许把硬盘上的索引载入内存,这个操作只适用于可以被载入内存的索引。(注:文件结构不对或者索引大小超出内存肯定就不行了。)这个构造函数只调用了RAMDirectory(Directorydir,boolean3closeDir)构造函数,并未做其他动作。再来看看RAMDirectory(Directorydir,booleancloseDir)构造函数。除了默认构造函数,其他3个构造函数都是调用的这个构造函数做处理的。代码1-2:string[]files=();for(inti=0;i<;i++){//makeplaceonramdiskOutputStreamos=CreateFile((files[i]));//readcurrentfileInputStreamis_Renamed=(files[i]);//andcopytoramdiskintlen=(int)is_Rena