Struts1+ hibernate3

914 views

Published on

Struts1 hibernate3

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
914
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Struts1+ hibernate3

  1. 1. Struts 和 Hibernate 原理与应用
  2. 2. 内容 <ul><li>Struts </li></ul><ul><li>Hibernate </li></ul>
  3. 3. Struts
  4. 4. Struts 是一个基于 MVC 的 框架 。 An open source framework for building Servlet/JSP based web applications based on the Model-View-Controller (MVC) design paradigm
  5. 5. Struts 是一个基于 MVC 的 框架
  6. 6. Struts 是一个基于 MVC 的 框架: 1 、完成一项 工作 ; 2 、定义一个 流程 ; 3 、包含若干 组件 。 框架
  7. 7. Struts 是一个基于 MVC 的 框架: 1 、完成一项 工作 ; 2 、定义一个 流程 ; 3 、包含若干 组件 。 框架
  8. 8. Struts 是一个基于 MVC 的 框架: 1 、完成一项 工作 ; 2 、定义一个 流程 ; 3 、包含若干 组件 。 框架 考研 网报,现场报,考试 网站,报名处,学校
  9. 9. Struts 是一个基于 MVC 的 框架 框架 软件框架 工作 程序 流程 设计模式 组件 对象
  10. 10. Struts 是一个基于 MVC 的 框架 框架 代码框架 工作 程序 流程 设计模式 组件 对象
  11. 11. Struts 是一个基于 MVC 的 框架 框架 代码框架 工作 程序 流程 设计模式 组件 对象
  12. 12. Struts 是一个基于 的框架 MVC
  13. 13. Struts 是一个基于 的框架 MVC <ul><li>MVC : </li></ul><ul><li>View 显示 </li></ul><ul><li>Control 控制、分发 </li></ul><ul><li>Model 内容、数据 </li></ul>
  14. 14. Struts 是一个基于 的框架 MVC <ul><li>MVC : </li></ul><ul><li>View 显示 </li></ul><ul><li>Control 控制、分发 </li></ul><ul><li>Model 内容、数据 </li></ul>
  15. 15. Struts 是一个基于 的框架 MVC <ul><li>MVC : </li></ul><ul><li>View 显示 </li></ul><ul><li>Control 控制、分发 </li></ul><ul><li>Model 内容、数据 </li></ul><ul><li>MVC 框架: </li></ul><ul><li>工作:根据浏览器要求,获取并显示数据。 </li></ul><ul><li>流程:访问请求  分发请求  获取数据  显示数据 </li></ul><ul><li>组件 </li></ul><ul><ul><li>View </li></ul></ul><ul><ul><li>Control </li></ul></ul><ul><ul><li>Model </li></ul></ul>
  16. 16. Struts 如何实现 MVC 框架
  17. 17. 我需要做什么?
  18. 18. 我需要做什么? ①
  19. 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> ……
  20. 20. 我需要做什么?
  21. 21. 我需要做什么? ②
  22. 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>
  23. 23. 我需要做什么?
  24. 24. 我需要做什么? ③
  25. 25. 我需要做什么? ③ public class EdanAction extends Action{ public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { …… …… } }
  26. 26. 我需要做什么?
  27. 27. 我需要做什么? ④
  28. 28. 我需要做什么? ④ <ul><li><td> </li></ul><ul><li><spring:message code=&quot;label.edanwade.title&quot;/> </li></ul><ul><li><span class=&quot;select&quot;> </li></ul><ul><ul><ul><li><html:select property=“propName&quot; onchange=&quot;changeAction()&quot;> </li></ul></ul></ul><ul><ul><ul><li><html:optionsCollection property=“propList&quot; label=&quot;name&quot; value=&quot;id&quot;/> </li></ul></ul></ul><ul><ul><ul><li></html:select> </li></ul></ul></ul><ul><li></span> </li></ul><ul><li></td> </li></ul>
  29. 29. Struts 不是全部。还需要什么知识和技能? <ul><li>Request 与 Response </li></ul><ul><li>JSP 页面 </li></ul><ul><ul><li>EL 表达式 </li></ul></ul><ul><ul><li>JSTL 标签 </li></ul></ul><ul><ul><li>自定义标签 </li></ul></ul><ul><li>Valuelist </li></ul><ul><li>国际化 </li></ul>
  30. 30. Struts 小结 <ul><li>核心 </li></ul><ul><ul><li>MVC </li></ul></ul><ul><ul><ul><li>M: javaBean </li></ul></ul></ul><ul><ul><ul><li>V: JSP </li></ul></ul></ul><ul><ul><ul><li>C: Action + struts-config.xml </li></ul></ul></ul>
  31. 31. Hibernate
  32. 32. Hibernate 是关系数据库持久化方案。 Hibernate - Relational Persistence for Idiomatic Java
  33. 33. Hibernate 是 持久化方案。 关系数据库
  34. 34. Hibernate 是 持久化方案。 关系数据库 关系数据库: 1 、关系:二维表 2 、数据库:存关系,管理关系
  35. 35. Hibernate 是关系数据库 方案。 持久化
  36. 36. Hibernate 是关系数据库 方案。 持久化 <ul><li>持久化: </li></ul><ul><li>1 、持久:断电后仍有。 </li></ul><ul><li>2 、持久化 </li></ul><ul><ul><li>从内存到硬盘。 </li></ul></ul><ul><ul><li>从对象到关系。 </li></ul></ul>
  37. 37. Hibernate 的核心:对象 - 关系的映射
  38. 38. Hibernate 的核心:对象 - 关系的映射 <ul><li>对象 - 关系 的映射: </li></ul><ul><li>映射: HBM.XML 文件 </li></ul><ul><li>查询: HQL 和 SQL </li></ul><ul><li>操作: update 、 saveOrUPdate() 、 delete() </li></ul>
  39. 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. 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();
  41. 41. 3. 操作
  42. 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. 43. Hibernate 小结 <ul><li>核心: </li></ul><ul><ul><li>数据映射,配置 XML </li></ul></ul><ul><ul><li>数据获取, HQL 与 SQL </li></ul></ul>
  44. 44. 谢谢

×