SlideShare a Scribd company logo
Struts 和 Hibernate 原理与应用
内容 Struts Hibernate
Struts
Struts 是一个基于 MVC 的 框架 。 An open source  framework   for building Servlet/JSP based web applications  based on the  Model-View-Controller (MVC)  design paradigm
Struts 是一个基于 MVC 的 框架
Struts 是一个基于 MVC 的 框架: 1 、完成一项 工作 ; 2 、定义一个 流程 ; 3 、包含若干 组件 。 框架
Struts 是一个基于 MVC 的 框架: 1 、完成一项 工作 ; 2 、定义一个 流程 ; 3 、包含若干 组件 。 框架
Struts 是一个基于 MVC 的 框架: 1 、完成一项 工作 ; 2 、定义一个 流程 ; 3 、包含若干 组件 。 框架 考研 网报,现场报,考试 网站,报名处,学校
Struts 是一个基于 MVC 的 框架 框架  软件框架 工作  程序 流程  设计模式   组件  对象
Struts 是一个基于 MVC 的 框架 框架  代码框架 工作  程序   流程  设计模式   组件  对象
Struts 是一个基于 MVC 的 框架 框架  代码框架 工作  程序   流程  设计模式   组件  对象
Struts 是一个基于  的框架 MVC
Struts 是一个基于  的框架 MVC MVC : View  显示 Control  控制、分发 Model  内容、数据
Struts 是一个基于  的框架 MVC MVC : View  显示 Control  控制、分发 Model  内容、数据
Struts 是一个基于  的框架 MVC MVC : View  显示 Control  控制、分发 Model  内容、数据 MVC 框架: 工作:根据浏览器要求,获取并显示数据。 流程:访问请求  分发请求  获取数据  显示数据 组件 View Control Model
Struts 如何实现 MVC 框架
我需要做什么?
我需要做什么? ①
我需要做什么? ① …… <servlet> <servlet-name>action</servlet-name> <servlet-class> org.apache.struts.action.ActionServlet </servlet-class> <init-param> <param-name>config</param-name> <param-value> /WEB-INF/home/struts/config/ struts-config.xml </param-value> </init-param> </servlet> …… <servlet-mapping> <servlet-name>  action </servlet-name> <url-pattern> *.do </url-pattern> </servlet-mapping> ……
我需要做什么?
我需要做什么? ②
我需要做什么? ② <struts-config> <form-beans> <form-bean  name=&quot;edanForm&quot;  type=&quot;org.edanwade.EdanForm&quot;/> </form-beans> <action-mappings > <action path=&quot;/edanPath2“ name=&quot;edanForm&quot; validate = &quot;false“ scope=&quot;request&quot; type=&quot; org.edanwade.EdanAction&quot; > <forward name=&quot;forward&quot;  path=&quot;/default.jsp&quot; /> <forward name=&quot;transform&quot;  path=&quot;/edanPath1.do&quot; redirect=&quot;true&quot;/> </action> </action-mappings > </struts-config>
我需要做什么?
我需要做什么? ③
我需要做什么? ③ public class EdanAction extends Action{ public ActionForward execute( ActionMapping actionMapping,  ActionForm actionForm,  HttpServletRequest httpServletRequest,  HttpServletResponse httpServletResponse)  throws Exception { …… …… } }
我需要做什么?
我需要做什么? ④
我需要做什么? ④ <td> <spring:message code=&quot;label.edanwade.title&quot;/> <span class=&quot;select&quot;> <html:select property=“propName&quot; onchange=&quot;changeAction()&quot;> <html:optionsCollection property=“propList&quot; label=&quot;name&quot; value=&quot;id&quot;/> </html:select> </span> </td>
Struts 不是全部。还需要什么知识和技能? Request 与 Response JSP 页面 EL 表达式 JSTL 标签 自定义标签 Valuelist 国际化
Struts 小结 核心 MVC M: javaBean V: JSP C: Action + struts-config.xml
Hibernate
Hibernate 是关系数据库持久化方案。 Hibernate - Relational Persistence for Idiomatic Java
Hibernate 是  持久化方案。 关系数据库
Hibernate 是  持久化方案。 关系数据库 关系数据库: 1 、关系:二维表 2 、数据库:存关系,管理关系
Hibernate 是关系数据库  方案。 持久化
Hibernate 是关系数据库  方案。 持久化 持久化: 1 、持久:断电后仍有。 2 、持久化 从内存到硬盘。 从对象到关系。
Hibernate 的核心:对象 - 关系的映射
Hibernate 的核心:对象 - 关系的映射 对象 - 关系  的映射: 映射: HBM.XML 文件 查询: HQL 和 SQL 操作: update 、 saveOrUPdate() 、 delete()
public class Customer {       private int id;     private String username;     private String password;     public int getId() {         return id;     }     public void setId(int id) {         this.id = id;     }  ……  }  <?xml version=&quot;1.0&quot;?> <!DOCTYPE hibernate-mapping PUBLIC     &quot;-//Hibernate/Hibernate Mapping DTD//EN&quot;     &quot;http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd&quot;> <hibernate-mapping>     <class name=&quot;Customer&quot; table=&quot;CUSTOMER&quot;>         <id name=&quot; id &quot; column=&quot; CID &quot;>             <generator class=&quot;increment&quot; />         </id>         <property name=&quot; username &quot; column=&quot; USERNAME &quot; />         <property name=&quot; password &quot; column=&quot; PASSWORD &quot; />     </class> </hibernate-mapping>  1.  映射:基础 CREATE TABLE CUSTOMER (     CID INTEGER NOT NULL PRIMARY KEY,      USERNAME VARCHAR(12) NOT NULL,      PASSWORD VARCHAR(12)  );
HQL: Query query = session.createQuery(&quot;from Customer as c&quot;); List customers = query.list(); 2.  查询: HQL 与 SQL SQL: Query query = session.createSQLQuery(“select * from customer&quot;); List customers = query.list();
3.  操作
public class Customer {       private int userid;     private String username;     private String password;   private Set orders = new HashSet();      public int getId() {         return id;     }     public void setId(int id) {         this.id = id;     }  ……  }  <hibernate-mapping>     <class name=&quot;Customer&quot; table=&quot;CUSTOMER&quot;>         <id name=“userid&quot; column=“USERID&quot;>             <generator class=&quot;increment&quot; />         </id>         <property name=&quot;username&quot; column=&quot;USERNAME&quot; />         <property name=&quot;password&quot; column=&quot;PASSWORD&quot; />   <set name=&quot;orders&quot;> <key column=“userid &quot;/> <one-to-many class=“order&quot;/> </set>      </class> </hibernate-mapping>  4.  映射:关系 CREATE TABLE CUSTOMER (     USERID INTEGER NOT NULL PRIMARY KEY,      USERNAME VARCHAR(12) NOT NULL,      PASSWORD VARCHAR(12) );
Hibernate 小结 核心: 数据映射,配置 XML 数据获取, HQL 与 SQL
谢谢

More Related Content

PPT
javascript的分层概念 --- 阿当
PPT
FIM Media Player - BoxModel in Flash
PPT
YUI ─ 阿大
PPT
Creating CSS Template with Barrie North
PPT
Puti
PPTX
Xsd培训资料
PPT
让我们的页面跑得更快
PPTX
Alert util
javascript的分层概念 --- 阿当
FIM Media Player - BoxModel in Flash
YUI ─ 阿大
Creating CSS Template with Barrie North
Puti
Xsd培训资料
让我们的页面跑得更快
Alert util

Viewers also liked (20)

PPT
Prezentare liceu
PPTX
Contents page analysis
PPTX
Partner update meeting 26.02.2015
PDF
Seqüències didàctiques ins jaume i
PDF
NewcastleGateshead Initiative partner update meeting 25 Feb 2016
PDF
Zend cache evolution.владимир дубина
PDF
ITMI Symposium 2013 brochure
PPT
Patient and doc engagement online west
PPTX
Double page spread annotation
PPTX
藍世傑1979.5.28~2015.4.6 (edit by 美葳 )
PPTX
Sustainability issues in fashion
PPT
писатели юбиляры
PPTX
Folk art environment and gardens
PDF
Dinámica económica, desarrollo productivo exportador de lambayeque
PPTX
Production logsend
PDF
Accordion
PDF
Community resource guide
PPTX
Chapter 12 presentation
PDF
Solution Selling 2.0 interview met Keith Eades in Sales Management Magazine
PDF
2 seqüències didàctiques ins jaume i
Prezentare liceu
Contents page analysis
Partner update meeting 26.02.2015
Seqüències didàctiques ins jaume i
NewcastleGateshead Initiative partner update meeting 25 Feb 2016
Zend cache evolution.владимир дубина
ITMI Symposium 2013 brochure
Patient and doc engagement online west
Double page spread annotation
藍世傑1979.5.28~2015.4.6 (edit by 美葳 )
Sustainability issues in fashion
писатели юбиляры
Folk art environment and gardens
Dinámica económica, desarrollo productivo exportador de lambayeque
Production logsend
Accordion
Community resource guide
Chapter 12 presentation
Solution Selling 2.0 interview met Keith Eades in Sales Management Magazine
2 seqüències didàctiques ins jaume i
Ad

Similar to Struts1+ hibernate3 (20)

PPT
Chicago EXPO Creating a Pure CSS Template in Joomla 1.5
PPT
揭秘Html5和Css3
PPT
揭秘Html5和Css3 ---- 鲁超伍
PPT
Html5css3 go.yeefe.com
PPTX
TBAD F2E 2010 review
PPTX
口碑导航更换项目总结
PPT
Ajax Transportation Methods
PPT
Maven – 项目管理利器
PPT
Denver CMS Expo Creating CSS template
PPT
Collaboration On Rails
PPT
Web base 吴志华
PPT
Asp.net mvc 培训
PPT
Jsp讲义
PPTX
Windows Mobile Widget 開發
PPT
Google App Engine Devfest 200810 External
PPT
Xml Introduction Practice
ODP
Js dom
PPTX
Web Rebuild
PPTX
淘宝新首页开发实践
PPT
刘松 Cpo项目的前端实践分享
Chicago EXPO Creating a Pure CSS Template in Joomla 1.5
揭秘Html5和Css3
揭秘Html5和Css3 ---- 鲁超伍
Html5css3 go.yeefe.com
TBAD F2E 2010 review
口碑导航更换项目总结
Ajax Transportation Methods
Maven – 项目管理利器
Denver CMS Expo Creating CSS template
Collaboration On Rails
Web base 吴志华
Asp.net mvc 培训
Jsp讲义
Windows Mobile Widget 開發
Google App Engine Devfest 200810 External
Xml Introduction Practice
Js dom
Web Rebuild
淘宝新首页开发实践
刘松 Cpo项目的前端实践分享
Ad

Struts1+ hibernate3

  • 1. Struts 和 Hibernate 原理与应用
  • 4. Struts 是一个基于 MVC 的 框架 。 An open source framework for building Servlet/JSP based web applications based on the Model-View-Controller (MVC) design paradigm
  • 6. Struts 是一个基于 MVC 的 框架: 1 、完成一项 工作 ; 2 、定义一个 流程 ; 3 、包含若干 组件 。 框架
  • 7. Struts 是一个基于 MVC 的 框架: 1 、完成一项 工作 ; 2 、定义一个 流程 ; 3 、包含若干 组件 。 框架
  • 8. Struts 是一个基于 MVC 的 框架: 1 、完成一项 工作 ; 2 、定义一个 流程 ; 3 、包含若干 组件 。 框架 考研 网报,现场报,考试 网站,报名处,学校
  • 9. Struts 是一个基于 MVC 的 框架 框架 软件框架 工作 程序 流程 设计模式 组件 对象
  • 10. Struts 是一个基于 MVC 的 框架 框架 代码框架 工作 程序 流程 设计模式 组件 对象
  • 11. Struts 是一个基于 MVC 的 框架 框架 代码框架 工作 程序 流程 设计模式 组件 对象
  • 12. Struts 是一个基于 的框架 MVC
  • 13. Struts 是一个基于 的框架 MVC MVC : View 显示 Control 控制、分发 Model 内容、数据
  • 14. Struts 是一个基于 的框架 MVC MVC : View 显示 Control 控制、分发 Model 内容、数据
  • 15. Struts 是一个基于 的框架 MVC MVC : View 显示 Control 控制、分发 Model 内容、数据 MVC 框架: 工作:根据浏览器要求,获取并显示数据。 流程:访问请求  分发请求  获取数据  显示数据 组件 View Control Model
  • 19. 我需要做什么? ① …… <servlet> <servlet-name>action</servlet-name> <servlet-class> org.apache.struts.action.ActionServlet </servlet-class> <init-param> <param-name>config</param-name> <param-value> /WEB-INF/home/struts/config/ struts-config.xml </param-value> </init-param> </servlet> …… <servlet-mapping> <servlet-name> action </servlet-name> <url-pattern> *.do </url-pattern> </servlet-mapping> ……
  • 22. 我需要做什么? ② <struts-config> <form-beans> <form-bean name=&quot;edanForm&quot; type=&quot;org.edanwade.EdanForm&quot;/> </form-beans> <action-mappings > <action path=&quot;/edanPath2“ name=&quot;edanForm&quot; validate = &quot;false“ scope=&quot;request&quot; type=&quot; org.edanwade.EdanAction&quot; > <forward name=&quot;forward&quot; path=&quot;/default.jsp&quot; /> <forward name=&quot;transform&quot; path=&quot;/edanPath1.do&quot; redirect=&quot;true&quot;/> </action> </action-mappings > </struts-config>
  • 25. 我需要做什么? ③ public class EdanAction extends Action{ public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { …… …… } }
  • 28. 我需要做什么? ④ <td> <spring:message code=&quot;label.edanwade.title&quot;/> <span class=&quot;select&quot;> <html:select property=“propName&quot; onchange=&quot;changeAction()&quot;> <html:optionsCollection property=“propList&quot; label=&quot;name&quot; value=&quot;id&quot;/> </html:select> </span> </td>
  • 29. Struts 不是全部。还需要什么知识和技能? Request 与 Response JSP 页面 EL 表达式 JSTL 标签 自定义标签 Valuelist 国际化
  • 30. Struts 小结 核心 MVC M: javaBean V: JSP C: Action + struts-config.xml
  • 32. Hibernate 是关系数据库持久化方案。 Hibernate - Relational Persistence for Idiomatic Java
  • 33. Hibernate 是 持久化方案。 关系数据库
  • 34. Hibernate 是 持久化方案。 关系数据库 关系数据库: 1 、关系:二维表 2 、数据库:存关系,管理关系
  • 35. Hibernate 是关系数据库 方案。 持久化
  • 36. Hibernate 是关系数据库 方案。 持久化 持久化: 1 、持久:断电后仍有。 2 、持久化 从内存到硬盘。 从对象到关系。
  • 38. Hibernate 的核心:对象 - 关系的映射 对象 - 关系 的映射: 映射: HBM.XML 文件 查询: HQL 和 SQL 操作: update 、 saveOrUPdate() 、 delete()
  • 39. public class Customer {       private int id;     private String username;     private String password;     public int getId() {         return id;     }     public void setId(int id) {         this.id = id;     } …… } <?xml version=&quot;1.0&quot;?> <!DOCTYPE hibernate-mapping PUBLIC     &quot;-//Hibernate/Hibernate Mapping DTD//EN&quot;     &quot;http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd&quot;> <hibernate-mapping>     <class name=&quot;Customer&quot; table=&quot;CUSTOMER&quot;>         <id name=&quot; id &quot; column=&quot; CID &quot;>             <generator class=&quot;increment&quot; />         </id>         <property name=&quot; username &quot; column=&quot; USERNAME &quot; />         <property name=&quot; password &quot; column=&quot; PASSWORD &quot; />     </class> </hibernate-mapping> 1. 映射:基础 CREATE TABLE CUSTOMER (     CID INTEGER NOT NULL PRIMARY KEY,      USERNAME VARCHAR(12) NOT NULL,      PASSWORD VARCHAR(12)  );
  • 40. HQL: Query query = session.createQuery(&quot;from Customer as c&quot;); List customers = query.list(); 2. 查询: HQL 与 SQL SQL: Query query = session.createSQLQuery(“select * from customer&quot;); List customers = query.list();
  • 42. public class Customer {       private int userid;     private String username;     private String password; private Set orders = new HashSet();     public int getId() {         return id;     }     public void setId(int id) {         this.id = id;     } …… } <hibernate-mapping>     <class name=&quot;Customer&quot; table=&quot;CUSTOMER&quot;>         <id name=“userid&quot; column=“USERID&quot;>             <generator class=&quot;increment&quot; />         </id>         <property name=&quot;username&quot; column=&quot;USERNAME&quot; />         <property name=&quot;password&quot; column=&quot;PASSWORD&quot; /> <set name=&quot;orders&quot;> <key column=“userid &quot;/> <one-to-many class=“order&quot;/> </set>     </class> </hibernate-mapping> 4. 映射:关系 CREATE TABLE CUSTOMER (     USERID INTEGER NOT NULL PRIMARY KEY,      USERNAME VARCHAR(12) NOT NULL,      PASSWORD VARCHAR(12) );
  • 43. Hibernate 小结 核心: 数据映射,配置 XML 数据获取, HQL 与 SQL