﻿<?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-Asktalk-随笔分类-Jdbc/Hibernate3/EJB3</title><link>http://www.blogjava.net/asktalk/category/2807.html</link><description>&lt;span class="STYLE3"&gt;天行健，君子以自强不息！&lt;/span&gt;</description><language>zh-cn</language><lastBuildDate>Mon, 24 Dec 2007 21:45:53 GMT</lastBuildDate><pubDate>Mon, 24 Dec 2007 21:45:53 GMT</pubDate><ttl>60</ttl><item><title>Spring Web框架与Struts的区别</title><link>http://www.blogjava.net/asktalk/archive/2007/12/25/asktalk.html</link><dc:creator>Asktalk</dc:creator><author>Asktalk</author><pubDate>Mon, 24 Dec 2007 18:23:00 GMT</pubDate><guid>http://www.blogjava.net/asktalk/archive/2007/12/25/asktalk.html</guid><wfw:comment>http://www.blogjava.net/asktalk/comments/170198.html</wfw:comment><comments>http://www.blogjava.net/asktalk/archive/2007/12/25/asktalk.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/asktalk/comments/commentRss/170198.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/asktalk/services/trackbacks/170198.html</trackback:ping><description><![CDATA[<p>&nbsp; </p>
<p><span style="font-family: 宋体">下面是从</span>struts<span style="font-family: 宋体">的角度来谈谈</span>spring<span style="font-family: 宋体">自带的</span>web<span style="font-family: 宋体">框架的使用。</span><span style="font-family: 宋体"><br />
当然，我们在配置</span>web<span style="font-family: 宋体">框架前，需要把</span>spring<span style="font-family: 宋体">配置好，这里就不多说了。</span></p>
<h1 style="margin-left: 18pt; text-indent: -18pt">1.web<span style="font-family: 宋体">框架核心</span>servlet<span style="font-family: 宋体">在</span>web.xml<span style="font-family: 宋体">中的配置。<br />
</span></h1>
<p style="margin-left: 18pt; text-indent: 0cm"><br />
&nbsp;</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&lt;</span><span style="color: #000000">servlet</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000">Dispatcher</span><span style="color: #000000">&lt;/</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">&gt;</span><span style="color: #000000">org.springframework.web.servlet.DispatcherServlet</span><span style="color: #000000">&lt;/</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000">contextConfigLocation</span><span style="color: #000000">&lt;/</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">&gt;/</span><span style="color: #000000">WEB</span><span style="color: #000000">-</span><span style="color: #000000">INF</span><span style="color: #000000">/</span><span style="color: #000000">Config.xml</span><span style="color: #000000">&lt;/</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">servlet</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">mapping</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000">Dispatcher</span><span style="color: #000000">&lt;/</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">url</span><span style="color: #000000">-</span><span style="color: #000000">pattern</span><span style="color: #000000">&gt;*</span><span style="color: #000000">.</span><span style="color: #0000ff">do</span><span style="color: #000000">&lt;/</span><span style="color: #000000">url</span><span style="color: #000000">-</span><span style="color: #000000">pattern</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">servlet</span><span style="color: #000000">-</span><span style="color: #000000">mapping</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
<p style="margin-left: 18pt; text-indent: 0cm">&nbsp;</p>
<p style="margin-left: 18pt; text-indent: 0cm"><span style="font-family: 宋体">如果没有配置</span>config.xml<span style="font-family: 宋体">文件，那么其默认的配置文件为</span>[ servlet-name ]-servlet.xml <span style="font-family: 宋体">。也就是我们这个配置的默认配置文件是</span>Dispatcher-servlet.xml</p>
<h1 style="margin-left: 18pt; text-indent: -18pt">2.web<span style="font-family: 宋体">框架的</span>xml<span style="font-family: 宋体">配置</span></h1>
<p>spring web<span style="font-family: 宋体">框架与</span>struts<span style="font-family: 宋体">最大的不同就是</span>spring web<span style="font-family: 宋体">框架根据分工，把每一种功能都定义为一种组件，所以在开发过程中需要配置的东西就非常多；</span>Spring<span style="font-family: 宋体">中分为几个角色：</span></p>
<p style="margin-left: 21pt; text-indent: -21pt"><span style="font-family: Wingdings">l&nbsp;</span><span style="font-family: 宋体">核心控制器，就是</span>web<span style="font-family: 宋体">框架的主</span> servlet<span style="font-family: 宋体">；</span></p>
<p style="margin-left: 21pt; text-indent: -21pt"><span style="font-family: Wingdings">l&nbsp;</span><span style="font-family: 宋体">业务控制器，也就是</span>struts<span style="font-family: 宋体">中的</span>action<span style="font-family: 宋体">对象；</span></p>
<p style="margin-left: 21pt; text-indent: -21pt"><span style="font-family: Wingdings">l&nbsp;</span><span style="font-family: 宋体">映射处理器，定义了访问路径如何与</span>web<span style="font-family: 宋体">的</span>xml<span style="font-family: 宋体">中的</span>bean<span style="font-family: 宋体">相匹配，就是定义了一种策略；</span></p>
<p style="margin-left: 21pt; text-indent: -21pt"><span style="font-family: Wingdings">l&nbsp;</span><span style="font-family: 宋体">视图和视图解析器，视图就是</span>jstl,velocity,xslt<span style="font-family: 宋体">等，视图解析器定义了</span>action<span style="font-family: 宋体">最终导航页面的策略；</span></p>
<p style="margin-left: 21pt; text-indent: -21pt"><span style="font-family: Wingdings">l&nbsp;</span><span style="font-family: 宋体">模型，就是</span>struts MVC<span style="font-family: 宋体">结构中的</span>model<span style="font-family: 宋体">；</span></p>
<p style="margin-left: 21pt; text-indent: -21pt"><span style="font-family: Wingdings">l&nbsp;</span>Command<span style="font-family: 宋体">对象，类似于</span>struts<span style="font-family: 宋体">中的</span>formBean<span style="font-family: 宋体">；</span></p>
<h2>2.1 Spring web<span style="font-family: 宋体">框架与</span>struts<span style="font-family: 宋体">框架的区别</span></h2>
<p><span style="font-family: 宋体">下面列出了一些。例如，</span></p>
<p style="margin-left: 21pt; text-indent: -21pt"><span style="font-family: Wingdings">n&nbsp;</span>Web<span style="font-family: 宋体">框架要拦截</span>*.do<span style="font-family: 宋体">路径，那么</span>*.do<span style="font-family: 宋体">如何与我们下面的</span>bean<span style="font-family: 宋体">匹配，就需要一个映射控制器。在</span>struts<span style="font-family: 宋体">中就是名字相同的匹配，不需要配置。</span></p>
<p style="margin-left: 21pt; text-indent: -21pt"><span style="font-family: Wingdings">n&nbsp;</span>action<span style="font-family: 宋体">最后要导向到不同的页面，在</span>struts<span style="font-family: 宋体">中我们用的是默认的不需要在</span>xml<span style="font-family: 宋体">文件中配置，在</span>spring<span style="font-family: 宋体">中就需要配置视图解析器。</span></p>
<p style="margin-left: 21pt; text-indent: -21pt"><span style="font-family: Wingdings">n&nbsp;</span><span style="font-family: 宋体">下面代码中，</span>Action<span style="font-family: 宋体">中</span><span style="font-family: 'Courier New'">commandClass</span><span style="font-family: 宋体">配置的就是类似于</span><span style="font-family: 'Courier New'">struts</span><span style="font-family: 宋体">中的</span><span style="font-family: 'Courier New'">formBean</span><span style="font-family: 宋体">对象。<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&lt;?</span><span style="color: #000000">xml&nbsp;version</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">1.0</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;encoding</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">UTF-8</span><span style="color: #000000">"</span><span style="color: #000000">?&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">&lt;!</span><span style="color: #000000">DOCTYPE&nbsp;beans&nbsp;PUBLIC&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">-//SPRING//DTD&nbsp;BEAN//EN</span><span style="color: #000000">"</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">http://www.springframework.org/dtd/spring-beans.dtd</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">beans</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;</span><span style="color: #000000">&lt;!--</span><span style="color: #000000">Definition&nbsp;of&nbsp;View&nbsp;Resolver&nbsp;</span><span style="color: #000000">--&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">bean&nbsp;id</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">viewResolver</span><span style="color: #000000">"</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">org.springframework.web.servlet.view.InternalResourceViewResolver</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">property&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">viewClass</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">value</span><span style="color: #000000">&gt;</span><span style="color: #000000">org.springframework.web.servlet.view.JstlView</span><span style="color: #000000">&lt;/</span><span style="color: #000000">value</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">property</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">property&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">prefix</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">value</span><span style="color: #000000">&gt;/</span><span style="color: #000000">WEB</span><span style="color: #000000">-</span><span style="color: #000000">INF</span><span style="color: #000000">/</span><span style="color: #000000">view</span><span style="color: #000000">/&lt;/</span><span style="color: #000000">value</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">property</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">property&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">suffix</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">value</span><span style="color: #000000">&gt;</span><span style="color: #000000">.jsp</span><span style="color: #000000">&lt;/</span><span style="color: #000000">value</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">property</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">bean</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;<br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">&lt;!</span><span style="color: #000000">—就是我们上面说的映射控制器&nbsp;</span><span style="color: #000000">--&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;</span><span style="color: #000000">&lt;!--</span><span style="color: #000000">Request&nbsp;Mapping&nbsp;</span><span style="color: #000000">--&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">bean&nbsp;id</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">urlMapping</span><span style="color: #000000">"</span><span style="color: #000000"><br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">org.springframework.web.servlet.handler.SimpleUrlHandlerMapping</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">property&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">mappings</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">24</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">props</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">25</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">prop&nbsp;key</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">/login.do</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">LoginAction</span><span style="color: #000000">&lt;/</span><span style="color: #000000">prop</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">26</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">props</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">27</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">property</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">28</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">bean</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">29</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;<br />
</span><span style="color: #008080">30</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">&lt;!---</span><span style="color: #000000">类似于struts的action配置</span><span style="color: #000000">--&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">31</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;</span><span style="color: #000000">&lt;!---</span><span style="color: #000000">Action&nbsp;Definition</span><span style="color: #000000">--&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">32</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">bean&nbsp;id</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">LoginAction</span><span style="color: #000000">"</span><span style="color: #000000"><br />
</span><span style="color: #008080">33</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">com.maxway.action.LoginAction</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">34</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">property&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">commandClass</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">35</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">value</span><span style="color: #000000">&gt;</span><span style="color: #000000">com.maxway.action.LoginInfo</span><span style="color: #000000">&lt;/</span><span style="color: #000000">value</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">36</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">property</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">37</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">property&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">fail_view</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">38</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">value</span><span style="color: #000000">&gt;</span><span style="color: #000000">loginfail</span><span style="color: #000000">&lt;/</span><span style="color: #000000">value</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">39</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">property</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">40</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">property&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">success_view</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">41</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">value</span><span style="color: #000000">&gt;</span><span style="color: #000000">main</span><span style="color: #000000">&lt;/</span><span style="color: #000000">value</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">42</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">property</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">43</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">bean</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">44</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">beans</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">45</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<p style="margin-left: 21pt; text-indent: -21pt"><br />
</span></p>
<h1 style="margin-left: 18pt; text-indent: -18pt">&nbsp;</h1>
<h1 style="margin-left: 18pt; text-indent: -18pt">3.<span style="font-family: 宋体">代码的编写</span></h1>
<p style="margin-left: 18pt; text-indent: 0cm">Action<span style="font-family: 宋体">不外乎继承一些现成的类，来实现我们</span>view<span style="font-family: 宋体">部分的业务。<br />
<span style="font-family: 宋体">作者：<a href="http://www.blogjava.net/asktalk">http://www.blogjava.net/asktalk</a></span></span></p>
<img src ="http://www.blogjava.net/asktalk/aggbug/170198.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/asktalk/" target="_blank">Asktalk</a> 2007-12-25 02:23 <a href="http://www.blogjava.net/asktalk/archive/2007/12/25/asktalk.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基于XDoclet的Hibernate3企业级开发培训（1）——one2one映射类型的书写要点</title><link>http://www.blogjava.net/asktalk/archive/2006/03/05/33750.html</link><dc:creator>Asktalk</dc:creator><author>Asktalk</author><pubDate>Sun, 05 Mar 2006 13:27:00 GMT</pubDate><guid>http://www.blogjava.net/asktalk/archive/2006/03/05/33750.html</guid><wfw:comment>http://www.blogjava.net/asktalk/comments/33750.html</wfw:comment><comments>http://www.blogjava.net/asktalk/archive/2006/03/05/33750.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/asktalk/comments/commentRss/33750.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/asktalk/services/trackbacks/33750.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 摘要：此为我给公司内部新员工培训的实战演示例子，傻瓜级教程，讲述了开发中的注意要点和常见错误，目的主要是让他们适应企业级快速流水作业。由于是面对面讲解，所以没有详细的文档，现在简单整理如下，希望对入门者有帮助。<br><br>培训的目标：对下面的开发过程和模式快速理解和应用。基于我的UML架构-----〉Java POJOs代码------〉在pojos中做xdoclet标识-------〉基于ant生成*.hbm.xml文件（借助于eclipse可以自动化配置）------〉生成database schma和数据库sql语句。逐步可以让新员工过渡到java5的annotation来开发EJB3 .<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/asktalk/archive/2006/03/05/33750.html'>阅读全文</a><img src ="http://www.blogjava.net/asktalk/aggbug/33750.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/asktalk/" target="_blank">Asktalk</a> 2006-03-05 21:27 <a href="http://www.blogjava.net/asktalk/archive/2006/03/05/33750.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate深入研究3-1</title><link>http://www.blogjava.net/asktalk/archive/2006/01/18/28548.html</link><dc:creator>Asktalk</dc:creator><author>Asktalk</author><pubDate>Wed, 18 Jan 2006 10:26:00 GMT</pubDate><guid>http://www.blogjava.net/asktalk/archive/2006/01/18/28548.html</guid><wfw:comment>http://www.blogjava.net/asktalk/comments/28548.html</wfw:comment><comments>http://www.blogjava.net/asktalk/archive/2006/01/18/28548.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/asktalk/comments/commentRss/28548.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/asktalk/services/trackbacks/28548.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在Hibernate中有三种状态，对它的深入理解，才能更好的理解hibernate的运行机理，刚开始不太注意这些概念，后来发现它是重要的。对于理解hibernate，JVM和sql的关系有更好的理解。对于需要持久化的JAVA对象，在它的生命周期中有三种状态，而且互相转化。<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/asktalk/archive/2006/01/18/28548.html'>阅读全文</a><img src ="http://www.blogjava.net/asktalk/aggbug/28548.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/asktalk/" target="_blank">Asktalk</a> 2006-01-18 18:26 <a href="http://www.blogjava.net/asktalk/archive/2006/01/18/28548.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate3之One-to-one关系映射</title><link>http://www.blogjava.net/asktalk/archive/2005/08/18/10384.html</link><dc:creator>Asktalk</dc:creator><author>Asktalk</author><pubDate>Wed, 17 Aug 2005 16:26:00 GMT</pubDate><guid>http://www.blogjava.net/asktalk/archive/2005/08/18/10384.html</guid><wfw:comment>http://www.blogjava.net/asktalk/comments/10384.html</wfw:comment><comments>http://www.blogjava.net/asktalk/archive/2005/08/18/10384.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/asktalk/comments/commentRss/10384.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/asktalk/services/trackbacks/10384.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:     对于hibernate的one-to-one关系来说，在hibernate中有两种方法：第一种就是用many-to-one来代替一对多，其实one-to-one也就是many-to-one的一种极限方式，若把many-to-one设置unique="true"，则这时候的many-to-one实质上就是one-to-one;这里为什么能够用many-to-one来代替one-to-one呢？最根本的是连个对象必须有一个字段相关联，那么你也发现one-to-one中没有column属性，也就是不能够把one-to-one的这种关系生成一个字段/属性，而many-to-one可以，它有column属性。所以，说了这么多，你应该明白为什么可以用many-to-one来代替one-to-one.&nbsp;&nbsp;<a href='http://www.blogjava.net/asktalk/archive/2005/08/18/10384.html'>阅读全文</a><img src ="http://www.blogjava.net/asktalk/aggbug/10384.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/asktalk/" target="_blank">Asktalk</a> 2005-08-18 00:26 <a href="http://www.blogjava.net/asktalk/archive/2005/08/18/10384.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用xdoclet开发hibernate3的ant通用代码</title><link>http://www.blogjava.net/asktalk/archive/2005/07/30/8784.html</link><dc:creator>Asktalk</dc:creator><author>Asktalk</author><pubDate>Sat, 30 Jul 2005 08:31:00 GMT</pubDate><guid>http://www.blogjava.net/asktalk/archive/2005/07/30/8784.html</guid><wfw:comment>http://www.blogjava.net/asktalk/comments/8784.html</wfw:comment><comments>http://www.blogjava.net/asktalk/archive/2005/07/30/8784.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/asktalk/comments/commentRss/8784.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/asktalk/services/trackbacks/8784.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 不知道为什么，复制到这里颜色没了，所以就成下面的了。还可以凑或着看吧<br>不用多说了，已经注释很详细了，希望对你有帮助&nbsp;&nbsp;<a href='http://www.blogjava.net/asktalk/archive/2005/07/30/8784.html'>阅读全文</a><img src ="http://www.blogjava.net/asktalk/aggbug/8784.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/asktalk/" target="_blank">Asktalk</a> 2005-07-30 16:31 <a href="http://www.blogjava.net/asktalk/archive/2005/07/30/8784.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>