学习笔记之网络架构

一、get post请求的区别

http网络请求分成两块,head和body

GET 和 POST 是 HTTP 协议中两种常用的请求方法,它们在功能定位、使用场景以及工作方式上有明显的区别:

1. **目的与语义**:
   - **GET**:用于请求访问已经被URI(统一资源标识符)识别的资源,即从服务器获取资源。它主要是用来获取信息,不改变服务器上的资源状态。
   - **POST**:用于向指定资源提交数据以请求服务器进行处理(例如提交表单或者上传文件),可能造成对服务器上资源的修改。POST 方法常用于创建或更新资源。

2. **参数传递**:
   - **GET**:参数附加在URL之后,以"?key=value&key2=value2"的形式传递,会在浏览器地址栏可见,且会被浏览器和服务器记录在访问历史和日志中。
   - **POST**:参数放置在请求体(Request Body)中,不会显示在URL中,内容不可见,适合传递敏感信息。

3. **数据大小**:
   - **GET**:由于URL长度有限制,一般浏览器对URL长度的限制大约为2048个字符,不适合大量数据的传输。
   - **POST**:理论上数据量没有限制,可以在请求体中传输较大的数据。

4. **安全性**:
   - **GET**:安全性较低,因为所有参数都包含在URL中,可能会泄露敏感信息,并且容易被第三方如代理服务器缓存。
   - **POST**:相对安全,因为参数不会显示在URL中,且默认情况下不应该被中间服务器缓存。

5. **缓存**:
   - **GET**:具有缓存性,响应可被缓存。
   - **POST**:通常不会被缓存,但是可以通过特定的HTTP头部来实现缓存。

6. **幂等性**:
   - **GET**:幂等的,多次执行相同的GET请求应当返回相同的结果(除非资源本身已被其他请求改变)。
   - **POST**:非幂等的,执行同样的POST请求多次可能会产生不同的效果(例如每次都会创建一个新的资源)。

7. **书签/历史记录**:
   - **GET**:可以被浏览器收藏为书签,便于重复访问。
   - **POST**:由于包含了用户提交的数据,不能直接作为书签使用。

8. **TCP数据包**:
   - GET 请求通常在一个TCP数据包中完成,因为URL长度有限制。
   - POST 请求通常至少需要两个TCP数据包,先发送头信息再发送请求体。

根据这些特点,GET主要用于简单、安全、无副作用的查询操作,而POST则适用于复杂数据提交、资源创建或更新等场景。

二、NSURLSessionDataTask 对象发送请求 调用resume方法背后http传输过程

`NSURLSessionDataTask`是苹果在iOS和Mac OS X中提供的网络编程接口`NSURLSession`的一个具体任务类型,主要用于发起HTTP(S)请求并获取数据。当你创建并配置好一个`NSURLSessionDataTask`对象后,调用其`resume`方法是为了启动该网络请求任务。

- **调用resume方法的背后过程:**

  当你调用`resume`方法时,系统会开始执行以下步骤:

  1. **建立连接**:NSURLSession底层会利用系统级的网络栈,根据你设置的URL、请求头、请求体等信息,尝试建立到服务器的TCP连接。

  2. **发送请求**:一旦连接建立成功,就会按照HTTP协议将封装好的请求数据发送给服务器。

  3. **接收响应**:服务器接收到请求后,会返回响应数据,NSURLSession会解析这个HTTP响应,包括状态码、响应头以及响应体等信息。

  4. **数据下载**:对于GET请求,响应体可能就是你要的数据;对于POST等带有数据提交的请求,响应体可能是服务器处理后的结果。这些数据将会按照你在创建`NSURLSessionDataTask`时设定的方式(如委托方法、闭包回调等)逐步下载并传递给你的应用代码。

  5. **错误处理**:如果在网络请求过程中出现任何错误,比如连接失败、超时、服务器返回错误状态码等,NSURLSession也会通过相应的错误处理机制通知你的应用。

  总之,`resume`方法实际上启动了整个网络请求和响应处理的过程,让NSURLSession开始执行你定义的任务,并最终将请求结果或错误信息反馈给你。

三、TCP数据分段传输

TCP 100%可靠传输,为了适配数据链路层中MTU<1500字节,必须在传输层进行最大分段算法分段。进行传输 ip+tcp+data+id1 .....

TCP(Transmission Control Protocol)数据分段传输是TCP协议为了适应网络层(IP层)的传输特性,确保数据可靠性而采取的一种机制。TCP在传输数据前,会将从应用层接收的大量数据流分成若干个较小的数据块,每个数据块称为一个TCP段(Segment)。TCP段内包含TCP头部和有效载荷(payload),其中头部包含诸如源端口号、目标端口号、序列号、确认号、窗口大小等控制信息,用于实现TCP的流量控制、拥塞控制、顺序控制和错误恢复等功能。

以下是TCP数据分段传输的关键要点:

1. **分段原因**:
   - MTU(Maximum Transmission Unit)限制:网络链路层(如以太网)对传输的数据帧有最大尺寸限制,称为MTU。如果TCP数据段不进行分段,当其整体长度超出某个中间节点的MTU时,网络层的IP协议就需要对其进行分片(Fragmentation),这增加了传输的复杂性和潜在的风险。
   - 可靠传输保障:TCP通过序列号和确认应答机制保证数据的有序和无差错传输,每个TCP段都有独立的序列号,即使在网络中单独传输也能被正确地重新组装。

2. **分段过程**:
   - MSS(Maximum Segment Size):TCP在建立连接时,通过TCP选项字段协商确定双方的最大报文段大小(MSS),这是TCP段的有效载荷上限,不包括头部。
   - 数据分段:当应用层数据需要发送时,TCP层根据MSS将其分割成适当大小的段,并对每个段添加TCP头部信息,包括必要的控制字段。
   - 编号和排序:每个TCP段都会被赋予一个唯一的序列号,接收方可以根据序列号将多个段按正确的顺序重新组合成原始数据流。

3. **重传和确认**:
   - 如果某个TCP段在网络中丢失,接收方无法确认对应的序列号,发送方会通过超时重传机制重新发送该段。
   - 快速重传算法:若接收方连续收到三个或更多重复的ACK,会触发快速重传,即不必等待重传定时器超时就立即重传未被确认的段。

通过这样的分段和确认机制,TCP能够在复杂的网络环境下实现可靠的数据传输,确保数据的完整性、顺序性和可靠性。

四、UDP数据在Ip层分片传输

主要的原因是数据在数据链路层中MTU<1500字节,要想在数据链路层可以传输必须在IP层分城好几组数据进行传输。f1+ip+udp+data+id1+f1

UDP(User Datagram Protocol)数据在IP(Internet Protocol)层进行分片传输的过程是这样的:

当应用层通过UDP发送的数据报文过大,以至于超过了路径上的最小MTU(Maximum Transmission Unit,最大传输单元)时,IP层必须对这个大的数据报文进行分片以便在物理网络上进行传输。这个过程大致如下:

1. **UDP封装数据**:
   应用层的数据首先被封装进UDP报文中,UDP报头包含了源端口、目的端口以及UDP数据报的总长度(包括UDP头部和数据部分)。

2. **IP层检查数据报大小**:
   UDP报文随后被送到IP层进行封装,IP层在准备发送数据之前会检查整个IP报文(包括IP头部和UDP报文)的总长度是否超过所经过网络路径的MTU。如果是,就需要进行分片。

3. **IP分片**:
   如果IP数据报太大,IP层会对数据报文进行分片,每个分片成为一个独立的IP数据报,每个分片都有自己的IP头部,并且除了最后一个分片外,其余分片都会被标记为“还有更多分片”(More Fragments, MF)标志位。每个分片还包含原始数据报的标识符(Identification)、分片偏移量(Fragment Offset)等信息,这些信息用于在接收端重组数据。

4. **传输分片**:
   每个IP分片独立地在互联网上传输,它们可能会沿不同的路径到达接收端,而且各个分片并不保证按序到达。

5. **接收端重组**:
   接收端的IP层收到每个分片后,根据IP头部中的标识符和分片偏移量来判断这些分片属于同一个原始IP数据报,并且负责重新组装这些分片恢复出完整的UDP报文。

6. **交付给UDP层**:
   当所有的IP分片都被正确接收并且重组完成后,IP层会将完整重组的UDP数据报传递给UDP层,然后再由UDP层根据源端口和目的端口将数据交给对应的应用程序。

需要注意的是,UDP本身并不关心数据是否被分片,也不负责数据的重传。如果某一个IP分片在网络中丢失,导致数据无法正确重组,那么整个UDP数据报就会丢失,UDP也不会像TCP那样进行重传。这就是为什么UDP被认为是不可靠的传输协议之一。

java架构师148讲视频教程 │ ├─1-148视频教程 │ 第01节:整体课程概览.flv │ 第02节:分模块、分工程管理.avi │ 第03节:多模块多Web应用合并War包.avi │ 第04节:Git基本原理和安装配置使用.avi │ 第05节:TortoiseGit的本地使用.avi │ 第06节:Egit的本地使用.avi │ 第07节:远程使用以及冲突解决.avi │ 第08节:基本业务功能和数据字典.avi │ 第09节:搭建基础的开发环境.avi │ 第10节:Spring+Mybatis实现DAO.avi │ 第11节:Mybatis的分页实现.avi │ 第12节:Service的实现以及模块化.avi │ 第13节:Spring MVC实现Web层开发.avi │ 第14节:新增和列表页面和分页tag.avi │ 第15节:带查询的分页、修改和删除页面.avi │ 第16节:Mybatis动态查询和Json自动拼装.avi │ 第17节:X-gen生成所需的DAO部分模板.avi │ 第18节:X-gen所需service、web层模板.avi │ 第19节:X-gen生成相应的Visitor.avi │ 第20节:X-gen生成需要的Action.avi │ 第21节:通过X-gen生成商品模块.avi │ 第22节:通过X-gen生成购物车模块.avi │ 第23节:通过X-gen来生成订单和库存模块.avi │ 第24节:加入ehcache,把工程加入到Git.avi │ 第25节:实现前端的业务登录等功能.avi │ 第26节:测试并调整登录的业务功能.avi │ 第27节:实现index功能的开发.avi │ 第28节:Index、商品详细页和购物车.avi │ 第29节:完成下订单和修改库存的功能.avi │ 第30节:把应用部署到Linux服务器上.avi │ 第31节:Nginx简介、安装和基本运行.avi │ 第32节:Nginx的进程结构、基本配置.avi │ 第33节:Nginx常用核心模块指令.avi │ 第34节:Nginx的Http模块部分的指令.avi │ 第35节:Nginx的Location区段.avi │ 第36节:Nginx的反向代理模块.avi │ 第37节:反向代理和动静分离的实现.avi │ 第38节:Nginx的负载均衡模块.avi │ 第39节:Nginx的Rewrite模块.avi │ 第40节:更多模块的基本功能和配置.avi │ 第41节:Nginx的配置优化以及使用建议.avi │ 第42节:应用上Nginx过后的体系结构.avi │ 第43节:Varnish简介、安装和基本使用.avi │ 第44节:VCL基本语法和使用,负载均衡.avi │ 第45节:VCL实现健康检查、ACL访问控制.avi │ 第46节:Grace模式和Saint模式.avi │ 第47节:VCL常用的函数和Http头.avi │ 第48节:VCL的子程序和Request流程.avi │ 第49节:VCL的变量和常见的应用片断.avi │ 第50节:使用CLI来管理Varnish.avi │ 第51节:Varnishd命令和运行期参数.avi │ 第52节:Varnish的日志操作.avi │ 第53节:规划缓存大小和提高命中率.avi │ 第54节:性能调优和配置使用建议.avi │ 第55节:Nginx+Varnish组合应用.avi │ 第56节:Varnish对性能的提升和优化.avi │ 第57节:应用上Varnish后的体系结构.avi │ 第58节:Memcached入门和缓存的含义.avi │ 第59节:Memcached基本的工作原理.avi │ 第60节:Memcached基本的操作命令.avi │ 第61节:理解Memcached的数据存储方式.avi │ 第62节:内存分配的Chunk、Slab演示.avi │ 第63节:Memcached的Java客户端开发.avi │ 第64节:理解Memcached的分布式方式.avi │ 第65节:Memcached内存调优.avi │ 第66节:Memcached的限制和使用建议.avi │ 第67节:分析如何使用Memcached开发.avi │ 第68节:Memcached结合业务功能开发.avi │ 第69节:Nginx+Varnish+基本业务功能+Memcached.avi │ 第70节:应用Memcached后的体系结构.avi │ 第71节:ActiveMQ入门和消息中间件.avi │ 第72节:JMS基本概念和模型.avi │ 第73节:JMS的可靠性机制.avi │ 第74节:JMS的API结构和开发步骤.avi │ 第75节:Broker的启动方式.avi │ 第76节:ActiveMQ结合Spring开发.avi │ 第77节:ActiveMQ支持的传输协议.avi │ 第78节:ActiveMQ消息存储持久化.avi │ 第79节:ActiveMQ的静态网络链接.avi │ 第80节:多线程consumer访问集群.avi │ 第81节:集群下的消息回流功能.avi │ 第82节:容错的链接和动态网络连接.avi │ 第83节:ActiveMQ的集群.avi │ 第84节:Destination高级特性一.avi │ 第85节:Destination高级特性二.avi │ 第86节:MessageDispatch高级特性一.avi │ 第87节:MessageDispatch高级特性二.avi │ 第88节:MessageDispatch高级特性三.avi │ 第89节:Message高级特性一.avi │ 第90节:Message高级特性二.avi │ 第91节:Consumer高级特性一.avi │ 第92节:Consumer高级特性二.avi │ 第93节:集成ActiveMQ和Tomcat.avi │ 第94节:AMQ优化和使用建议.avi │ 第95节:AMQ结合业务功能的开发一.avi │ 第96节:AMQ结合业务功能的开发二.avi │ 第97节:AMQ结合业务功能的开发三.avi │ 第98节:AMQ和业务功能组合测试.avi │ 第99节:基本的性能测试.avi │ 第100节:应用上AMQ后的体系结构.avi │ 第101节:MongoDB简介和NoSQL.avi │ 第102节:MongoDB安装和基本使用.avi │ 第103节:MongoDB基本概念.avi │ 第104节:MongoDB增删改操作一.avi │ 第105节:MongoDB增删改操作二.avi │ 第106节:MongoDB查询操作一.avi │ 第107节:MongoDB查询操作二.avi │ 第108节:聚合框架第一部分.avi │ 第109节:聚合框架第二部分.avi │ 第110节:聚合框架第三部分.avi │ 第111节:理解文档存储机制.avi │ 第112节:MongoDB的索引一.avi │ 第113节:MongoDB的索引二.avi │ 第114节:Capped集合和GridFS.avi │ 第115节:MongoDB的副本集一.avi │ 第116节:MongoDB的副本集二.avi │ 第117节:副本集的基本原理.avi │ 第118节:副本集管理和主从复制.avi │ 第119节:MongoDB的分片一.avi │ 第120节:MongoDB的分片二.avi │ 第121节:MongoDB的分片三.avi │ 第122节:MongoDB分片的片键选择.avi │ 第123节:MongoDB分片的管理.avi │ 第124节:监控状态和身份验证.avi │ 第125节:备份和恢复.avi │ 第126节:Java操作MongoDB.avi │ 第127节:MongoDB和Spring.avi │ 第128节:应用建议及最佳实践.avi │ 第129节:MongoDB结合应用开发一.avi │ 第130节:MongoDB结合应用开发二.avi │ 第131节:应用MongoDB后体系结构.avi │ 第132节:MogileFS简介和入门.avi │ 第133节:MogileFS安装和基本配置.avi │ 第134节:理解MogileFS的基本概念.avi │ 第135节:理解MogileFS的基本原理.avi │ 第136节:MogileFS的Java客户端开发.avi │ 第137节:基于MogileFS的小应用一.avi │ 第138节:基于MogileFS的小应用二.avi │ 第139节:基于MogileFS的小应用三.avi │ 第140节:基于MogileFS的小应用四.avi │ 第141节:MogileFS和Nginx的集成.avi │ 第142节:应用MogileFS后体系结构变化.avi │ 第143节:阶段一小结合构建的基本架构.avi │ 第144节:阶段一工程整体打包部署.avi │ 第145节:测试Nginx、Varnish和MogileFS.avi │ 第146节:测试Memcached和MongoDB.avi │ 第147节:测试应用结合ActiveMQ的功能.avi │ 第148节:阶段一之后的发展和架构演变.avi │ ├─x-gen-ppt │ 使用外部主题.pdf │ 具体调用.pdf │ 分发调度.pdf │ 整体介绍.pdf │ 模板管理.pdf │ 生成代理.pdf │ 生成输出.pdf │ 自定义外部主题.pdf │ 配置管理.pdf │ ├─x-gen-projects │ └─project │ ├─.metadata │ │ │ .lock │ │ │ .log │ │ │ version.ini │ │ │ │ │ ├─.mylyn │ │ │ │ .tasks.xml.zip │ │ │ │ repositories.xml.zip │ │ │ │ tasks.xml.zip │ │ │ │ │ │ │ └─contexts │ │ └─.plugins │ │ ├─org.eclipse.core.resources │ │ │ ├─.history │ │ │ │ ├─0 │ │ │ │ ├─1 │ │ │ │ ├─10 │ │ │ │ ├─11 │ │ │ │ ├─12 │ │ │ │ ├─13 │ │ │ │ ├─14 │ │ │ │ ├─15 │ │ │ │ ├─16 │ │ │ │ ├─17 │ │ │ │ ├─18 │ │ │ │ ├─19 │ │ │ │ ├─1a │ │ │ │ ├─1b │ │ │ │ ├─1c │ │ │ │ ├─1d │ │ │ │ ├─1e │ │ │ │ ├─1f │ │ │ │ ├─2 │ │ │ │ ├─20 │ │ │ │ ├─21 │ │ │ │ ├─22 │ │ │ │ ├─23 │ │ │ │ ├─24 │ │ │ │ ├─25 │ │ │ │ ├─26 │ │ │ │ ├─27 │ │ │ │ ├─28 │ │ │ │ ├─29 │ │ │ │ ├─2a │ │ │ │ ├─2b │ │ │ │ ├─2c │ │ │ │ ├─2d │ │ │ │ ├─2e │ │ │ │ ├─2f │ │ │ │ ├─3 │ │ │ │ ├─30 │ │ │ │ ├─31 │ │ │ │ ├─32 │ │ │ │ ├─33 │ │ │ │ ├─34 │ │ │ │ ├─35 │ │ │ │ ├─36 │ │ │ │ ├─37 │ │ │ │ ├─38 │ │ │ │ ├─39 │ │ │ │ ├─3a │ │ │ │ ├─3b │ │ │ │ ├─3c │ │ │ │ ├─3d │ │ │ │ ├─3e │ │ │ │ ├─3f │ │ │ │ ├─4 │ │ │ │ ├─40 │ │ │ │ ├─41 │ │ │ │ ├─42 │ │ │ │ ├─43 │ │ │ │ ├─44 │ │ │ │ ├─45 │ │ │ │ ├─46 │ │ │ │ ├─47 │ │ │ │ ├─48 │ │ │ │ ├─49 │ │ │ │ ├─4a │ │ │ │ ├─4b │ │ │ │ ├─4c │ │ │ │ ├─4d │ │ │ │ ├─4e │ │ │ │ ├─4f │ │ │ │ ├─5 │ │ │ │ ├─50 │ │ │ │ ├─51 │ │ │ │ ├─52 │ │ │ │ ├─53 │ │ │ │ ├─54 │ │ │ │ ├─55 │ │ │ │ ├─56 │ │ │ │ ├─57 │ │ │ │ ├─58 │ │ │ │ ├─59 │ │ │ │ ├─5a │ │ │ │ ├─5b │ │ │ │ ├─5c │ │ │ │ ├─5d │ │ │ │ ├─5e │ │ │ │ ├─5f │ │ │ │ ├─6 │ │ │ │ ├─60 │ │ │ │ ├─61 │ │ │ │ ├─62 │ │ │ │ ├─63 │ │ │ │ ├─64 │ │ │ │ ├─65 │ │ │ │ ├─66 │ │ │ │ ├─67 │ │ │ │ ├─68 │ │ │ │ ├─69 │ │ │ │ ├─6a │ │ │ │ ├─6b │ │ │ │ ├─6c │ │ │ │ ├─6d │ │ │ │ ├─6e │ │ │ │ ├─6f │ │ │ │ ├─7 │ │ │ │ ├─70 │ │ │ │ ├─71 │ │ │ │ ├─72 │ │ │ │ ├─73 │ │ │ │ ├─74 │ │ │ │ ├─75 │ │ │ │ ├─76 │ │ │ │ ├─77 │ │ │ │ ├─78 │ │ │ │ ├─79 │ │ │ │ ├─7a │ │ │ │ ├─7b │ │ │ │ ├─7c │ │ │ │ ├─7d │ │ │ │ ├─7e │ │ │ │ ├─7f │ │ │ │ │ 40f32f632b3900121032a38527baf77d │ │ │ │ │ │ │ │ │ ├─8 │ │ │ │ ├─80 │ │ │ │ ├─81 │ │ │ │ ├─82 │ │ │ │ ├─83 │ │ │ │ ├─84 │ │ │ │ ├─85 │ │ │ │ ├─86 │ │ │ │ ├─87 │ │ │ │ ├─88 │ │ │ │ ├─89 │ │ │ │ ├─8a │ │ │ │ ├─8b │ │ │ │ ├─8c │ │ │ │ ├─8d │ │ │ │ ├─8e │ │ │ │ ├─8f │ │ │ │ ├─9 │ │ │ │ ├─90 │ │ │ │ ├─91 │ │ │ │ ├─92 │ │ │ │ ├─93 │ │ │ │ ├─94 │ │ │ │ ├─95 │ │ │ │ ├─96 │ │ │ │ ├─97 │ │ │ │ ├─98 │ │ │ │ ├─99 │ │ │ │ ├─9a │ │ │ │ ├─9b │ │ │ │ ├─9c │ │ │ │ ├─9d │ │ │ │ ├─9e │ │ │ │ ├─9f │ │ │ │ ├─a │ │ │ │ ├─a0 │ │ │ │ ├─a1 │ │ │ │ ├─a2 │ │ │ │ ├─a3 │ │ │ │ ├─a4 │ │ │ │ ├─a5 │ │ │ │ ├─a6 │ │ │ │ ├─a7 │ │ │ │ ├─a8 │ │ │ │ ├─a9 │ │ │ │ ├─aa │ │ │ │ ├─ab │ │ │ │ ├─ac │ │ │ │ ├─ad │ │ │ │ ├─ae │ │ │ │ ├─af │ │ │ │ ├─b │ │ │ │ ├─b0 │ │ │ │ ├─b1 │ │ │ │ ├─b2 │ │ │ │ ├─b3 │ │ │ │ ├─b4 │ │ │ │ ├─b5 │ │ │ │ ├─b6 │ │ │ │ ├─b7 │ │ │ │ ├─b8 │ │ │ │ ├─b9 │ │ │ │ ├─ba │ │ │ │ ├─bb │ │ │ │ ├─bc │ │ │ │ ├─bd │ │ │ │ ├─be │ │ │ │ ├─bf │ │ │ │ ├─c │ │ │ │ ├─c0 │ │ │ │ ├─c1 │ │ │ │ ├─c2 │ │ │ │ ├─c3 │ │ │ │ ├─c4 │ │ │ │ ├─c5 │ │ │ │ ├─c6 │ │ │ │ ├─c7 │ │ │ │ ├─c8 │ │ │ │ ├─c9 │ │ │ │ ├─ca │ │ │ │ ├─cb │ │ │ │ ├─cc │ │ │ │ ├─cd │ │ │ │ ├─ce │ │ │ │ ├─cf │ │ │ │ ├─d │ │ │ │ ├─d0 │ │ │ │ ├─d1 │ │ │ │ ├─d2 │ │ │ │ ├─d3 │ │ │ │ ├─d4 │ │ │ │ ├─d5 │ │ │ │ ├─d6 │ │ │ │ ├─d7 │ │ │ │ ├─d8 │ │ │ │ ├─d9 │ │ │ │ ├─da │ │ │ │ ├─db │ │ │ │ │ 709288fe9ef800111a0c80454ed7cb85 │ │ │ │ │ │ │ │ │ ├─dc │ │ │ │ ├─dd │ │ │ │ ├─de │ │ │ │ ├─df │ │ │ │ ├─e │ │ │ │ ├─e0 │ │ │ │ ├─e1 │ │ │ │ ├─e2 │ │ │ │ ├─e3 │ │ │ │ ├─e4 │ │ │ │ ├─e5 │ │ │ │ ├─e6 │ │ │ │ ├─e7 │ │ │ │ ├─e8 │ │ │ │ ├─e9 │ │ │ │ ├─ea │ │ │ │ ├─eb │ │ │ │ ├─ec │ │ │ │ ├─ed │ │ │ │ ├─ee │ │ │ │ ├─ef │ │ │ │ ├─f │ │ │ │ ├─f0 │ │ │ │ ├─f1 │ │ │ │ ├─f2 │ │ │ │ ├─f3 │ │ │ │ ├─f4 │ │ │ │ ├─f5 │ │ │ │ ├─f6 │ │ │ │ ├─f7 │ │ │ │ ├─f8 │ │ │ │ ├─f9 │ │ │ │ ├─fa │ │ │ │ ├─fb │ │ │ │ ├─fc │ │ │ │ ├─fd │ │ │ │ ├─fe │ │ │ │ │ 30ae34632b3900121032a38527baf77d │ │ │ │ │ │ │ │ │ └─ff │ │ │ ├─.projects │ │ │ │ ├─test │ │ │ │ │ │ .markers │ │ │ │ │ │ │ │ │ │ │ ├─org.eclipse.jdt.apt.core │ │ │ │ │ └─org.eclipse.jdt.core │ │ │ │ │ state.dat │ │ │ │ │ │ │ │ │ └─x-gen │ │ │ │ │ .markers │ │ │ │ │ │ │ │ │ ├─.indexes │ │ │ │ │ └─6e │ │ │ │ │ └─6b │ │ │ │ │ └─fe │ │ │ │ │ └─92 │ │ │ │ │ └─92 │ │ │ │ │ ├─40 │ │ │ │ │ │ └─6c │ │ │ │ │ │ history.index │ │ │ │ │ │ │ │ │ │ │ └─b9 │ │ │ │ │ history.index │ │ │ │ │ │ │ │ │ ├─org.eclipse.jdt.apt.core │ │ │ │ └─org.eclipse.jdt.core │ │ │ │ state.dat │ │ │ │ │ │ │ ├─.root │ │ │ │ │ 11.tree │ │ │ │ │ │ │ │ │ └─.indexes │ │ │ │ history.version │ │ │ │ properties.index │ │ │ │ properties.version │ │ │ │ │ │ │ └─.safetable │ │ │ org.eclipse.core.resources │ │ │ │ │ ├─org.eclipse.core.runtime │ │ │ └─.settings │ │ │ org.eclipse.core.resources.prefs │ │ │ org.eclipse.debug.ui.prefs │ │ │ org.eclipse.epp.usagedata.recording.prefs │ │ │ org.eclipse.jdt.core.prefs │ │ │ org.eclipse.jdt.launching.prefs │ │ │ org.eclipse.jdt.ui.prefs │ │ │ org.eclipse.jst.j2ee.webservice.ui.prefs │ │ │ org.eclipse.jst.jsp.core.prefs │ │ │ org.eclipse.mylyn.context.core.prefs │ │ │ org.eclipse.mylyn.java.ui.prefs │ │ │ org.eclipse.mylyn.monitor.ui.prefs │ │ │ org.eclipse.team.cvs.ui.prefs │ │ │ org.eclipse.team.ui.prefs │ │ │ org.eclipse.ui.editors.prefs │ │ │ org.eclipse.ui.ide.prefs │ │ │ org.eclipse.ui.prefs │ │ │ org.eclipse.ui.workbench.prefs │ │ │ org.eclipse.wst.jsdt.ui.prefs │ │ │ org.eclipse.wst.sse.core.prefs │ │ │ org.eclipse.wst.sse.ui.prefs │ │ │ org.eclipse.wst.ws.service.policy.prefs │ │ │ org.eclipse.wst.xml.ui.prefs │ │ │ │ │ ├─org.eclipse.debug.core │ │ │ └─.launches │ │ │ MyTest (1).launch │ │ │ MyTest.launch │ │ │ t.launch │ │ │ │ │ ├─org.eclipse.debug.ui │ │ │ dialog_settings.xml │ │ │ launchConfigurationHistory.xml │ │ │ │ │ ├─org.eclipse.epp.usagedata.recording │ │ │ upload0.csv │ │ │ upload1.csv │ │ │ upload10.csv │ │ │ upload11.csv │ │ │ upload12.csv │ │ │ upload13.csv │ │ │ upload14.csv │ │ │ upload15.csv │ │ │ upload16.csv │ │ │ upload17.csv │ │ │ upload18.csv │ │ │ upload19.csv │ │ │ upload2.csv │ │ │ upload20.csv │ │ │ upload21.csv │ │ │ upload22.csv │ │ │ upload23.csv │ │ │ upload24.csv │ │ │ upload25.csv │ │ │ upload26.csv │ │ │ upload27.csv │ │ │ upload28.csv │ │ │ upload29.csv │ │ │ upload3.csv │ │ │ upload30.csv │ │ │ upload31.csv │ │ │ upload32.csv │ │ │ upload33.csv │ │ │ upload34.csv │ │ │ upload35.csv │ │ │ upload36.csv │ │ │ upload37.csv │ │ │ upload38.csv │ │ │ upload39.csv │ │ │ upload4.csv │ │ │ upload40.csv │ │ │ upload41.csv │ │ │ upload42.csv │ │ │ upload43.csv │ │ │ upload44.csv │ │ │ upload45.csv │ │ │ upload46.csv │ │ │ upload47.csv │ │ │ upload48.csv │ │ │ upload49.csv │ │ │ upload5.csv │ │ │ upload50.csv │ │ │ upload51.csv │ │ │ upload52.csv │ │ │ upload53.csv │ │ │ upload54.csv │ │ │ upload55.csv │ │ │ upload56.csv │ │ │ upload57.csv │ │ │ upload58.csv │ │ │ upload59.csv │ │ │ upload6.csv │ │ │ upload7.csv │ │ │ upload8.csv │ │ │ upload9.csv │ │ │ usagedata.csv │ │ │ │ │ ├─org.eclipse.jdt.core │ │ │ 1285665056.index │ │ │ 1443231178.index │ │ │ 1583475091.index │ │ │ 1642086229.index │ │ │ 165780461.index │ │ │ 1836311715.index │ │ │ 2335302788.index │ │ │ 2424825842.index │ │ │ 2559444288.index │ │ │ 2926361562.index │ │ │ 3271193799.index │ │ │ 3561449303.index │ │ │ 3887831799.index │ │ │ 504403929.index │ │ │ 959717129.index │ │ │ externalLibsTimeStamps │ │ │ invalidArchivesCache │ │ │ javaLikeNames.txt │ │ │ nonChainingJarsCache │ │ │ participantsIndexNames.txt │ │ │ savedIndexNames.txt │ │ │ variablesAndContainers.dat │ │ │ │ │ ├─org.eclipse.jdt.launching │ │ │ .install.xml │ │ │ libraryInfos.xml │ │ │ │ │ ├─org.eclipse.jdt.ui │ │ │ dialog_settings.xml │ │ │ OpenTypeHistory.xml │ │ │ QualifiedTypeNameHistory.xml │ │ │ │ │ ├─org.eclipse.jst.jsp.core │ │ │ ├─jspsearch │ │ │ │ 4166850570.index │ │ │ │ 51038836.index │ │ │ │ │ │ │ ├─taglibindex │ │ │ │ 2926361562.dat │ │ │ │ 3271193799.dat │ │ │ │ │ │ │ └─translators │ │ ├─org.eclipse.ltk.core.refactoring │ │ │ └─.refactorings │ │ │ ├─.workspace │ │ │ │ └─2012 │ │ │ │ ├─11 │ │ │ │ │ └─48 │ │ │ │ │ refactorings.history │ │ │ │ │ refactorings.index │ │ │ │ │ │ │ │ │ ├─8 │ │ │ │ │ └─35 │ │ │ │ │ refactorings.history │ │ │ │ │ refactorings.index │ │ │ │ │ │ │ │ │ └─9 │ │ │ │ ├─36 │ │ │ │ │ refactorings.history │ │ │ │ │ refactorings.index │ │ │ │ │ │ │ │ │ └─37 │ │ │ │ refactorings.history │ │ │ │ refactorings.index │ │ │ │ │ │ │ ├─test │ │ │ │ └─2012 │ │ │ │ └─9 │ │ │ │ └─37 │ │ │ │ refactorings.history │ │ │ │ refactorings.index │ │ │ │ │ │ │ └─x-gen │ │ │ └─2012 │ │ │ ├─8 │ │ │ │ └─35 │ │ │ │ refactorings.history │ │ │ │ refactorings.index │ │ │ │ │ │ │ └─9 │ │ │ └─36 │ │ │ refactorings.history │ │ │ refactorings.index │ │ │ │ │ ├─org.eclipse.ltk.ui.refactoring │ │ │ dialog_settings.xml │ │ │ │ │ ├─org.eclipse.mylyn.bugzilla.core │ │ ├─org.eclipse.mylyn.tasks.ui │ │ ├─org.eclipse.pde.api.tools │ │ ├─org.eclipse.pde.core │ │ │ ├─.cache │ │ │ │ clean-cache.properties │ │ │ │ │ │ │ └─.p2 │ │ │ └─org.eclipse.equinox.p2.engine │ │ │ └─profileRegistry │ │ ├─org.eclipse.team.cvs.core │ │ ├─org.eclipse.ui.editors │ │ │ dialog_settings.xml │ │ │ │ │ ├─org.eclipse.ui.ide │ │ │ dialog_settings.xml │ │ │ │ │ ├─org.eclipse.ui.intro │ │ ├─org.eclipse.ui.workbench │ │ │ dialog_settings.xml │ │ │ workbench.xml │ │ │ workingsets.xml │ │ │ │ │ ├─org.eclipse.ui.workbench.texteditor │ │ │ dialog_settings.xml │ │ │ │ │ ├─org.eclipse.wst.common.modulecore │ │ ├─org.eclipse.wst.internet.cache │ │ │ cache.xml │ │ │ │ │ ├─org.eclipse.wst.jsdt.core │ │ │ │ externalLibsTimeStamps │ │ │ │ variablesAndContainers.dat │ │ │ │ │ │ │ ├─indexes │ │ │ └─libraries │ │ │ baseBrowserLibrary.js │ │ │ browserWindow.js │ │ │ dom5.js │ │ │ system.js │ │ │ xhr.js │ │ │ │ │ ├─org.eclipse.wst.jsdt.ui │ │ │ OpenTypeHistory.xml │ │ │ QualifiedTypeNameHistory.xml │ │ │ │ │ ├─org.eclipse.wst.server.core │ │ ├─org.eclipse.wst.sse.ui │ │ │ dialog_settings.xml │ │ │ │ │ └─org.eclipse.wst.xml.core │ │ default_catalog.xml │ │ system_catalog.xml │ │ │ ├─test │ │ │ .classpath │ │ │ .project │ │ │ │ │ ├─.settings │ │ │ org.eclipse.jdt.core.prefs │ │ │ │ │ ├─bin │ │ │ ├─cn │ │ │ │ └─javass │ │ │ │ ├─test │ │ │ │ │ │ MyTest.class │ │ │ │ │ │ │ │ │ │ │ └─test │ │ │ │ ├─themes │ │ │ │ │ ├─mytheme │ │ │ │ │ │ │ ThemeConf.xml │ │ │ │ │ │ │ │ │ │ │ │ │ ├─actions │ │ │ │ │ │ │ VoAction.class │ │ │ │ │ │ │ VoHbmXmlAction.class │ │ │ │ │ │ │ │ │ │ │ │ │ ├─decorators │ │ │ │ │ │ │ MyDecorator.class │ │ │ │ │ │ │ │ │ │ │ │ │ ├─outtype │ │ │ │ │ │ │ MyOutput.class │ │ │ │ │ │ │ │ │ │ │ │ │ ├─template │ │ │ │ │ │ │ └─vo │ │ │ │ │ │ │ Model.hbm.txt │ │ │ │ │ │ │ Model.txt │ │ │ │ │ │ │ │ │ │ │ │ │ └─visitors │ │ │ │ │ │ VoProperty.class │ │ │ │ │ │ VoPropertyGetterSetter.class │ │ │ │ │ │ VoPropertyHbmXml.class │ │ │ │ │ │ │ │ │ │ │ └─simple │ │ │ │ │ │ ThemeConf.xml │ │ │ │ │ │ │ │ │ │ │ ├─actions │ │ │ │ │ │ GenAddPageAction.class │ │ │ │ │ │ GenBusinessEbiAction.class │ │ │ │ │ │ GenBusinessEboAction.class │ │ │ │ │ │ GenDaoDaoAction.class │ │ │ │ │ │ GenDaoImplAction.class │ │ │ │ │ │ GenDeletePageAction.class │ │ │ │ │ │ GenHbmXmlAction.class │ │ │ │ │ │ GenListPageAction.class │ │ │ │ │ │ GenQueryModelAction.class │ │ │ │ │ │ GenQueryPageAction.class │ │ │ │ │ │ GenSpring2XmlAction.class │ │ │ │ │ │ GenStruts2XmlAction.class │ │ │ │ │ │ GenUpdatePageAction.class │ │ │ │ │ │ GenVoAction.class │ │ │ │ │ │ GenWebActionAction.class │ │ │ │ │ │ GenWebModelAction.class │ │ │ │ │ │ │ │ │ │ │ ├─decorators │ │ │ │ │ ├─outputtypes │ │ │ │ │ │ MyOutput.class │ │ │ │ │ │ │ │ │ │ │ ├─template │ │ │ │ │ │ ├─business │ │ │ │ │ │ │ Ebi.txt │ │ │ │ │ │ │ Ebo.txt │ │ │ │ │ │ │ │ │ │ │ │ │ ├─dao │ │ │ │ │ │ │ DAO.txt │ │ │ │ │ │ │ H3Impl.txt │ │ │ │ │ │ │ │ │ │ │ │ │ ├─pages │ │ │ │ │ │ │ add.txt │ │ │ │ │ │ │ delete.txt │ │ │ │ │ │ │ list.txt │ │ │ │ │ │ │ query.txt │ │ │ │ │ │ │ update.txt │ │ │ │ │ │ │ │ │ │ │ │ │ ├─vo │ │ │ │ │ │ │ Model.hbm.txt │ │ │ │ │ │ │ Model.txt │ │ │ │ │ │ │ QueryModel.txt │ │ │ │ │ │ │ │ │ │ │ │ │ ├─web │ │ │ │ │ │ │ Action.txt │ │ │ │ │ │ │ WebModel.txt │ │ │ │ │ │ │ │ │ │ │ │ │ └─xmls │ │ │ │ │ │ applicationContext.txt │ │ │ │ │ │ struts.txt │ │ │ │ │ │ │ │ │ │ │ └─visitors │ │ │ │ │ AddPageInputs.class │ │ │ │ │ GenH3ImplPreparedHql.class │ │ │ │ │ GenH3ImplSetHqlValue.class │ │ │ │ │ GetterAndSetter.class │ │ │ │ │ HbmProperties.class │ │ │ │ │ ListPageTitles.class │ │ │ │ │ ListPageValues.class │ │ │ │ │ QmGetterAndSetter.class │ │ │ │ │ QmPropertiesDesign.class │ │ │ │ │ QueryPageInputs.class │ │ │ │ │ ToStringStr.class │ │ │ │ │ UpdatePageInputs.class │ │ │ │ │ VoPropertiesDesign.class │ │ │ │ │ │ │ │ │ └─xgenconfxml │ │ │ │ GenConf.xml │ │ │ │ MyThemeDepGenConf.xml │ │ │ │ MyThemeUserGenConf.xml │ │ │ │ │ │ │ └─com │ │ │ └─abc │ │ │ └─myproject │ │ │ ├─dep │ │ │ │ └─vo │ │ │ │ DepModel.class │ │ │ │ DepModel.hbm.xml │ │ │ │ │ │ │ └─user │ │ │ └─vo │ │ │ UserModel.class │ │ │ UserModel.hbm.xml │ │ │ │ │ ├─build │ │ │ └─com │ │ │ └─abc │ │ │ └─myproject │ │ │ ├─dep │ │ │ │ └─vo │ │ │ │ DepModel.hbm.xml │ │ │ │ DepModel.java │ │ │ │ │ │ │ └─user │ │ │ └─vo │ │ │ UserModel.hbm.xml │ │ │ UserModel.java │ │ │ │ │ ├─lib │ │ │ bsh-2.0b4.jar │ │ │ x-gen-no-themes.jar │ │ │ │ │ └─src │ │ ├─cn │ │ │ └─javass │ │ │ ├─test │ │ │ │ │ MyTest.java │ │ │ │ │ │ │ │ │ └─test │ │ │ ├─themes │ │ │ │ ├─mytheme │ │ │ │ │ │ ThemeConf.xml │ │ │ │ │ │ │ │ │ │ │ ├─actions │ │ │ │ │ │ VoAction.java │ │ │ │ │ │ VoHbmXmlAction.java │ │ │ │ │ │ │ │ │ │ │ ├─decorators │ │ │ │ │ │ MyDecorator.java │ │ │ │ │ │ │ │ │ │ │ ├─outtype │ │ │ │ │ │ MyOutput.java │ │ │ │ │ │ │ │ │ │ │ ├─template │ │ │ │ │ │ └─vo │ │ │ │ │ │ Model.hbm.txt │ │ │ │ │ │ Model.txt │ │ │ │ │ │ │ │ │ │ │ └─visitors │ │ │ │ │ VoProperty.java │ │ │ │ │ VoPropertyGetterSetter.java │ │ │ │ │ VoPropertyHbmXml.java │ │ │ │ │ │ │ │ │ └─simple │ │ │ │ │ ThemeConf.xml │ │ │ │ │ │ │ │ │ ├─actions │ │ │ │ │ GenAddPageAction.java │ │ │ │ │ GenBusinessEbiAction.java │ │ │ │ │ GenBusinessEboAction.java │ │ │ │ │ GenDaoDaoAction.java │ │ │ │ │ GenDaoImplAction.java │ │ │ │ │ GenDeletePageAction.java │ │ │ │ │ GenHbmXmlAction.java │ │ │ │ │ GenListPageAction.java │ │ │ │ │ GenQueryModelAction.java │ │ │ │ │ GenQueryPageAction.java │ │ │ │ │ GenSpring2XmlAction.java │ │ │ │ │ GenStruts2XmlAction.java │ │ │ │ │ GenUpdatePageAction.java │ │ │ │ │ GenVoAction.java │ │ │ │ │ GenWebActionAction.java │ │ │ │ │ GenWebModelAction.java │ │ │ │ │ │ │ │ │ ├─decorators │ │ │ │ ├─outputtypes │ │ │ │ │ MyOutput.java │ │ │ │ │ │ │ │ │ ├─template │ │ │ │ │ ├─business │ │ │ │ │ │ Ebi.txt │ │ │ │ │ │ Ebo.txt │ │ │ │ │ │ │ │ │ │ │ ├─dao │ │ │ │ │ │ DAO.txt │ │ │ │ │ │ H3Impl.txt │ │ │ │ │ │ │ │ │ │ │ ├─pages │ │ │ │ │ │ add.txt │ │ │ │ │ │ delete.txt │ │ │ │ │ │ list.txt │ │ │ │ │ │ query.txt │ │ │ │ │ │ update.txt │ │ │ │ │ │ │ │ │ │ │ ├─vo │ │ │ │ │ │ Model.hbm.txt │ │ │ │ │ │ Model.txt │ │ │ │ │ │ QueryModel.txt │ │ │ │ │ │ │ │ │ │ │ ├─web │ │ │ │ │ │ Action.txt │ │ │ │ │ │ WebModel.txt │ │ │ │ │ │ │ │ │ │ │ └─xmls │ │ │ │ │ applicationContext.txt │ │ │ │ │ struts.txt │ │ │ │ │ │ │ │ │ └─visitors │ │ │ │ AddPageInputs.java │ │ │ │ GenH3ImplPreparedHql.java │ │ │ │ GenH3ImplSetHqlValue.java │ │ │ │ GetterAndSetter.java │ │ │ │ HbmProperties.java │ │ │ │ ListPageTitles.java │ │ │ │ ListPageValues.java │ │ │ │ QmGetterAndSetter.java │ │ │ │ QmPropertiesDesign.java │ │ │ │ QueryPageInputs.java │ │ │ │ ToStringStr.java │ │ │ │ UpdatePageInputs.java │ │ │ │ VoPropertiesDesign.java │ │ │ │ │ │ │ └─xgenconfxml │ │ │ GenConf.xml │ │ │ MyThemeDepGenConf.xml │ │ │ MyThemeUserGenConf.xml │ │ │ │ │ └─com │ │ └─abc │ │ └─myproject │ │ ├─dep │ │ │ └─vo │ │ │ DepModel.hbm.xml │ │ │ DepModel.java │ │ │ │ │ └─user │ │ └─vo │ │ UserModel.hbm.xml │ │ UserModel.java │ │ │ └─x-gen │ │ .classpath │ │ .project │ │ │ ├─.settings │ │ org.eclipse.jdt.core.prefs │ │ │ ├─bin │ │ └─cn │ │ └─javass │ │ │ MyTest.class │ │ │ │ │ ├─themes │ │ │ └─simple │ │ │ │ ThemeConf.xml │ │ │ │ │ │ │ ├─actions │ │ │ │ GenBusinessEbiAction.class │ │ │ │ GenVoAction.class │ │ │ │ │ │ │ ├─decorators │ │ │ ├─template │ │ │ │ ├─business │ │ │ │ │ Ebi.txt │ │ │ │ │ │ │ │ │ └─vo │ │ │ │ Model.txt │ │ │ │ │ │ │ └─visitors │ │ │ VoPropertiesDesign.class │ │ │ │ │ ├─xgen │ │ │ ├─dispatch │ │ │ │ │ GenFacade.class │ │ │ │ │ │ │ │ │ ├─command │ │ │ │ │ CmdInvoker.class │ │ │ │ │ DefaultCommand.class │ │ │ │ │ GenCommand.class │ │ │ │ │ │ │ │ │ └─executechain │ │ │ │ DefaultHandler.class │ │ │ │ GenHandler.class │ │ │ │ │ │ │ ├─genconf │ │ │ │ │ GenConfEbi.class │ │ │ │ │ GenConfEbo.class │ │ │ │ │ GenConfFactory.class │ │ │ │ │ │ │ │ │ ├─confmanger │ │ │ │ │ ConfManager.class │ │ │ │ │ │ │ │ │ ├─constants │ │ │ │ │ ExpressionEnum.class │ │ │ │ │ GenConfEnum.class │ │ │ │ │ ModuleGenConfEnum.class │ │ │ │ │ ThemeEnum.class │ │ │ │ │ │ │ │ │ ├─implementors │ │ │ │ │ │ GenConfImplementor.class │ │ │ │ │ │ ModuleGenConfImplementor.class │ │ │ │ │ │ ThemeImplementer.class │ │ │ │ │ │ │ │ │ │ │ ├─dynamicparse │ │ │ │ │ │ BeanShellStrategy.class │ │ │ │ │ │ ParseContext.class │ │ │ │ │ │ ParseStrategy.class │ │ │ │ │ │ PropertyReplaceStrategy.class │ │ │ │ │ │ │ │ │ │ │ └─xmlimpl │ │ │ │ │ CommonBuilder.class │ │ │ │ │ GenConfBuilder.class │ │ │ │ │ GenConfXmlImpl.class │ │ │ │ │ ModuleGenConfBuilder.class │ │ │ │ │ ModuleGenConfXmlImpl.class │ │ │ │ │ ThemeBuilder.class │ │ │ │ │ ThemeXmlImpl.class │ │ │ │ │ │ │ │ │ └─vo │ │ │ │ ExtendConfModel.class │ │ │ │ GenConfModel.class │ │ │ │ GenTypeModel.class │ │ │ │ ModuleConfModel.class │ │ │ │ NeedGenModel.class │ │ │ │ ThemeModel.class │ │ │ │ │ │ │ ├─geninvocation │ │ │ │ │ BaseGenAction.class │ │ │ │ │ DefaultGenInvocation.class │ │ │ │ │ GenInvocation.class │ │ │ │ │ GenInvocationFactory.class │ │ │ │ │ │ │ │ │ ├─decorator │ │ │ │ │ DefaultComponent.class │ │ │ │ │ GenComponent.class │ │ │ │ │ GenDecorator.class │ │ │ │ │ ReadTemplateContent.class │ │ │ │ │ ReplaceMethods.class │ │ │ │ │ ReplaceProperty.class │ │ │ │ │ │ │ │ │ └─state │ │ │ │ DefaultBeginState.class │ │ │ │ GenState.class │ │ │ │ OutState.class │ │ │ │ State.class │ │ │ │ │ │ │ ├─genproxy │ │ │ │ DefaultProxy.class │ │ │ │ GenProxyFactory.class │ │ │ │ │ │ │ ├─mediator │ │ │ │ CoreMediator.class │ │ │ │ │ │ │ ├─output │ │ │ │ │ GenOutputEbi.class │ │ │ │ │ │ │ │ │ └─types │ │ │ │ │ OutputToConsole.class │ │ │ │ │ OutputToFile.class │ │ │ │ │ │ │ │ │ └─outputtofile │ │ │ │ │ AbstractFactory.class │ │ │ │ │ GenOutPathPackages.class │ │ │ │ │ Outter.class │ │ │ │ │ │ │ │ │ └─plaintxt │ │ │ │ GenOutPathPackageImpl.class │ │ │ │ OutterImpl.class │ │ │ │ PlainTxtFactory.class │ │ │ │ │ │ │ ├─template │ │ │ │ │ DefaultTemplateEbo.class │ │ │ │ │ TemplateEbi.class │ │ │ │ │ TemplateFactory.class │ │ │ │ │ │ │ │ │ ├─flyweight │ │ │ │ │ DefaultTemplate.class │ │ │ │ │ TemplateFlyweight.class │ │ │ │ │ TemplateFlyweightFactory.class │ │ │ │ │ │ │ │ │ └─visitors │ │ │ │ TemplateElement.class │ │ │ │ Visitor.class │ │ │ │ │ │ │ └─util │ │ │ ├─file │ │ │ │ FileHelper.class │ │ │ │ │ │ │ └─readxml │ │ │ Context.class │ │ │ ElementExpression.class │ │ │ ElementsExpression.class │ │ │ ElementsTerminalExpression.class │ │ │ ElementTerminalExpression.class │ │ │ ParseCaretaker.class │ │ │ ParseMemento.class │ │ │ ParseModel.class │ │ │ Parser$MementoImpl.class │ │ │ Parser.class │ │ │ Parser2.class │ │ │ PropertysTerminalExpression.class │ │ │ PropertyTerminalExpression.class │ │ │ ReadXmlExpression.class │ │ │ XmlUtil.class │ │ │ │ │ └─xgenconfxml │ │ GenConf.xml │ │ UserGenConf.xml │ │ │ ├─build │ ├─lib │ │ bsh-2.0b4.jar │ │ │ └─src │ └─cn │ └─javass │ │ MyTest.java │ │ │ ├─themes │ │ └─simple │ │ │ ThemeConf.xml │ │ │ │ │ ├─actions │ │ │ GenBusinessEbiAction.java │ │ │ GenVoAction.java │ │ │ │ │ ├─decorators │ │ ├─template │ │ │ ├─business │ │ │ │ Ebi.txt │ │ │ │ │ │ │ └─vo │ │ │ Model.txt │ │ │ │ │ └─visitors │ │ VoPropertiesDesign.java │ │ │ ├─xgen │ │ ├─dispatch │ │ │ │ GenFacade.java │ │ │ │ │ │ │ ├─command │ │ │ │ CmdInvoker.java │ │ │ │ DefaultCommand.java │ │ │ │ GenCommand.java │ │ │ │ │ │ │ └─executechain │ │ │ DefaultHandler.java │ │ │ GenHandler.java │ │ │ │ │ ├─genconf │ │ │ │ GenConfEbi.java │ │ │ │ GenConfEbo.java │ │ │ │ GenConfFactory.java │ │ │ │ │ │ │ ├─confmanger │ │ │ │ ConfManager.java │ │ │ │ │ │ │ ├─constants │ │ │ │ ExpressionEnum.java │ │ │ │ GenConfEnum.java │ │ │ │ ModuleGenConfEnum.java │ │ │ │ ThemeEnum.java │ │ │ │ │ │ │ ├─implementors │ │ │ │ │ GenConfImplementor.java │ │ │ │ │ ModuleGenConfImplementor.java │ │ │ │ │ ThemeImplementer.java │ │ │ │ │ │ │ │ │ ├─dynamicparse │ │ │ │ │ BeanShellStrategy.java │ │ │ │ │ ParseContext.java │ │ │ │ │ ParseStrategy.java │ │ │ │ │ PropertyReplaceStrategy.java │ │ │ │ │ │ │ │ │ └─xmlimpl │ │ │ │ CommonBuilder.java │ │ │ │ GenConfBuilder.java │ │ │ │ GenConfXmlImpl.java │ │ │ │ ModuleGenConfBuilder.java │ │ │ │ ModuleGenConfXmlImpl.java │ │ │ │ ThemeBuilder.java │ │ │ │ ThemeXmlImpl.java │ │ │ │ │ │ │ └─vo │ │ │ ExtendConfModel.java │ │ │ GenConfModel.java │ │ │ GenTypeModel.java │ │ │ ModuleConfModel.java │ │ │ NeedGenModel.java │ │ │ ThemeModel.java │ │ │ │ │ ├─geninvocation │ │ │ │ BaseGenAction.java │ │ │ │ DefaultGenInvocation.java │ │ │ │ GenInvocation.java │ │ │ │ GenInvocationFactory.java │ │ │ │ │ │ │ ├─decorator │ │ │ │ DefaultComponent.java │ │ │ │ GenComponent.java │ │ │ │ GenDecorator.java │ │ │ │ ReadTemplateContent.java │ │ │ │ ReplaceMethods.java │ │ │ │ ReplaceProperty.java │ │ │ │ │ │ │ └─state │ │ │ DefaultBeginState.java │ │ │ GenState.java │ │ │ OutState.java │ │ │ State.java │ │ │ │ │ ├─genproxy │ │ │ DefaultProxy.java │ │ │ GenProxyFactory.java │ │ │ │ │ ├─mediator │ │ │ CoreMediator.java │ │ │ │ │ ├─output │ │ │ │ GenOutputEbi.java │ │ │ │ │ │ │ └─types │ │ │ │ OutputToConsole.java │ │ │ │ OutputToFile.java │ │ │ │ │ │ │ └─outputtofile │ │ │ │ AbstractFactory.java │ │ │ │ GenOutPathPackages.java │ │ │ │ Outter.java │ │ │ │ │ │ │ └─plaintxt │ │ │ GenOutPathPackageImpl.java │ │ │ OutterImpl.java │ │ │ PlainTxtFactory.java │ │ │ │ │ ├─template │ │ │ │ DefaultTemplateEbo.java │ │ │ │ TemplateEbi.java │ │ │ │ TemplateFactory.java │ │ │ │ │ │ │ ├─flyweight │ │ │ │ DefaultTemplate.java │ │ │ │ TemplateFlyweight.java │ │ │ │ TemplateFlyweightFactory.java │ │ │ │ │ │ │ └─visitors │ │ │ TemplateElement.java │ │ │ Visitor.java │ │ │ │ │ └─util │ │ ├─file │ │ │ FileHelper.java │ │ │ │ │ └─readxml │ │ Context.java │ │ ElementExpression.java │ │ ElementsExpression.java │ │ ElementsTerminalExpression.java │ │ ElementTerminalExpression.java │ │ ParseCaretaker.java │ │ ParseMemento.java │ │ ParseModel.java │ │ Parser.java │ │ Parser2.java │ │ PropertysTerminalExpression.java │ │ PropertyTerminalExpression.java │ │ ReadXmlExpression.java │ │ XmlUtil.java │ │ │ └─xgenconfxml │ GenConf.xml │ UserGenConf.xml │ └─架构一代码和ppt ActiveMQ快速上手.pdf Git快速上手.pdf Maven补充.pdf Memcached快速上手.pdf MogileFS快速上手.pdf MongoDB快速上手.pdf Nginx快速上手.pdf Varnish快速上手.pdf 基本业务功能.pdf 基础业务的建表语句.sql 最终的project源码.rar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值