1 / 56

基于 SSH 的 web 开发 AND 企业 级 WEB 应用开发新技术

基于 SSH 的 web 开发 AND 企业 级 WEB 应用开发新技术. 导师:王千祥 姓名:吴凌 邮箱: wuling07@sei.pku.edu.cn. OUTLIne. SSH 整体结构 STRUTS Servlet VS Struts 实例 MVC Struts 的 MVC 实现 Struts 的核心技术 显示层 Web 框架选型 HIBERNATE 非 Hibernate VS Hibernate 实例对比 Hibernate 概念及其优势 Hibernate 核心知识 Hibernate 注意事项 SPRING

melchior
Télécharger la présentation

基于 SSH 的 web 开发 AND 企业 级 WEB 应用开发新技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 基于SSH的web开发AND企业级WEB应用开发新技术 导师:王千祥 姓名:吴凌 邮箱:wuling07@sei.pku.edu.cn

  2. OUTLIne • SSH整体结构 • STRUTS • Servlet VS Struts 实例 • MVC • Struts的MVC实现 • Struts的核心技术 • 显示层Web框架选型 • HIBERNATE • 非Hibernate VS Hibernate实例对比 • Hibernate 概念及其优势 • Hibernate 核心知识 • Hibernate注意事项 • SPRING • 不用Spring 和实用Spring实例对比 • Spring AOP实现 • Spring 主要用途 • Demo 类似淘宝电子商务网站的后台的一个产品分类功能模块 • 企业级Web 应用 开发新技术

  3. SSH整体结构

  4. Struts outline • Struts VS servlet实例 • MVC • Struts的MVC实现 • Struts的核心技术 • 显示层Web框架选型

  5. Struts VS servlet实例 (一) • Login.jsp

  6. Struts VS servlet实例 (二) • Login_success.jsp • Login_error.jsp

  7. Struts VS servlet实例 (三) • Servlet 实现

  8. Struts VS servlet实例 (四) • Struts的实现 • Action • ActionForm

  9. Struts VS servlet实例 (五) • Struts-config.xml

  10. Struts outline • Struts VS servlet实例 • MVC • Struts的MVC实现 • Struts的核心技术 • 显示层Web框架选型

  11. MVC

  12. Struts outline • Struts VS servlet实例 • MVC • Struts的MVC实现 • Struts的核心技术 • 显示层Web框架选型

  13. Struts的MVC实现

  14. Struts outline • Struts VS servlet实例 • MVC • Struts的MVC实现 • Struts的核心技术 • 显示层Web框架选型

  15. Struts的核心技术 • ActionForm • Action • Strut-config.xml • Struts Taglib • JSTL • I18N

  16. Struts1 VS Struts2的区别 • Action 类 • 线程模式 • Servlet 依赖 • 可测性 • 捕获输入 • 表达式语言 • 绑定值到页面(view) • 类型转换 • 校验 • Action执行的控制

  17. Struts outline • Struts VS servlet实例 • MVC • Struts的MVC实现 • Struts的核心技术 • 显示层Web框架选型

  18. 显示层Web框架选型 • JSF • Spring MVC • Stripes • Sturts1.x • Struts2.0 • Tapestry • Wicket • Flex • GWT • Seam • Extjs

  19. 选择?

  20. 选择的因素 • Ajax支持 • 维护性 • 可测试性 • 你项目的特性 • 国际化支持 • 社区和支持 • 可用的现成工具 • 就业机会

  21. HIBERNATE Outline • 非Hibernate VS Hibernate实例对比 • Hibernate 概念及其优势 • Hibernate 核心知识 • Hibernate注意事项

  22. 非Hibernate VS Hibernate实例对比 • 非Hibernate

  23. Hibernate实例(一) • LogMessage.java

  24. Hibernate实例(二) • LogMessage.hbm.xml

  25. Hibernate实例(三) • hibernate.cfg.xml

  26. Hibernate实例(四) • LogMessageDAOImpl.java

  27. HIBERNATE Outline • 非Hibernate VS Hibernate实例对比 • Hibernate 概念及其优势 • Hibernate 核心知识 • Hibernate注意事项

  28. Hibernate 概念及其优势 • 优势: • 完全屏蔽sql,你操作的都是对象,面向对象的思想得到了很好体现 • 对象中的继承等各种关系都可以表示出来,生成数据库时候自动生成,数据库可以最后才有 • 通过hibernate层你可以进行很多优化,比如缓存,懒加载等等 结论:Hibernate给我们提供了利用面向对象的思想来操作关系型数据的接口,简单说就是一个O/R映射框架

  29. HIBERNATE Outline • 非Hibernate VS Hibernate实例对比 • Hibernate 概念及其优势 • Hibernate 核心知识 • Hibernate注意事项

  30. Hibernate 核心知识(一)

  31. Hibernate 核心知识(二) • Hibernate的对象生命周期 • Hibernate基本映射 • Hibernate高级映射 • 一对多 • 一对一 • 多对一 • 多对多 • 组合主键 • 集合映射 • Hibernate的lazy和级联 • Hibernate的继承策略 • Hibernate悲观锁和乐观锁 • HQL • Hibernate的缓存策略 • Hibernate的Fetch策略

  32. HIBERNATE Outline • 非Hibernate VS Hibernate实例对比 • Hibernate 概念及其优势 • Hibernate 核心知识 • Hibernate注意事项

  33. Hibernate注意事项(一) • 千万注意对象化编程思想,先有对象,数据库最后才有 • SessionFactory的创建非常消耗资源,整个应用一般只要一个SessionFactory就够了,只有多个数据库的时候才会使用多SessionFactory。 • 在整个应用中,Session和事务应该能够统一管理。(Spring为Hibernate提供了非常好的支持) • 将所有的集合属性配置设置为懒加载(lazy=”true”)。在hibernate2.x版本中,lazy默认值是“false”,但hibernate3.x已经将lazy的默认改为“true”了。

  34. Hibernate注意事项(二) • 在定义关联关系时,集合首选Set,如果集合中的实体存在重复,则选择List(在定义配置文件时,可以将List定义为bag),数组的性能最差。 • HQL子句本身大小写无关,但是其中出现的类名和属性名必须注意大小写区分。 • 如果要精通Hibernate,熟练掌握关系数据库理论和SQL是前提条件

  35. Spring outline • 不用Spring 和使用Spring实例对比 • Spring AOP和IOC DI • Spring 主要用途

  36. 不用Spring(一)

  37. 加Spring进行改进(一) • 在配置文件中配置一下,所有dao的实现中都可以省略掉一些相同代码

  38. 不用Spring(二)

  39. 不用Spring(二)

  40. Spring 的AOP实现(一) • Crossing cutting concern • Aspect • Advice • JoinPoint • pointcut

  41. Spring 的AOP实现(二) • IUserManager.java • IMySecurityManager.java

  42. Spring 的AOP实现(三) • MySecurityManagerImpl.java

  43. Spring 主要用途 • 利用Spring来创建对象(JavaBean工厂) • 利用Spring构建业务逻辑层 • 管理依赖关系 • 适应需求变更 • 利用Spring进行事务处理

  44. Demo 类似淘宝电子商务网站的后台的一个产品分类功能模块 • 几点技巧: • 包结构 • 增删改查的改进

  45. Web 新技术带来另类开发体验 (一个企业级的web系统您还需要以下技术)

  46. 做一个企业级开发需要用到的技术 • Extjs、Jquery、Struts • Velocity & Freemaker • Oscache • DWR • Hibernate & Ibatis • Spring • JBPM • Lucene & Compass • Junit • 第三方库

  47. Web 新技术之 Extjs • 演示:Sample与实际系统演示 • 优点: • css样式不用自己写,其界面美观程度,一直在榜首, UI组件非常丰富,直接使用即可 • 跨浏览器支持好,基本上所有浏览器都支持 • 分层分得好,后台代码可以是Java,C#,PHP • 动画效果非常不错 • 缺点: • 速度性能调优需要丰富经验 • 适用:OA,ERP,CRM,MIS(北大很多系统都用它) • 不适用于:门户,内容页面

  48. Web 新技术之 Freemaker & OSCAche • 例子:邮件群发 及 页面缓存 • OSCACHE:主要做缓存,常应用于一些不变的页面,或者变化非常少的页面 • Freemaker:思想是:模板+数据=输出,常用于静态化页面或者一些邮件等群发的内容。

  49. Web 新技术之 DWR • 演示:Online IDE & 反向Ajax演示 • 特点: • 直接可以在Javascript中调用后台java代码 • 无刷新页面切换 • 反向Ajax • 缺点: • 配置文件增多

More Related