SlideShare une entreprise Scribd logo
1  sur  70
Struts 学习笔记 By: 张红宇 [email_address]
Struts 学习笔记 ,[object Object],[object Object],[object Object],[object Object]
Struts 框架 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
个人思考 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Struts 简介 ,[object Object],[object Object]
MVC 模式 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JSP Model 1 ,[object Object],[object Object],[object Object]
JSP Model 1 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JSP Model 2 ,[object Object],[object Object],[object Object]
MVC ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MVC ,[object Object]
Struts 与 MVC ,[object Object],[object Object]
Struts 与 MVC ,[object Object]
Struts 与 MVC ,[object Object]
Struts 与 MVC ,[object Object]
Struts 与 MVC ,[object Object]
Struts 与 MVC ,[object Object]
Struts 与 MVC ,[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Struts 流程
Struts 流程 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Struts 流程图
Struts 核心组件 可以减轻开发显示层次的工作  Struts 标记库  用来存储和回收错误  ActionError  用来指示操作转移的对象  ActionForward  帮助控制器将请求映射到操作  ActionMapping  显示模块数据  ActionForm  包含事务逻辑  Action  控制器  ActionServlet
Struts 核心组件 ,[object Object]
Struts 核心组件
Struts 核心 ,[object Object],[object Object]
Struts 核心 ,[object Object],[object Object],[object Object]
Struts 核心 ,[object Object]
Struts 核心 ,[object Object]
基于 Struts 的开发流程 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
基于 Struts 的开发流程 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Struts 学习资料 ,[object Object],[object Object]
Struts 学习资料 http://www.alien-factory.co.uk/struts/struts-index.html  免费 StrutsGUI  http://sourceforge.net/projects/rivernorth/  开放源码  Struts Builder  http://www.scioworks.com/scioworks_camino.html  商业软件 Camino  http://www.solanasoft.com/  商业软件 JForms  http://www.jamesholmes.com/struts/console  免费  Struts Console  http://easystruts.sourceforge.net/  开放源码  Easy Struts  http://www.synthis.com/products/adalon  商业软件  Adalon  网址  性质  应用程序
Struts 学习资料 ,[object Object],[object Object],[object Object],[object Object]
Struts 学习资料 ,[object Object],[object Object]
[object Object],[object Object]
个人思考 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Struts 的优点 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tiles ,[object Object],[object Object],[object Object]
Tiles ,[object Object],[object Object],[object Object],[object Object]
Tiles ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
国际化和本地化 ,[object Object],[object Object],[object Object]
国际化和本地化 ,[object Object],[object Object]
一个 struts 的小例子 ,[object Object],[object Object],[object Object],[object Object]
一个 struts 的小例子 ,[object Object],[object Object],[object Object],staff.code =” 编号” staff.name =” 员工姓名” staff.pass =” 密码” staff.birth=” 出生年月”  staff.code=”code” staff.name=”name” staff.pass=”password” staff.birth=”the date you were born”
一个 struts 的小例子 ,[object Object],[object Object],<tr> <td><bean:message key=&quot;staff.code &quot; />::</td> <td><html:text property=&quot;staffCode&quot; size=&quot;40&quot; /></td> </tr> <tr> <td><bean:message key=&quot;staff.pass &quot; />::</td> <td><html:text property=&quot;staffPassword&quot; size=&quot;40&quot; /></td> </tr>
一个 struts 的小例子 ,[object Object],<tr> <td><bean:message key=&quot;staff.name &quot; />::</td> <td><html:text property=&quot;staffName&quot; size=&quot;40&quot; /></td> </tr> <tr> <td><bean:message key=&quot;staff.birth &quot; />::</td> <td><html:text property=&quot;staffBirthdate&quot; size=&quot;40&quot; /></td> </tr>
一个 struts 的小例子 ,[object Object],[object Object],public class StaffForm extends ActionForm { public StaffForm (){ } // 构造函数 //get , set  private String staffName = null; public String getStaffName(){   return staffName;   } public void setStaffName (String staffName ) { this. staffName = staffName; } …… //get set for staffCode 、 staffPassword 、 staffBirthdate }
一个 struts 的小例子 ,[object Object],[object Object],public final class DepartmentAction extends Action { public ActionForward execute(ActionMapping mapping,actionForm form,  HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { StaffForm staffForm = (StaffForm) form; String code = staffForm.getStaffCode(); String pass = staffForm.getStaffPassword(); ………… // 创建对象 staffImpl ,调用接口验证接口。 if(staffImpl.validate(code,pass)) // 验证通过,调用接口,获取其详细信息   {   StaffForm staffForm = new StaffForm ();   staffImpl.getStaffInfo()(code);   HttpSession session = request.getSession();   if (&quot;request&quot;.equals(mapping.getScope())) request.setAttribute(mapping.getAttribute(),staffForm);   else session.setAttribute(mapping.getAttribute(),staffForm);   return (mapping.findForward(&quot;staff_detail&quot;)); } else return (mapping.findForward(&quot;failuer&quot;)); } }
一个 struts 的小例子 ,[object Object],<?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot; ?> <!DOCTYPE struts-config PUBLIC &quot;-//Apache Software Foundation//DTD Struts Configuration 1.1//EN&quot; &quot;http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd&quot;> <struts-config> <form-beans>  <form-bean  name=&quot;/example/staffForm&quot; type=&quot;example.StaffForm&quot;/> </form-beans> <global-forwards> <forward  name=&quot;/welcome&quot;  path=&quot;/welcome.htm&quot;/> <global-forwards> <action-mappings> <action path=&quot;/staffAction&quot;  type=&quot;example.StaffAction&quot;  name=&quot;/example/staffForm&quot;  scope=&quot;request&quot; > <forward  name=&quot;/detail&quot;  path=&quot;/detail.jsp&quot;/> </action> </action-mappings> <message-resources parameter=“example.ApplicationResources_cn&quot;/> </struts-config>
个人思考 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Struts + Hibernate 的 J2EE 架构   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Hibernate ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Struts + Hibernate 的 J2EE 架构 ,[object Object],[object Object]
Struts + Hibernate 的 J2EE 架构 ,[object Object],[object Object],[object Object],[object Object]
Struts + Hibernate 的 J2EE 架构 ,[object Object],[object Object]
Struts + Hibernate 的 J2EE 架构 ,[object Object],[object Object]
Struts + Hibernate 的 J2EE 架构 ,[object Object],[object Object],RDBMS  数据库  资源层  数据源层  数据层  EntityBean / JDO / Hibernate / JDBC  整合层  数据映射层  Javabeans / SessionBean /Session Facade 业务层  领域层  领域层  Controller  控制器及  Action  控制  /  中介层  浏览器  HTML  页面 , XSL,  手机客户端等 JSP  及  ActionForm ,XML  客户层  服务器表示层  表示层  表示层  对应程序部分   J2EE  层   Brown   ISA
Struts + Hibernate 的 J2EE 架构 ,[object Object],Controller : ActionServlet Model : Action+Hibernate View : JSP+Taglib
Struts + Hibernate 的 J2EE 架构 ,[object Object]
Struts + Hibernate 的 J2EE 架构
Struts + Hibernate 的 J2EE 架构 ,[object Object],[object Object],[object Object]
Struts + Hibernate 的 J2EE 架构 ,[object Object],[object Object],[object Object]
总结 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object]
题外话 ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object]

Contenu connexe

Tendances (15)

beidakejian
beidakejianbeidakejian
beidakejian
 
hibernate
hibernatehibernate
hibernate
 
Struts快速学习指南
Struts快速学习指南Struts快速学习指南
Struts快速学习指南
 
通过Struts构建Web应用
通过Struts构建Web应用通过Struts构建Web应用
通过Struts构建Web应用
 
lwdba – 開放原始碼的輕量級資料庫存取程式庫
lwdba – 開放原始碼的輕量級資料庫存取程式庫lwdba – 開放原始碼的輕量級資料庫存取程式庫
lwdba – 開放原始碼的輕量級資料庫存取程式庫
 
Java面试笔试题大汇总
Java面试笔试题大汇总Java面试笔试题大汇总
Java面试笔试题大汇总
 
Java面试知识
Java面试知识Java面试知识
Java面试知识
 
JavaScript 技術手冊第 5 章
JavaScript 技術手冊第 5 章JavaScript 技術手冊第 5 章
JavaScript 技術手冊第 5 章
 
系統架構設計 Android
系統架構設計  Android系統架構設計  Android
系統架構設計 Android
 
SCJP ch02
SCJP ch02SCJP ch02
SCJP ch02
 
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7
 
Structs2簡介
Structs2簡介 Structs2簡介
Structs2簡介
 
NHibernate分享(1) share
NHibernate分享(1) shareNHibernate分享(1) share
NHibernate分享(1) share
 
物件導向程式設計課程講義(98 ges hi版)
物件導向程式設計課程講義(98 ges hi版)物件導向程式設計課程講義(98 ges hi版)
物件導向程式設計課程講義(98 ges hi版)
 
Java面试宝典
Java面试宝典Java面试宝典
Java面试宝典
 

En vedette (7)

性能测试实践2
性能测试实践2性能测试实践2
性能测试实践2
 
Spring入门纲要
Spring入门纲要Spring入门纲要
Spring入门纲要
 
性能测试实践1
性能测试实践1性能测试实践1
性能测试实践1
 
Load runner测试技术
Load runner测试技术Load runner测试技术
Load runner测试技术
 
性能测试技术
性能测试技术性能测试技术
性能测试技术
 
J Bpm4 1中文用户手册
J Bpm4 1中文用户手册J Bpm4 1中文用户手册
J Bpm4 1中文用户手册
 
Train The Trainer
Train The TrainerTrain The Trainer
Train The Trainer
 

Similaire à Struts学习笔记

網站設計100步
網站設計100步網站設計100步
網站設計100步
evercislide
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程
yiditushe
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程
appollo0312
 
基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现
yiditushe
 
Django敏捷开发 刘天斯
Django敏捷开发 刘天斯Django敏捷开发 刘天斯
Django敏捷开发 刘天斯
liuts
 
Mvc training
Mvc trainingMvc training
Mvc training
xioxu
 
Workshop Sutdio3(1)
Workshop Sutdio3(1)Workshop Sutdio3(1)
Workshop Sutdio3(1)
wangjiaz
 
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 ServletServlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Justin Lin
 
2011 JavaTwo JSF 2.0
2011 JavaTwo JSF 2.02011 JavaTwo JSF 2.0
2011 JavaTwo JSF 2.0
Anthony Chen
 
Terracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering ArchitectureTerracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering Architecture
Target Source
 

Similaire à Struts学习笔记 (20)

網站設計100步
網站設計100步網站設計100步
網站設計100步
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程
 
Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程Struts+Spring+Hibernate整合教程
Struts+Spring+Hibernate整合教程
 
基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现
 
Exam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development FundamentalsExam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development Fundamentals
 
Django敏捷开发 刘天斯
Django敏捷开发 刘天斯Django敏捷开发 刘天斯
Django敏捷开发 刘天斯
 
Mvc training
Mvc trainingMvc training
Mvc training
 
Js培训
Js培训Js培训
Js培训
 
Workshop Sutdio3(1)
Workshop Sutdio3(1)Workshop Sutdio3(1)
Workshop Sutdio3(1)
 
JdonFramework中文
JdonFramework中文JdonFramework中文
JdonFramework中文
 
Mybatis学习培训
Mybatis学习培训Mybatis学习培训
Mybatis学习培训
 
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 ServletServlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
 
开源应用日志收集系统
开源应用日志收集系统开源应用日志收集系统
开源应用日志收集系统
 
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit TestingASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
 
Real World ASP.NET MVC
Real World ASP.NET MVCReal World ASP.NET MVC
Real World ASP.NET MVC
 
2011 JavaTwo JSF 2.0
2011 JavaTwo JSF 2.02011 JavaTwo JSF 2.0
2011 JavaTwo JSF 2.0
 
Jsp
JspJsp
Jsp
 
Terracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering ArchitectureTerracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering Architecture
 
设计模式MVC
设计模式MVC设计模式MVC
设计模式MVC
 
常用Js框架比较
常用Js框架比较常用Js框架比较
常用Js框架比较
 

Plus de yiditushe

J2 ee性能测试
J2 ee性能测试J2 ee性能测试
J2 ee性能测试
yiditushe
 
面向对象的Js培训
面向对象的Js培训面向对象的Js培训
面向对象的Js培训
yiditushe
 
Flex3中文教程
Flex3中文教程Flex3中文教程
Flex3中文教程
yiditushe
 
开放源代码的全文检索Lucene
开放源代码的全文检索Lucene开放源代码的全文检索Lucene
开放源代码的全文检索Lucene
yiditushe
 
基于分词索引的全文检索技术介绍
基于分词索引的全文检索技术介绍基于分词索引的全文检索技术介绍
基于分词索引的全文检索技术介绍
yiditushe
 
Lucene In Action
Lucene In ActionLucene In Action
Lucene In Action
yiditushe
 
Lucene2 4学习笔记1
Lucene2 4学习笔记1Lucene2 4学习笔记1
Lucene2 4学习笔记1
yiditushe
 
Lucene2 4 Demo
Lucene2 4 DemoLucene2 4 Demo
Lucene2 4 Demo
yiditushe
 
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践
yiditushe
 
Lucene 3[1] 0 原理与代码分析
Lucene 3[1] 0 原理与代码分析Lucene 3[1] 0 原理与代码分析
Lucene 3[1] 0 原理与代码分析
yiditushe
 
7 面向对象设计原则
7 面向对象设计原则7 面向对象设计原则
7 面向对象设计原则
yiditushe
 
10 团队开发
10  团队开发10  团队开发
10 团队开发
yiditushe
 
9 对象持久化与数据建模
9  对象持久化与数据建模9  对象持久化与数据建模
9 对象持久化与数据建模
yiditushe
 
8 Uml构架建模
8  Uml构架建模8  Uml构架建模
8 Uml构架建模
yiditushe
 
6 架构设计
6  架构设计6  架构设计
6 架构设计
yiditushe
 
5 架构分析
5  架构分析5  架构分析
5 架构分析
yiditushe
 
4 软件架构导论
4  软件架构导论4  软件架构导论
4 软件架构导论
yiditushe
 
3 Uml行为建模与Ooa
3  Uml行为建模与Ooa3  Uml行为建模与Ooa
3 Uml行为建模与Ooa
yiditushe
 
2 需求开发与Uml用例
2  需求开发与Uml用例2  需求开发与Uml用例
2 需求开发与Uml用例
yiditushe
 
1 软件开发过程概述
1  软件开发过程概述1  软件开发过程概述
1 软件开发过程概述
yiditushe
 

Plus de yiditushe (20)

J2 ee性能测试
J2 ee性能测试J2 ee性能测试
J2 ee性能测试
 
面向对象的Js培训
面向对象的Js培训面向对象的Js培训
面向对象的Js培训
 
Flex3中文教程
Flex3中文教程Flex3中文教程
Flex3中文教程
 
开放源代码的全文检索Lucene
开放源代码的全文检索Lucene开放源代码的全文检索Lucene
开放源代码的全文检索Lucene
 
基于分词索引的全文检索技术介绍
基于分词索引的全文检索技术介绍基于分词索引的全文检索技术介绍
基于分词索引的全文检索技术介绍
 
Lucene In Action
Lucene In ActionLucene In Action
Lucene In Action
 
Lucene2 4学习笔记1
Lucene2 4学习笔记1Lucene2 4学习笔记1
Lucene2 4学习笔记1
 
Lucene2 4 Demo
Lucene2 4 DemoLucene2 4 Demo
Lucene2 4 Demo
 
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践
 
Lucene 3[1] 0 原理与代码分析
Lucene 3[1] 0 原理与代码分析Lucene 3[1] 0 原理与代码分析
Lucene 3[1] 0 原理与代码分析
 
7 面向对象设计原则
7 面向对象设计原则7 面向对象设计原则
7 面向对象设计原则
 
10 团队开发
10  团队开发10  团队开发
10 团队开发
 
9 对象持久化与数据建模
9  对象持久化与数据建模9  对象持久化与数据建模
9 对象持久化与数据建模
 
8 Uml构架建模
8  Uml构架建模8  Uml构架建模
8 Uml构架建模
 
6 架构设计
6  架构设计6  架构设计
6 架构设计
 
5 架构分析
5  架构分析5  架构分析
5 架构分析
 
4 软件架构导论
4  软件架构导论4  软件架构导论
4 软件架构导论
 
3 Uml行为建模与Ooa
3  Uml行为建模与Ooa3  Uml行为建模与Ooa
3 Uml行为建模与Ooa
 
2 需求开发与Uml用例
2  需求开发与Uml用例2  需求开发与Uml用例
2 需求开发与Uml用例
 
1 软件开发过程概述
1  软件开发过程概述1  软件开发过程概述
1 软件开发过程概述
 

Struts学习笔记

  • 1. Struts 学习笔记 By: 张红宇 [email_address]
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 21.
  • 23. Struts 核心组件 可以减轻开发显示层次的工作 Struts 标记库 用来存储和回收错误 ActionError 用来指示操作转移的对象 ActionForward 帮助控制器将请求映射到操作 ActionMapping 显示模块数据 ActionForm 包含事务逻辑 Action 控制器 ActionServlet
  • 24.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33. Struts 学习资料 http://www.alien-factory.co.uk/struts/struts-index.html 免费 StrutsGUI http://sourceforge.net/projects/rivernorth/ 开放源码 Struts Builder http://www.scioworks.com/scioworks_camino.html 商业软件 Camino http://www.solanasoft.com/ 商业软件 JForms http://www.jamesholmes.com/struts/console 免费 Struts Console http://easystruts.sourceforge.net/ 开放源码 Easy Struts http://www.synthis.com/products/adalon 商业软件 Adalon 网址 性质 应用程序
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61. Struts + Hibernate 的 J2EE 架构
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.