资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2,*,WEB,架构介绍,1,2,目录,Web,应用发展,Java Web,架构,Servlet,JSP,Struts,Spring,MyBatis,Thrift,Cache,SOA,2,2025/4/30 周三,静态站点,制作个人主页,公司介绍等,代表工具:,Dreamweaver,,,FrontPage,3,2025/4/30 周三,动态网站,静态网站有哪些缺点?,基于数据库技术的动态网页技术,4,2025/4/30 周三,WEB,技术的发展,网页编程:,CGI,ASP;ASP.NET,PHP;Perl;Python,当红明星:,Ruby:Ruby on Rails,(偶像派),Java/JSP/Servlet:Spring,Strtus2,Seam,Tapestry,(实力派),后起之秀:,Play!,Groovy;Grails,Scala;Lift,5,2025/4/30 周三,J2EE,发展历程,6,2025/4/30 周三,Servlet,Servlet,简介,Servlet,是使用,Java Servlet,应用程序设计接口(,API,)及相关类和方法的,Java,程序,运行在,Web,服务器上的,Java,服务器端程序,与,CGI,区别,Servlet,是多,线程的,处理方式,7,2025/4/30 周三,Servlet,流程,8,2025/4/30 周三,JSP,JSP,(,JavaServer Pages,)是一种基于,Java,的脚本技术,动态生成,HTML,、,XML,或其他格式文档的,Web,网页的技术标准,9,2025/4/30 周三,思考,JSP/Servlet,开发有哪些优点?存在什么问题?,我们使用,JSP/Servlet,开发?,还是,其他?,10,2025/4/30 周三,J2EE,Pattern,11,2025/4/30 周三,Java WEB,12,2025/4/30 周三,WEB,体系结构,表现层:,JSP/Servlet,,,Struts,,,Spring MVC,,,JSF,,,Play!,业务层:,Spring,,,EJB Session Bean,持久层:,MyBatis,,,Hibernate,,,EJB,Entity,Bean,服务,层:,SOA,,,RPC,13,2025/4/30 周三,MVC,Model1,14,2025/4/30 周三,MVC,Model2,15,2025/4/30 周三,Struts,基于,Action,的框架,拥有,由积极活跃的开发人员与用户组成的成熟社区,Annotation,和,XML,配置选项,基于,POJO,并易于测试的,Action,与,Spring,,,SiteMesh,和,Tiles,的,集成,与,OGNL,表达式语言的集成,基于,主题的标签库与,Ajax,标签,多种,视图选项,(JSP,,,Freemarker,,,Velocity,和,XSLT),良好的,模块化,可,使用,插件来扩展或修改框架,特性,完善的插件机制,丰富的插件,资源,,COC,(,Convention over Configration,)支持,16,2025/4/30 周三,Big Picture,17,2025/4/30 周三,Spring,J2EE Development without EJB,IoC,:依赖倒置原理(,Inversion of Control,),AOP,:面向切面编程(,Aspect Oriented Programming,),18,2025/4/30 周三,Spring,体系,19,2025/4/30 周三,Spring Web Application,20,2025/4/30 周三,IOC,好莱坞原则(,Dont call me,Ill call you.,),反向控制原则,由框架调用应用代码、控制全局流程,应用代码不调用框架,反向控制原则的普遍性,如,EJB,、,Servlet,、业务应用框架,依赖注入(,Dependency Injection,)是,Spring,运用反向控制原则解决配置管理和对象关系管理的手段,依赖注入的优势,:,代码简化,配置方式统一,不依赖特定框架或对象查找,API,自动化,显式表达依赖关系,21,2025/4/30 周三,IoC Container,22,2025/4/30 周三,AOP,Java Proxy,ASM,CGLIB,Javassist,AspectJ,23,2025/4/30 周三,AOP,示意,24,2025/4/30 周三,Spring MVC,25,2025/4/30 周三,Mybatis,JDBC,封装,SQL Mapping,半自动化,ORM,灵活,高性能,JDBC,(,Java Data Base Connectivity,java,数据库连接)是一种用于执行,SQL,语句的,Java API,,可以为多种关系数据库提供统一访问,它由一组用,Java,语言编写的类和接口组成。,26,2025/4/30 周三,MyBatis Flow,27,2025/4/30 周三,Cache,本地缓存,EhCache,OSCache,JBossCache,分布式缓存,Memcached,28,2025/4/30 周三,Memcached,29,2025/4/30 周三,SOA,SOA,:面向服务的体系结构(,Service-Oriented Architecture,,,SOA,)是一个系统软件组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。,RPC,:远程过程调用(,Remote Procedure Call,),Java RPC,RMI,Hessian,30,2025/4/30 周三,Thrift,出自,Facebook,跨语言,支持,java,,,c+,,,php,,,python,,,ruby,,,c#.,二进制协议,良好的,RPC,框架实现,31,2025/4/30 周三,Architecture,32,2025/4/30 周三,Resources,Core J2EE,Patterns,Apache Struts 2 Documentation,Spring Reference Documentation,MyBatis,Thrift,Memcached,33,2025/4/30 周三,Q&A,Thx,34,2025/4/30 周三,
展开阅读全文