﻿<?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-≈自由/广阔/深度≈-文章分类-〖开源项目相关〗</title><link>http://www.blogjava.net/wangjiaxi/category/305.html</link><description>在知识的海洋中求索、、、</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 03:34:59 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 03:34:59 GMT</pubDate><ttl>60</ttl><item><title>Struts应用实例</title><link>http://www.blogjava.net/wangjiaxi/articles/873.html</link><dc:creator>蓝色海洋</dc:creator><author>蓝色海洋</author><pubDate>Mon, 31 Jan 2005 08:39:00 GMT</pubDate><guid>http://www.blogjava.net/wangjiaxi/articles/873.html</guid><wfw:comment>http://www.blogjava.net/wangjiaxi/comments/873.html</wfw:comment><comments>http://www.blogjava.net/wangjiaxi/articles/873.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangjiaxi/comments/commentRss/873.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangjiaxi/services/trackbacks/873.html</trackback:ping><description><![CDATA[<P><IMG height=397 alt=strutsinstance.jpg src="http://www.blogjava.net/images/blogjava_net/wangjiaxi/strutsinstance.jpg" width=576 border=0></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><SPAN lang=EN-US style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><SPAN style="mso-list: Ignore">l<SPAN style="FONT: 7pt 'Times New Roman'">        </SPAN></SPAN></SPAN><SPAN lang=EN-US><FONT face=Times>Struts</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Times; mso-hansi-font-family: Times">已有的组件：</SPAN><SPAN lang=EN-US><FONT face=Times>ActionControl</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Times; mso-hansi-font-family: Times">，</SPAN><SPAN lang=EN-US><FONT face=Times>Taglib</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Times; mso-hansi-font-family: Times">。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><SPAN lang=EN-US style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><SPAN style="mso-list: Ignore">l<SPAN style="FONT: 7pt 'Times New Roman'">        </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Times; mso-hansi-font-family: Times">开发人员要编写的代码有：</SPAN><SPAN lang=EN-US><FONT face=Times>EnterpriseForm.java</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Times; mso-hansi-font-family: Times">，</SPAN><SPAN lang=EN-US><FONT face=Times>EnterpriseAction.java</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Times; mso-hansi-font-family: Times">，</SPAN><SPAN lang=EN-US><FONT face=Times>EnterpriseDAO.java</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Times; mso-hansi-font-family: Times">，</SPAN><SPAN lang=EN-US><FONT face=Times>Enterprise_edit.jsp</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Times; mso-hansi-font-family: Times">。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><SPAN lang=EN-US style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><SPAN style="mso-list: Ignore">l<SPAN style="FONT: 7pt 'Times New Roman'">        </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Times; mso-hansi-font-family: Times">开发人员需要配置相关文件：</SPAN><SPAN lang=EN-US><FONT face=Times>struts-config.xml</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Times; mso-hansi-font-family: Times">，</SPAN><SPAN lang=EN-US><FONT face=Times>validator.xml</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Times; mso-hansi-font-family: Times">，</SPAN><SPAN lang=EN-US><FONT face=Times>application.properties</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Times; mso-hansi-font-family: Times">，</SPAN><SPAN lang=EN-US><FONT face=Times>title-def.xml</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Times; mso-hansi-font-family: Times">。</SPAN></P>
<P> </P><img src ="http://www.blogjava.net/wangjiaxi/aggbug/873.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangjiaxi/" target="_blank">蓝色海洋</a> 2005-01-31 16:39 <a href="http://www.blogjava.net/wangjiaxi/articles/873.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts体系结构</title><link>http://www.blogjava.net/wangjiaxi/articles/872.html</link><dc:creator>蓝色海洋</dc:creator><author>蓝色海洋</author><pubDate>Mon, 31 Jan 2005 08:33:00 GMT</pubDate><guid>http://www.blogjava.net/wangjiaxi/articles/872.html</guid><wfw:comment>http://www.blogjava.net/wangjiaxi/comments/872.html</wfw:comment><comments>http://www.blogjava.net/wangjiaxi/articles/872.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangjiaxi/comments/commentRss/872.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangjiaxi/services/trackbacks/872.html</trackback:ping><description><![CDATA[<P><IMG height=300 alt=struts.jpg src="http://www.blogjava.net/images/blogjava_net/wangjiaxi/struts.jpg" width=418 border=0></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">让我们从</SPAN><SPAN lang=EN-US>MVC</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">角度观察</SPAN><SPAN lang=EN-US>struts</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">框架中的组件</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">框架中三个部分：模型，视窗和控制器。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">模型</SPAN><SPAN lang=EN-US><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">struts</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">框架中，模型分为两个部分：</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 31.5pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 31.5pt"><SPAN lang=EN-US style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><SPAN style="mso-list: Ignore">l<SPAN style="FONT: 7pt 'Times New Roman'">         </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">系统的内部状态</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 31.5pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 31.5pt"><SPAN lang=EN-US style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><SPAN style="mso-list: Ignore">l<SPAN style="FONT: 7pt 'Times New Roman'">         </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以改变状态的操作（事务逻辑）</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"><FONT face="Times New Roman">  </FONT></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">内部状态通常由一组</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">ActinForm JavaBean</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示。根据设计或应用程序复杂度的不同，这些</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Bean</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以是自包含的并具有持续的状态，或只在需要时才获得数据（从某个数据库）。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"><FONT face="Times New Roman">  </FONT></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">大型应用程序通常在方法内部封装事务逻辑（操作），这些方法可以被拥有状态信息的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">bean</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调用。比如购物车</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">bean</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，它拥有用户购买商品的信息，可能还有</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">checkOut()</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法用来检查用户的信用卡，并向仓库发定货信息。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"><FONT face="Times New Roman">  </FONT></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">小型程序中，操作可能会被内嵌在</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Action</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">类，它是</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">struts</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">框架中控制器角色的一部分。当逻辑简单时这个方法很适合。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"><FONT face="Times New Roman">  </FONT></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">建议用户将事务逻辑（要做什么）与</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Action</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">类所扮演的角色（决定做什么）分开。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">视窗</SPAN><SPAN lang=EN-US><o:p></o:p></SPAN></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"><FONT face="Times New Roman">  </FONT></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">由</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">JSP</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">建立，</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">struts</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包含扩展的自定义标签库，可以简化创建完全国际化用户界面的过程。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">控制器</SPAN><SPAN lang=EN-US><o:p></o:p></SPAN></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"><B><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">  </SPAN></SPAN></B><SPAN lang=EN-US>struts</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中，基本的控制器组件是</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">ActionServlet</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">类中的实例</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">servelt</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，实际使用的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">servlet</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在配置文件中由一组映射（由</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">ActionMapping</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">类进行描述）进行定义。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0"></SPAN></P><img src ="http://www.blogjava.net/wangjiaxi/aggbug/872.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangjiaxi/" target="_blank">蓝色海洋</a> 2005-01-31 16:33 <a href="http://www.blogjava.net/wangjiaxi/articles/872.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts+Spring+Hibernate应用架构</title><link>http://www.blogjava.net/wangjiaxi/articles/855.html</link><dc:creator>蓝色海洋</dc:creator><author>蓝色海洋</author><pubDate>Mon, 31 Jan 2005 01:08:00 GMT</pubDate><guid>http://www.blogjava.net/wangjiaxi/articles/855.html</guid><wfw:comment>http://www.blogjava.net/wangjiaxi/comments/855.html</wfw:comment><comments>http://www.blogjava.net/wangjiaxi/articles/855.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wangjiaxi/comments/commentRss/855.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wangjiaxi/services/trackbacks/855.html</trackback:ping><description><![CDATA[<IMG height=580 alt=Architecture.jpg src="http://www.blogjava.net/images/blogjava_net/wangjiaxi/Architecture.jpg" width=619 border=0><img src ="http://www.blogjava.net/wangjiaxi/aggbug/855.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wangjiaxi/" target="_blank">蓝色海洋</a> 2005-01-31 09:08 <a href="http://www.blogjava.net/wangjiaxi/articles/855.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>