Java Web架构介绍.ppt
WEB架构介绍目录Web应用发展Java Web架构ServletJSPStrutsSpringMyBatisThriftCacheSOA静态站点静态站点制作个人主页,公司介绍等代表工具:Dreamweaver,FrontPage动态网站静态网站有哪些缺点?基于数据库技术的动态网页技术WEB技术的发展网页编程:CGIASP;ASP.NETPHP;Perl;Python当红明星:Ruby:Ruby on Rails(偶像派)Java/JSP/Servlet:Spring,Strtus2,Seam,Tapestry(实力派)后起之秀:Play!Groovy;Grails,Scala;LiftJ2EE发展历程SERVLETServlet简介Servlet是使用Java Servlet 应用程序设计接口(API)及相关类和方法的 Java 程序运行在 Web 服务器上的Java 服务器端程序与CGI区别Servlet是多线程的处理方式SERVLET流程JSPJSP(JavaServer Pages)是一种基于Java的脚本技术,动态生成HTML、XML或其他格式文档的Web网页的技术标准思考JSP/Servlet开发有哪些优点?存在什么问题?我们使用JSP/Servlet开发?还是其他?J2EE PATTERNJAVA WEBWEB体系结构表现层:JSP/Servlet,Struts,Spring MVC,JSF,Play!业务层:Spring,EJB Session Bean持久层:MyBatis,Hibernate,EJB Entity Bean服务层:SOA,RPCMVC MODEL1MVC MODEL2STRUTS基于Action 的框架 拥有由积极活跃的开发人员与用户组成的成熟社区 Annotation和XML配置选项 基于POJO 并易于测试的Action 与Spring,SiteMesh和Tiles的集成 与OGNL 表达式语言的集成 基于主题的标签库与Ajax 标签 多种视图选项(JSP,Freemarker,Velocity和XSLT)良好的模块化,可使用插件来扩展或修改框架特性完善的插件机制,丰富的插件资源,COC(Convention over Configration)支持BIG PICTURESPRINGJ2EE Development without EJBIoC:依赖倒置原理(Inversion of Control)AOP:面向切面编程(Aspect Oriented Programming)SPRING体系SPRING WEB APPLICATIONIOC好莱坞原则(Dont call me,Ill call you.)反向控制原则由框架调用应用代码、控制全局流程,应用代码不调用框架反向控制原则的普遍性,如EJB、Servlet、业务应用框架依赖注入(Dependency Injection)是Spring运用反向控制原则解决配置管理和对象关系管理的手段依赖注入的优势:代码简化配置方式统一不依赖特定框架或对象查找API自动化,显式表达依赖关系IOC CONTAINERAOPJava ProxyASMCGLIBJavassistAspectJAOP示意SPRING MVCMYBATISJDBC封装SQL Mapping半自动化ORM灵活,高性能JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。MYBATIS FLOWCACHE本地缓存EhCacheOSCacheJBossCache分布式缓存MemcachedMEMCACHEDSOASOA:面向服务的体系结构(Service-Oriented Architecture,SOA)是一个系统软件组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。RPC:远程过程调用(Remote Procedure Call)Java RPCRMIHessianTHRIFT出自Facebook跨语言,支持java,c+,php,python,ruby,c#.二进制协议良好的RPC框架实现ARCHITECTURERESOURCESCore J2EE PatternsApache Struts 2 DocumentationSpring Reference DocumentationMyBatisThriftMemcachedQ&AThx