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