基于SSH的web开发及JAVA技术选型
Download
Report
Transcript 基于SSH的web开发及JAVA技术选型
导师:王千祥
姓名:吴凌
邮箱:[email protected]
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 应用 开发新技术
Struts
VS servlet实例
MVC
Struts的MVC实现
Struts的核心技术
显示层Web框架选型
Login.jsp
Login_success.jsp
Login_error.jsp
Servlet
实现
Struts的实现
Action
ActionForm
Struts-config.xml
Struts
VS servlet实例
MVC
Struts的MVC实现
Struts的核心技术
显示层Web框架选型
Http Request
(Get, Post)
Browser
Http Response
Controller
调用
Forward
View
Model
获取
Struts
VS servlet实例
MVC
Struts的MVC实现
Struts的核心技术
显示层Web框架选型
Struts
VS servlet实例
MVC
Struts的MVC实现
Struts的核心技术
显示层Web框架选型
ActionForm
Action
Strut-config.xml
Struts
JSTL
I18N
Taglib
类
线程模式
Servlet 依赖
可测性
捕获输入
表达式语言
绑定值到页面(view)
类型转换
校验
Action执行的控制
Action
Struts
VS servlet实例
MVC
Struts的MVC实现
Struts的核心技术
显示层Web框架选型
JSF
Spring MVC
Stripes
Sturts1.x
Struts2.0
Tapestry
Wicket
Flex
GWT
Seam
Extjs
Ajax支持
维护性
可测试性
你项目的特性
国际化支持
社区和支持
可用的现成工具
就业机会
VS Hibernate实例对比
Hibernate 概念及其优势
Hibernate 核心知识
Hibernate注意事项
非Hibernate
非Hibernate
LogMessage.java
LogMessage.hbm.xml
hibernate.cfg.xml
LogMessageDAOImpl.java
VS Hibernate实例对比
Hibernate 概念及其优势
Hibernate 核心知识
Hibernate注意事项
非Hibernate
优势:
完全屏蔽sql,你操作的都是对象,面向对象的思想
得到了很好体现
对象中的继承等各种关系都可以表示出来,生成数
据库时候自动生成,数据库可以最后才有
通过hibernate层你可以进行很多优化,比如缓存,
懒加载等等
结论:Hibernate给我们提供了利用面向对象的思想
来操作关系型数据的接口,简单说就是一个O/R映
射框架
VS Hibernate实例对比
Hibernate 概念及其优势
Hibernate 核心知识
Hibernate注意事项
非Hibernate
Hibernate的对象生命周期
Hibernate基本映射
Hibernate高级映射
一对多
一对一
多对一
多对多
组合主键
集合映射
Hibernate的lazy和级联
Hibernate的继承策略
Hibernate悲观锁和乐观锁
HQL
Hibernate的缓存策略
Hibernate的Fetch策略
VS Hibernate实例对比
Hibernate 概念及其优势
Hibernate 核心知识
Hibernate注意事项
非Hibernate
千万注意对象化编程思想,先有对象,数据库
最后才有
SessionFactory的创建非常消耗资源,整个应
用一般只要一个SessionFactory就够了,只有
多个数据库的时候才会使用多SessionFactory。
在整个应用中,Session和事务应该能够统一管
理。(Spring为Hibernate提供了非常好的支持)
将所有的集合属性配置设置为懒加载
(lazy=”true”)。在hibernate2.x版本中,
lazy默认值是“false”,但hibernate3.x已经将
lazy的默认改为“true”了。
在定义关联关系时,集合首选Set,如果集合中
的实体存在重复,则选择List(在定义配置文
件时,可以将List定义为bag),数组的性能最
差。
HQL子句本身大小写无关,但是其中出现的类
名和属性名必须注意大小写区分。
如果要精通Hibernate,熟练掌握关系数据库理
论和SQL是前提条件
不用Spring
和使用Spring实例对比
Spring AOP和IOC DI
Spring 主要用途
在配置文件中配置一下,所有dao的实现中都
可以省略掉一些相同代码
Crossing
cutting concern
Aspect
Advice
JoinPoint
pointcut
IUserManager.java
IMySecurityManager.java
MySecurityManagerImpl.java
利用Spring来创建对象(JavaBean工厂)
利用Spring构建业务逻辑层
管理依赖关系
适应需求变更
利用Spring进行事务处理
几点技巧:
包结构
增删改查的改进
Web 新技术带来另类开发体验
(一个企业级的web系统您还需要以下技术)
Extjs、Jquery、Struts
Velocity
& Freemaker
Oscache
DWR
Hibernate
& Ibatis
Spring
JBPM
Lucene
& Compass
Junit
第三方库
演示:Sample与实际系统演示
优点:
css样式不用自己写,其界面美观程度,一直在榜首
, UI组件非常丰富,直接使用即可
跨浏览器支持好,基本上所有浏览器都支持
分层分得好,后台代码可以是Java,C#,PHP
动画效果非常不错
缺点:
速度性能调优需要丰富经验
适用:OA,ERP,CRM,MIS(北大很多系统都
用它)
不适用于:门户,内容页面
及 页面缓存
OSCACHE:主要做缓存,常应用于一些不变的
页面,或者变化非常少的页面
Freemaker:思想是:模板+数据=输出,常用
于静态化页面或者一些邮件等群发的内容。
例子:邮件群发
演示:Online
IDE & 反向Ajax演示
特点:
直接可以在Javascript中调用后台java代码
无刷新页面切换
反向Ajax
缺点:
配置文件增多
演示:实际系统中的JBPM应用
优点:
解耦系统流程:以往编写web
程序只能有一个
流程,现在流程可以自己定义(最终是一个
xml文件),具体流程处理可以写相应模块完
成。
适用范围:
项目流程比较多,流程复杂的项目
系统运行和维护、升级时,流程可能需要修改、调
整和跟踪、控制的项目
代码展示
优点:
JDK规范
底层ORM框架自由切换
缺点:
有些ORM框架特性不支持
Lucene主要用于做搜索引擎:文本解析、分词
、索引、搜索、高亮
Lucene+Compass:主要用于全文检索
演示:搜索引擎&Eclipse Help
演示:自主开发的一个辅助工具,目前还在完
善功能中。
优点:
项目规范化
加速项目开发
不容易出错
减少一些黏贴复制操作
缺点:
需要为每个项目特别定制
集成了框架:Hibernate、Struts、Spring、
DBUnit、Ant、Log4J、Struts Menu、Xdoclet
、SiteMesh、Velocity、JUnit、JSTL、
WebWork
优势:无需自己去配置集成,初学者可以阅读
缺点:可控性差,一般企业自己的项目不可能
采用其开发
云计算和手机3G网络的提出使得越来越多程序软
件开始迁移到web中去,web中拥有无限的学术价
值和商业价值,掌握好web技术,您的机会也无限。