﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-我思故我强-文章分类-Struts</title><link>http://www.blogjava.net/balajinima/category/26976.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 29 Feb 2008 10:25:57 GMT</lastBuildDate><pubDate>Fri, 29 Feb 2008 10:25:57 GMT</pubDate><ttl>60</ttl><item><title>SSH中 struts hibernate spring 各起什么作用?</title><link>http://www.blogjava.net/balajinima/articles/182937.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Fri, 29 Feb 2008 07:19:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/182937.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/182937.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/182937.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/182937.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/182937.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
						<font size="4">简单的说：</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 14pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 42pt; mso-char-indent-count: 3.0">
				<span lang="EN-US" style="FONT-SIZE: 14pt">struts </span>
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">控制用的</span>
				<span style="FONT-SIZE: 14pt">
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 42pt; mso-char-indent-count: 3.0">
				<span lang="EN-US" style="FONT-SIZE: 14pt">hibernate </span>
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">操作数据库的</span>
				<span lang="EN-US" style="FONT-SIZE: 14pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 42pt; mso-char-indent-count: 3.0">
				<span lang="EN-US" style="FONT-SIZE: 14pt">spring </span>
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用解耦的</span>
				<span lang="EN-US" style="FONT-SIZE: 14pt">
						<br />
				</span>
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">详细的说：</span>
				<span lang="EN-US" style="FONT-SIZE: 14pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 42pt; mso-char-indent-count: 3.0">
				<span lang="EN-US" style="FONT-SIZE: 14pt">STRUTS </span>
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</span>
				<span lang="EN-US" style="FONT-SIZE: 14pt">SSH</span>
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">框架中起控制的作用</span>
				<span lang="EN-US" style="FONT-SIZE: 14pt">,</span>
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其核心是</span>
				<span lang="EN-US" style="FONT-SIZE: 14pt">Controller,</span>
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">即</span>
				<span lang="EN-US" style="FONT-SIZE: 14pt">ActionServlet,</span>
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">而</span>
				<span lang="EN-US" style="FONT-SIZE: 14pt">ActionServlet</span>
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的核心就是</span>
				<span lang="EN-US" style="FONT-SIZE: 14pt">Struts-confi g.xml.</span>
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">主要控制逻辑关系的处理</span>
				<span lang="EN-US" style="FONT-SIZE: 14pt">. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 42pt; mso-char-indent-count: 3.0">
				<span lang="EN-US" style="FONT-SIZE: 14pt">hibernate</span>
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是数据持久化层</span>
				<span lang="EN-US" style="FONT-SIZE: 14pt">,</span>
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是一种新的对象、关系的映射工具</span>
				<span lang="EN-US" style="FONT-SIZE: 14pt">,</span>
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提供了从</span>
				<span lang="EN-US" style="FONT-SIZE: 14pt">Java</span>
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">类到数据表的映射，也提供了数据查询和恢复等机制</span>
				<span lang="EN-US" style="FONT-SIZE: 14pt">,</span>
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">大大减少数据访问的复杂度。把对数据库的直接操作</span>
				<span lang="EN-US" style="FONT-SIZE: 14pt">,</span>
				<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">转换为对持久对象的操作</span>
				<span lang="EN-US" style="FONT-SIZE: 14pt">.<o:p></o:p></span>
		</p>
		<span lang="EN-US" style="FONT-SIZE: 14pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">SPRING </span>
		<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">是一个轻量级的控制反转</span>
		<span lang="EN-US" style="FONT-SIZE: 14pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">(IoC)</span>
		<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">和面向切面</span>
		<span lang="EN-US" style="FONT-SIZE: 14pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">(AOP)</span>
		<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">的容器框架</span>
		<span lang="EN-US" style="FONT-SIZE: 14pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">,</span>
		<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">面向接口的编程</span>
		<span lang="EN-US" style="FONT-SIZE: 14pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">,</span>
		<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">由容器控制程序之间的（依赖）关系，而非传统实现中，由程序代码直接操控。这也就是所谓</span>
		<span lang="EN-US" style="FONT-SIZE: 14pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">“</span>
		<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">控制反转</span>
		<span lang="EN-US" style="FONT-SIZE: 14pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">”</span>
		<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">的概念所在：（依赖）控制权由应用代码中转到了外部容器，控制权的转移，是所谓反转。依赖注入，即组件之间的依赖关系由容器在运行期决定，形象的来说，即由容器动态的将某种依赖关系注入到组件之中</span>
		<span lang="EN-US" style="FONT-SIZE: 14pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />
		</span>
		<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">起到的主要作用是解耦</span>
		<br />
		<br />
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">Struts</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">、</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">spring</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">、</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">Hibernate</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">在各层的作用</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">1</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">）</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">struts </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">负责</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt"> web</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">层</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">. <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">ActionFormBean </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">接收网页中表单提交的数据，然后通过</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">Action </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">进行处理，再</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">Forward</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">到对应的网页。</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">在</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">struts-config.xml</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">中定义</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">&lt;action-mapping&gt;, ActionServlet</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">会加载。</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">2</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">）</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">spring </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">负责业务层管理，即</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">Service</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">（或</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">Manager).<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">1</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">．</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt"> service</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">为</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">action</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">提供统计的调用接口，封装持久层的</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">DAO.<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">2</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">．可以写一些自己的业务方法。</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">3</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">．统一的</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">javabean</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">管理方法</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">4</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">．声明式事务管理</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">5.</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">集成</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">Hiberante<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">3</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">）</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">Hiberante</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">，负责持久化层，完成数据库的</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">crud</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">操作</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">hibernate </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">为持久层，提供</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt"> OR/Mapping</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">它有一组</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt"> .hbm.xml</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">文件和</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt"> POJO,</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">是跟数据库中的表相对应的。然后定义</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">DAO</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">，这些是跟数据库打交道的类，它们会使用</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">PO</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">在</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">struts+spring+hibernate</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">的系统中，</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">对象的调用流程是：</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">jsp-&gt; Action</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">－</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">&gt; Service -&gt;DAO -&gt;Hibernate</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">数据的流向是</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt"> ActionFormBean</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">接受用户的数据，</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">Action </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">将数据从</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt"> ActionFromBean </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">中取出，封装成</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">VO</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">或</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">PO, <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">再调用业务层的</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">Bean</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">类，完成各种业务处理后再</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">forward</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">。而业务层</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">Bean</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">收到这个</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">PO</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">对象之后，会调用</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">DAO</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">接口方法，进行持久化操作。</span>
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="mso-bidi-font-size: 10.5pt">
						<o:p> </o:p>
				</span>
		</p>
<img src ="http://www.blogjava.net/balajinima/aggbug/182937.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2008-02-29 15:19 <a href="http://www.blogjava.net/balajinima/articles/182937.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为Struts应用配置web.xml文件</title><link>http://www.blogjava.net/balajinima/articles/133805.html</link><dc:creator>李云泽</dc:creator><author>李云泽</author><pubDate>Wed, 01 Aug 2007 06:58:00 GMT</pubDate><guid>http://www.blogjava.net/balajinima/articles/133805.html</guid><wfw:comment>http://www.blogjava.net/balajinima/comments/133805.html</wfw:comment><comments>http://www.blogjava.net/balajinima/articles/133805.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/balajinima/comments/commentRss/133805.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/balajinima/services/trackbacks/133805.html</trackback:ping><description><![CDATA[用Myeclipse自动加入struts的包后会自动生成一个web.xml文件，我把这个文件的配置贴出来，再加上注释^^，这样看起来就比那些讲怎样配置的文章好理解多了。 <br /><br /><br />*******************上面是头文件，不用理它们是什么*********************************** <br />&lt;?xml version="1.0" encoding="UTF-8"?&gt; <br />&lt;web-app xmlns="http://java.sun.com/xml/ns/j2ee" <br /><br />xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" <br /><br />xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee <br /><br /><a href="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><u><font color="#0000ff">http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd</font></u></a>"&gt; <br />大约就是些版本号呀，字符编码啊之类的东东吧，没研究过，貌似也不用研究头文件吧 <br /><br /><br /><br />*********************配置ActionServlet********************************************* <br />&lt;servlet&gt; <br />&lt;servlet-name&gt;action&lt;/servlet-name&gt; <br />&lt;servlet-class&gt;org.apache.struts.action.ActionServlet&lt;/servlet-class&gt; <br /><br />不管应用中包含多少个子应用,都只需配置一个ActionServlet,因为ActionServlet支持多线程,目前的Struts框架只允许在应用中配置一个ActionServlet。 <br /><br /><br />*****************初始化参数对Servlet的运行环境进行初始化配置*************************** <br /><br />&lt;init-param&gt; <br />&lt;param-name&gt;config&lt;/param-name&gt; <br />&lt;param-value&gt;/WEB-INF/struts-config.xml&lt;/param-value&gt; <br />&lt;/init-param&gt; <br />这里是以相对路径的方式指明Struts应用程序的配置文件位置。如不设置，则默认值为/WEB-INF/struts-config.xml。 <br /><br /><br />&lt;init-param&gt; <br />&lt;param-name&gt;debug&lt;/param-name&gt; <br />&lt;param-value&gt;3&lt;/param-value&gt; <br />&lt;/init-param&gt; <br />设置Servlet的debug级别，控制日志记录的详细程度。默认为0，记录相对最少的日志信息。 <br /><br /><br />&lt;init-param&gt; <br />&lt;param-name&gt;detail&lt;/param-name&gt; <br />&lt;param-value&gt;3&lt;/param-value&gt; <br />&lt;/init-param&gt; <br />&lt;load-on-startup&gt;0&lt;/load-on-startup&gt; <br />设置Digester的debug级别，Digester是Struts框架所使用的用来解析xml配置文件的一个框架，通过该设置，可以查看不同详细等级的解析日志。默认为0，记录相对最少的日志信息。 <br /><br />&lt;/servlet&gt; <br /><br /><br />*********************这里也是配置ActionServlet************************************** <br />&lt;servlet-mapping&gt; <br />&lt;servlet-name&gt;action&lt;/servlet-name&gt; <br />&lt;url-pattern&gt;*.do&lt;/url-pattern&gt; <br />&lt;/servlet-mapping&gt; <br />就是将所有的*.do请求提交给action，从这里又找到上面那个配置可以读到ActionServlet的位置。 <br /><br /><br />**************************配置Struts标签库***************************************** <br />&lt;taglib&gt; <br />　　&lt;tag-uri&gt;/WEB-INF/struts-html.tld&lt;tag-uri&gt; <br />　　&lt;taglib-location&gt;/WEB-INF/struts-html.tld&lt;/taglib-location&gt; <br />　　&lt;/taglib&gt; <br />其中&lt;tag-uri&gt;用于指定标签库的相对或者绝对URI地址，Web应用根据这一URI来访问标签库。 <br />&lt;taglib-location&gt;指定标签描述文件在文件资源系统中的物理位置。 <br />&lt;/web-app&gt; <br /><br />嘻~~~~~这个配置文件蛮简单的。 <br /><img src ="http://www.blogjava.net/balajinima/aggbug/133805.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/balajinima/" target="_blank">李云泽</a> 2007-08-01 14:58 <a href="http://www.blogjava.net/balajinima/articles/133805.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>