三大框架笔记.doc_第1页
三大框架笔记.doc_第2页
三大框架笔记.doc_第3页
三大框架笔记.doc_第4页
三大框架笔记.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一,Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块,具有简单性,可测试性和松耦合特点.使用JavaBean替代EJB.Spring是一个轻量级的控制反转IoC(Inversion of Control)和面向切面的容器框架.控制反转是容器控制程序,依赖注入是由容器动态的将某种依赖关系注入到组件之中.依赖注入减轻了组件之间的依赖关系,提高了组件之间的可移植性.依赖注入有三种方式:接口注入,设值方法注入,构造子注入.Spring Web MVC 处理Http请求的大致过程:一旦Http请求到来,DispatcherSevlet负责将请求分发。DispatcherServlet可以认为是Spring提供的前端控制器,所有的请求都有经过它来统一分发。在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。HandlerMapping是这样一种对象,它能够完成客户请求到Controller之间的映射。在Struts中,这种映射是通过struts-config.xml文件完成的。其中,Spring为Controller接口提供了若干实现,例如Spring默认使用的BeanNameUrlHandlerMapping。还有,SimpleUrlHandlerMapping,CommonsPathMapHandlerMapping。Spring Controller将处理来自DispatcherServlet的请求。Spring的Controller类似于struts的Action,能够接受HttpServletRequest和HttpServletResponse。Spring为Controller接口提供了若干实现类,位于org.springframework.web.servlet.mvc包中。由于Controller需要为并发用户处理上述请求,因此实现Controller接口时,必须保证线程安全并且可重用。Controller将处理客户请求,这和Struts Action 扮演的角色是一致的。一旦Controller处理完客户请求,则返回ModelAndView对象给DispatcherServlet前端控制器。ModelAndView中包含了模型(Model)和视图(View)。从宏观角度考虑,DispatcherServlet是整个Web应用的控制器;从微观角度考虑,Controller是单个Http请求处理过程中的控制器,而ModelAndView是Http请求过程中返回的模型和视图。前端控制器返回的视图可以是视图的逻辑名,或者实现了View接口的对象。View对象能够渲染客户响应结果。其中,ModelAndView中的模型能够供渲染View时使用。借助于Map对象能够存储模型。如果ModelAndView返回的视图只是逻辑名,则需要借助Spring提供的视图解析器(ViewResoler)在Web应用中查找View对象,从而将响应结果渲染给客户。DispatcherServlet将View对象渲染出的结果返回个客户。SpringMVC-mvc.xml 配置文件 扫描指定的包中的类上的注解,常用的注解有:Controller 声明Action组件Service 声明Service组件 Service(myMovieLister) Repository 声明Dao组件Component 泛指组件, 当不好归类时. RequestMapping(/menu) 请求映射Resource 用于注入,( j2ee提供的 ) 默认按名称装配,Resource(name=beanName) Autowired 用于注入,(srping提供的) 默认按类型装配 Transactional( rollbackFor=Exception.class) 事务管理ResponseBodyScope(prototype) 设定bean的作用域Spring代码: default *.jpg 二,Struts2struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说struts2是struts1和Webwork结合的产物,在WebWork基础上构建的MVC框架. struts2的工作原理图:一个请求在Struts2框架中的处理分为以下几个步骤:1.客户端发出一个指向servlet容器的请求(tomcat);2.这个请求会经过图中的几个过滤器,最后会到达FilterDispatcher过滤器。3.过滤器FilterDispatcher是struts2框架的心脏,在处理用户请求时,它和请求一起相互配合访问struts2 的底层框架结构。在web容器启动时,struts2框架会自动加载配置文件里相关参数,并转换成相应的类。 如:ConfigurationManager、ActionMapper和ObjectFactory。ConfigurationManager 存有配置文件的一 些基本信息,ActionMapper存有action的配置信息。在请求过程中所有的对象(Action,Results, Interceptors,等)都是通过ObjectFactory来创建的。过滤器会通过询问ActionMapper类来查找请求中 需要用到的Action。4.如果找到需要调用的Action,过滤器会把请求的处理交给ActionProxy。ActionProxy为Action的代理对象 。ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类。5.ActionProxy创建一个ActionInvocation的实例。ActionInvocation在ActionProxy层之下,它表示了 Action的执行状态,或者说它控制的Action的执行步骤。它持有Action实例和所有的Interceptor。 6.ActionInvocation实例使用命名模式来调用,1. ActionInvocation初始化时,根据配置,加载Action相 关的所有Interceptor。2. 通过ActionInvocation.invoke方法调用Action实现时,执行Interceptor。在 调用Action的过程前后,涉及到相关拦截器(intercepetor)的调用。7. 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果 通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。四,ShiroShiro是Apache公司提供的开源框架,用于处理身份认证,授权,企业会话的加密.Shiro提供的功能有:验证用户,对用户执行访问控制,可以使用多个数据源,单点登录.与Spring Security提供的功能差不多.Java利用Filter,Xml文件和用户信息表配合使用来实现权限处理.C语言指针的表示:类型说明符 * 函数名(参数) eg:int * getDate(int wk,int dy).五,通讯协议协议是用来描述进程之间的信息交换过程的术语.协议包含语义,语法,定时三部分.语义规定了要讲得到内容,执行的行动和返回的应答.语法规定了如何去讲,数据传输和控制信息的格式.定时规定了信息交流的次序.物理层:物理设备之间的接口连接,数据链路层:在物理层的比特流基础上,建立相邻节点之间的数据链路.传送数据帧.网络层:在通讯子网传输信息包或报文分组.P2P:终端用户之间传送数据不经过服务器的技术.端到端传输指链路建立以后,发送端发送数据,直到数据发送完毕,接收端接收成功.优点是发送端知道接收端一定可以接收到信息,网络传送延迟小.缺点是浪费资源.点到点是指发送端把数据传输到其他相连设备,这台设备在合适的时候可以讲数据传输到下一台相连的设备.优点是发送端发送数据后不必参与整个过程,不会造成资源浪费,且即使接收端关闭,点到点也可以实现.缺点是发送端不知道接收端是否已经接收到数据.TCP/IP协议目的是解决异种计算机之间网络通讯问题,为用户提供通用的一直的通讯服务.其主要提供两种服务:无连接报文分组递送服务和面向连接可靠的数据流传送服务子网掩码:拓宽了IP地址的网络标识部分,将大的网络分为几个小的子网,有效的利用了IP地址资源.通过路由器的访问控制,路由定向,可以有效的减轻网络的交通拥挤.IP路由:搜索路由,寻找与目的IP地址,目的网络号完全匹配的表目.传输层协议包含TCP协议和UDP协议.TCP协议是一个可靠的,面向连接的协议.允许网络上两台主机无差错的传输,TCP还进行流量控制,以避免因发生过快而发生拥挤,对用户是透明的.UDP协议采用无连接的方式,不管发送的数据包是否到达目的主机,是否出错,收到数据的主机都不会告诉发送方是否准确.它的可靠性是由上层协议来保障的.六,综合JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA框架中支持大数据集、事务、并发等容器级事务,这使得 JPA 超越了简单持久化框架的局限,在企业应用发挥更大的作用。JPA是标准,Hibernate是框架,JPA是SUN公司推出的持久化规范(java persistens api),Hibernate只是实现了JPA而已.企业资源计划即ERP(Enterprise Resource Plan).企业资源计划是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台。ERP具有整合性、系统性、灵活性、实时控制性等显著特点。ERP系统的供应链管理思想对企业提出了更高的要求,是企业在信息化社会、在知识经济时代繁荣发展的核心管理模式。数据的运算是在数据的逻辑结构上定义的操作算法,如检索、插入、删除、更新和排序等。数据结构是指同一数据元素类中各数据元素之间存在的关系。数据结构分别为逻辑结构、存储结构(物理结构)和数据的运算。数据的逻辑结构是对数据之间关系的描述,有时就把逻辑结构简称为数据结构。数组 (Array)在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。栈 (Stack)是只能在某一端插入和删除的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。队列 (Queue)一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列是按照“先进先出”或“后进后出”的原则组织数据的。队列中没有元素时,称为空队列。链表 (Linked List)是一种物理存储单元上非连续、非顺序的存储结构,它既可以表示线性结构,也可以用于表示非线性结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。树 (Tree)是包含n(n0)个结点的有穷集合K,且在K中定义了一个关系N,N满足 以下条件:(1)有且仅有一个结点 K0,他对于关系N来说没有前驱,称K0为树的根结点。简称为根(root)。 (2)除K0外,K中的每个结点,对于关系N来说有且仅有一个前驱。(3)K中各结点,对关系N来说可以有m个后继(m=0)。图 (Graph)图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。堆 (Heap)堆是一种特殊的树形数据结构,每个结点都有一个值。通常我们所说的堆的数据结构,是指二叉堆。堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。散列表 (Hash)若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数(Hash function),按这个思想建立的表为散列表。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)Java 开发框架,控制反转Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。Struts2服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。struts可以清晰地区分控制,事务逻辑和外观,从而简化了开发应用程序的过程。struts提供的类使得开发工作更加简单,这些类包括:Model部分由JavaBean组成,ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。View部分该部分采用JSP实现。Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。Controller组件Controller组件有两个部分组成系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。struts2是struts1和Webwork结合的产物。 struts2 的工作原理图:一个请求在Struts2框架中的处理分为以下几个步骤:1.客户端发出一个指向servlet容器的请求(tomcat);2.这个请求会经过图中的几个过滤器,最后会到达FilterDispatcher过滤器。3.过滤器FilterDispatcher是struts2框架的心脏,在处理用户请求时,它和请求一起相互配合访问struts2 的底层框架结构。在web容器启动时,struts2框架会自动加载配置文件里相关参数,并转换成相应的类。 如:ConfigurationManager、ActionMapper和ObjectFactory。ConfigurationManager 存有配置文件的一 些基本信息,ActionMapper存有action的配置信息。在请求过程中所有的对象(Action,Results, Interceptors,等)都是通过ObjectFactory来创建的。过滤器会通过询问ActionMapper类来查找请求中 需要用到的Action。4.如果找到需要调用的Action,过滤器会把请求的处理交给ActionProxy。ActionProxy为Action的代理对象 。ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类。5.ActionProxy创建一个ActionInvocation的实例。ActionInvocation在ActionProxy层之下,它表示了 Action的执行状态,或者说它控制的Action的执行步骤。它持有Action实例和所有的Interceptor。 6.ActionInvocation实例使用命名模式来调用,1. ActionInvocation初始化时,根据配置,加载Action相 关的所有Interceptor。2. 通过ActionInvocation.invoke方法调用Action实现时,执行Interceptor。在 调用Action的过程前后,涉及到相关拦截器(intercepetor)的调用。7. 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果 通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库利用PL/SQL Developer和BIEE开发工具.按业务部门给出的相关映射规则,编写SQL语句和存储过程.从Linux服务器上读取数据.按银行业务类型提取数据并开发相应接口,将数据按缓冲层,整合层,应用层,产品层一步步导入,分类,整合.然后利用公司ETL平台按不同业务进行跑批操作.跑批时需要导入市场利率曲线,跑批完成后会得到各个业务FTP定价结果集.最后,利用Oracle公司的BIEE报表开发工具,按银行给出表格规范要求将数据以报表的直观形式展现出来.IBM WebSphere 是因特网的基础架构软件,也就是我们所说的中间件。它使企业能够开发、部署和集成新一代电子商务应用(如 B2B 的电子交易),并且支持从简单的 Web 发布到企业级事务处理的商务应用。WebSphere 转变了企业对客户、合作伙伴及雇员之间关系的管理方式。例如您可以通过它提高站点传输数据的数量和质量,从而大幅提升您的Web应用的性能,并将扩展的应用程序与移动设备相结合,让销售队伍能够为客户提供更快捷的服务,或者构建电子市场以降低资源获取的成本。WebSphere Application Server 是一个基于 Java 的 Web 应用程序服务器,它构建在开放标准的基础之上,能帮助您部署与管理从简单的 Web 站点到强大的电子商务解决方案的诸多应用程序。 它遵循 J2EE 并为 Java 组件、 XML 和 Web 服务提供了一个可移植的 Web部署平台,这个平台能够与数据库交互并提供动态 Web 内容。WebLobic Server 是美国BEA公司开发的一个业界领先的应用服务器。一、Spring MVC工作原理1. 客户端请求提交到DispatcherServlet2. 由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller3. DispatcherServlet将请求提交到Controller4. Controller调用业务逻辑处理后,返回ModelAndView5. DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图6. 视图负责将结果显示到客户端二、为什么要用Spring 1、Spring能很好的与各大框架进行集成2、创建对象时,如果我们不用spring需要用工厂模式来创建,这个spring相当于工厂模式已经帮我们做了创建对象的功能(IOC、依赖注入)。3、在用Hibernate的时候,如果不用spring每次都要写事务的提交代码,有了spring可以通过AOP帮助我们管理事务 4、面向切面编程(AOP)在要记录日志的时候添加一条记录后需要在数据里同时添加一条添加成功了或失败的记录,那么就可以用Spring的Aop来处理,虽然不用Aop也能做但是不用Spring的Aop就会写很多重复的代码。三、请你谈谈SSH整合 SSH:Struts(表示层)+Hibernate(持久层)+Spring(业务层)a、Strut

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论