Struts2最强最精华课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HttpSession
HttpSession中存放的是session数据区的数据;
Servlet容器为每个http会话创建一个HttpSession实例;
ServletContext
ServletContext中存放的是application数据区的数据;
16
Struts2架构
4-响 应 Web应 用 系 统
本质:其实就是用JSP页面处理所有功能 优点:结构简单,容易入门 缺点:JSP页面中编写大量Java代码,程序异常复杂
19
1.2、JSP编程模式2
应用服务器 Web浏览器 1-请求 Servlet控制器 2-实例化 JavaBean业务逻辑代码 3 4 数据库
事件
MVC处理流程:
MVC需要解决的问题:
问题1-控制器:web请求URL和控制器之间对应关系 问题2-控制器:控制器和返回结果之间对应关系 问题3-控制器:如何访问request、session和 application数据区
步1:控制器接受用户的请求,并 调用模型进行业务处理
Struts2
Copyright Tarena Corporation, 2008. All rights reserved.
1
讲师简介 讲师姓名:王东恩
邮箱:wangdongeng@sohu.com
博客:http://blog.sina.com.cn/wangdongeng
教育背景
9
控制器:连接用户界面和模型的桥梁
拦截器:增强控制器功能的工具
我对Struts的理解 Struts2 = Struts1的市场+WebWork的技术 市场 >>> 技术? 学习技术的原则:最高市场占有率的、最新技术
软件开发中的市场:
为什么学习Java? 选择参与什么样的项目?
14
Servlet响应用户请求的过程
浏览器 请求 响应 Servlet容器 (Tomcat) ServletRequest ServletResponse Servlet
步1:当用户访问servlet时,servlet容器创建 ServletRequest和ServletResponse,其中ServletRequest 中包含用户请求数据;
10
Struts课程辅助教材
Struts 官方资料
点评:极其重要,最权威,最完整
李刚《Struts 2.1权威指南-基于WebWork核心的MVC开发》(2009)
点评:通俗易懂,案例详尽;入门级教材;本课程的辅导教材
孙鑫《Struts2深入详解》(2008)
点评:通俗易懂,稍有深度;入门级教材;本课程的辅导教材
2002 清华大学软件学院 软件工程本科学位 1998 扬州大学工学院 无线电本科学位
项目经历
2009.11-2011.04:民生/兴业银行核心系统再造 2007.05-2009.10:农业银行总行资金交易管理系统 2006.05-2007.04:易方达固定收益证券投资分析系统
2004.09-2005.12:中央政府债券簿记三期项目
2002.02-2002.11:中国债券信息网二期项目
2
讲课思路
培训目的:入职培训,重掌握编程思想、重培养动手能力
学历教育 PK 能力教育
一个课程,一个项目工程
工程要求1:统一开发工具以及开发环境配置 工程要求2:代码必须遵守Sun标准规范,养成良好代码习惯
20
2、MVC设计模式
控制器
1、用户请求 1、定义请求映射:响应请求,映射请求到模型 2、定义请求流向:转向页面或者控制器 3、选择视图 2、调用模型
视图
1、发送请求和数据给控制器 2、显示模型数据 通知数据更新
模型
1、处理业务逻辑
方法调用
MVC组成部件 (1)视图 (2)控制器 (3)模型
步2: servlet容器将ServletRequest和ServletResponse传 递给Servlet,servlet进行业务逻辑处理,产生结果,并将 结果存放到ServletResponse中; 步3: Servlet容器将处理结果传递给浏览器显示出来
15
Servlet API HttpServletRequest
7
J2EE Big Picture—Pattern Oriented
ServiceLocator DTO SessionFacade EJB Command Business Decouple Layers DataAccess Command Increase Performance ReadMostly Message MVC
层次1:把业务模型封装为对象 层次2:构建对象之间合理的关系 层次3:用合理的设计模式构建业务系统
软件设计模式 层次1:设计模式战术:类似武功技能,例如单例设计模式 层次2:设计模式战略:类似兵书战法,例如MVC设计模式 AOP:面向切面的编程 本质:动态增强方法的功能 别名:拦截器
1
2 3 4
JSP两种编程模型 MVC设计模式 Struts MVC模型 Struts数据结构
17
1. Java页面编程的演变历史 Html JSP模型1
JSP模型2
No MVC
Model 1 architecture
18
1.1、JSP编程模式1
JSP页 面
应用服务器 Web浏 览 器 1-请 求 JSP代 码 2 JavaBean业 务 逻 辑 代 码 3 数据库
web.xml配置文件
Struts架构
struts.properties属性配置文件
浏览器 Http请求 (HttpServletRequest)
1、Struts处理流程
大致处理流程
ActionContextCleanUp
其他过滤器(例如:SiteMesh)
拦截器的处理流程 2、Struts组成部分 3、配置文件
工程要求3:代码必须有足够的注释
工程要求4:文档=代码:
• 文字能力=编码能力
培训效果:扶上马,送一程
• 文字思路=编码思路
• 必须编写文档 培训手段:
边讲课、边动手练习
用代码阐述软件开发思想
3
JavaEE应用系统 架构模型
JavaEE平台
视 图 层 控 制 层 服 务 层 领 域 层 持 久 层 Oracle
《Struts 2实战(Struts in Action)》(2009) 《深入浅出Struts2》
孙卫琴《精通Struts基于MVC的Java Web设计与开发》
点评:学习Struts1的经典教材
孙卫琴 《Tomcat与Java Web开发技术详解》
11
Struts开发工具 JDK1.6 ant1.8.2
Tomcat
MySql Struts2.0
MyEclipse6.5
12
Struts课程内容
前言、Java Web开发基础知识 第一节、 Struts2架构 第二节、 Action和 拦截器 第三节、 ONGL和标签库、国际化 第四节、数据转换和数据校验
13
前言、Java Web开发基础知识 web组件的类型: JSP、servlet、过滤器、Struts的Action web数据传输范围
步2:模型根据用户请求完成相应 的业务逻辑处理,并返回处理结果
步3:控制器调用相应的视图显示 处理结果
问题4-页面:页面数据和控制器之间数据相互转换
问题5-页面:模型数据如何方便显示在页面上
21
3、Struts MVC结构和处理流程(最重要)
Web容器(例如:Tomcat)/Web应用服务器(例如:websphere Server)
4、领域层:业务逻辑数据表达 5、持久层:持久化业务逻辑数据,管理数据库
为什么要使用架构?
1、当前软件开发的现状 2、降低开发难度 3、提高软件质量 4、提高软件开发效率和速度
架构的局限性
1、受限:应用系统必须 遵守架构的规范
2、不要迷信架构,她不是
解决所有问题的“银弹”
struts核心控制器FilterDispatcher
ActionProxy (Action代理) (控制器代理对象) ActionMapper (Action映射器)
用户请求
配置管理器
拦截器1 ONGL
5
JavaEE架构的核心思想
架构分层思想
分解功能 把复杂问题简单处理
可配置编程 数据-可配置编程(例如:JDBC中的数据库连接属性) 系统级功能-可配置编程(例如EJB的事务可配置编程)
6
OOP:面向对象的编程思想 OOP三要素:封装、继承、多态 OOP比你想象的要难的多 OOP的知识结构层次
8
Interface
Improve Development
Validation UUID
Process
Portability SequenceBlocks
Struts是什么? Struts是开源框架,用于构建MVC架构的Web应用程序 Struts本质上就是一个web用户界面开发工具
web组件之间的三种关联关系
请求转发 URL重定向
Leabharlann Baidu
包含
Servlet组件
Servlet使用Java语言编写的,运行在Servlet容器(例如 Tomcat)中,可以被servlet容器动态加载以便能扩展服务器 的功能 Web容器的主要构件
JSP、过滤器、 Action本质上都是Servlet
Tarena High-End IT Training
www.tarena.com.cn
中国北京 电话:(010)62135687、62136369 地址:北京市海淀区北三环西路甲18号 中鼎大厦B座7层 中国上海 电话:(021)61202630、61202603 地址:上海市北京东路668号 上海科技京城C区9层 中国广州 电话:(020)85518868、85518898 地址:广州天河区岗顶侨鑫教育主楼三层 加拿大多伦多 电话:(416)491-6456 地址:Suite 1208, Deerford Road, Toronto, Ontario, Canada 邮编:M2J 3J3
6-响应
JSP页面 Web应用系统
5
登陆实例2 : http://localhost:8080/strutslesson/user/jsp-model2/login.jsp 本质:将JSP页面代码和JavaBean业务逻辑代码通过 Servlet控制器进行了分离,JSP页面只负责页面显示,不 再包含任何的流程控制和业务逻辑
使用Model-View-Controller设计模式的界面架构
提供能大幅提高界面开发效率的一系列工具
• 分层框架:严格区分视图和业务逻辑
• 功能灵活:松散的框架结构,能动态增强框架功能
• 视图工具:标签库、数据验证、国际化 • 控制工具:灵活控制页面流转
Struts核心三要素
视 图:用户界面
Struts
DB2
Spring MVC
JSF
Spring
Hibernate iBatis
…
4
五层架构(Five-Tier Architecture)
JavaEE平台的五层结构
1、视图层:人机交互界面,负责展现数据,传送数据 2、控制层:负责视图层和服务层之间的数据转换
3、服务层:完成业务逻辑
Facade
Model 2 View Helper DAO
Model 1 Front Controller
Delegate
Simplify
Encapsulate DAOFactory BusinessInterface Ensure CodeGeneration UseFrameworks
HttpServletRequest中存放的是在request数据区的数据; Servlet容器把http请求数据存放在HttpServletRequest中,而 Servlet可以从request数据区中读取用户的请求数据;
HttpServletResponse
用于生成http响应结果