﻿<?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-飞舞的幻想-随笔分类-Spring</title><link>http://www.blogjava.net/deng947/category/8066.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 01 Mar 2007 15:37:40 GMT</lastBuildDate><pubDate>Thu, 01 Mar 2007 15:37:40 GMT</pubDate><ttl>60</ttl><item><title>Spring 之开始</title><link>http://www.blogjava.net/deng947/archive/2006/03/03/33507.html</link><dc:creator>飞舞的幻想</dc:creator><author>飞舞的幻想</author><pubDate>Fri, 03 Mar 2006 09:19:00 GMT</pubDate><guid>http://www.blogjava.net/deng947/archive/2006/03/03/33507.html</guid><wfw:comment>http://www.blogjava.net/deng947/comments/33507.html</wfw:comment><comments>http://www.blogjava.net/deng947/archive/2006/03/03/33507.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/deng947/comments/commentRss/33507.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/deng947/services/trackbacks/33507.html</trackback:ping><description><![CDATA[<P dir=ltr style="MARGIN-RIGHT: 0px"><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">&nbsp;&nbsp;&nbsp; 一直以来对于<SPAN lang=EN-US>struts</SPAN>是既爱又无奈，知道很流行很好用，也很想搞明白，可是将近两个月却毫无进展，真是愁死俺了。<SPAN lang=EN-US></SPAN></SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">想找本<SPAN lang=EN-US>struts</SPAN>教材从头慢慢细学，可就是没那份耐心，我知道还是没有方向呀。使我很多次都想退却，不再学习<SPAN lang=EN-US>struts</SPAN>，改学<SPAN lang=EN-US>spring</SPAN>，因此搞了一段时间的<SPAN lang=EN-US>spring</SPAN>之后，终于明白做为一个新手我的确太幼稚了，不是自己看着什么好就好的，也不是自己认为什么该做就可以做的。好多时候好多事情都没想象中的简单，所以生活是真的需要耐心，不是你觉得自己有耐心就可以了。<SPAN lang=EN-US></SPAN></SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">先说说<SPAN lang=EN-US>spring</SPAN>的学习，做为一名新手，我不得不说开始真的好难，尤其是一直看不到成功的希望的时候，还好我终于第一次看到了自己做出的东西，终于有一种喜悦涌上心田。开始下载了一大堆的<SPAN lang=EN-US>spring</SPAN>学习教程，但是还是吸取学习<SPAN lang=EN-US>java</SPAN>时的经验只是看一遍是没什么收获的，或许收获的就是其中特别的地方（以前不知道新奇的东西）。所以这次一开始就要配置好环境，找几个练习跟上，我下载了有关的<SPAN lang=EN-US>spring</SPAN>的所有东西，找了一大堆论坛（顺便推荐一个<SPAN lang=EN-US><A href="http://spring.jactiongroup.net/index.php"><SPAN>http://spring.jactiongroup.net/index.php</SPAN></A></SPAN>里面真的好多东西呀，俺就是从这里开始的。）<SPAN lang=EN-US></SPAN></SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jdk</SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">就不说了，好象用的是<SPAN lang=EN-US>jdk1.4.2.-08</SPAN>，然后是<SPAN lang=EN-US>ide</SPAN>就是大家都喜欢的<SPAN lang=EN-US>eclipse3.1.1</SPAN>，当然少不了俺最喜欢的<SPAN lang=EN-US>eclipse</SPAN>插件了，主要的是<SPAN lang=EN-US>MyEclipse4.1M1</SPAN>（当然需要注册破解的，其实一点都不麻烦的），用的服务器嘛？就是大家很喜欢的<SPAN lang=EN-US>JBOSS4.0.3</SPAN>（错了？大家都喜欢<SPAN lang=EN-US>Tomcat</SPAN>，<SPAN lang=EN-US>JBOSS</SPAN>也是在调用<SPAN lang=EN-US>TOMCAT</SPAN>呀，<SPAN lang=EN-US>JBOSS4.0.3</SPAN>调用的<SPAN lang=EN-US>Tomcat5.5</SPAN>我晕！）然后就是配置了，其实没什么要说的，就是觉得以前使用<SPAN lang=EN-US>Tomcat</SPAN>插件的时候需要配置，现在发现太麻烦了，早丢弃不用。什么流行，什么好用我就去用什么？使用<SPAN lang=EN-US>MyEclipse</SPAN>最主要的就是服务器功能，配置很简单的，需要注意的就是选择好服务器之后要使它<SPAN lang=EN-US>Enable</SPAN>而不是默认的<SPAN lang=EN-US>Disable</SPAN>（不知道为什么，<SPAN lang=EN-US>MyEclipse</SPAN>为什么把配置了服务器<SPAN lang=EN-US>HOME</SPAN>的还是让它<SPAN lang=EN-US>Disable</SPAN>害我老是忘记了），还有就是<SPAN lang=EN-US>JRE</SPAN>（服务器使用的）默认的使用起来好像有点问题，因为默认的是在<SPAN lang=EN-US>JRE</SPAN>下，而<SPAN lang=EN-US>MyEclipse</SPAN>下服务器需要的是<SPAN lang=EN-US>FULL JDK</SPAN>，所以需要指向你的<SPAN lang=EN-US>JDK</SPAN>安装目录。其他就没什么好说的了。<SPAN lang=EN-US></SPAN></SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">现在就开始我们的安装<SPAN lang=EN-US>Spring</SPAN>插件的过程吧（虽然俺还没成功，但是你照做你肯定成功的。）有些前辈很搞笑，自己拿着很落后的插件还一本正经的给俺说是最新版本的，俺可以明确的告诉你们现在<SPAN lang=EN-US>Spring</SPAN>在<SPAN lang=EN-US>Eclipse</SPAN>下的插件<SPAN lang=EN-US>SPRINGIDE</SPAN>已经到了<SPAN lang=EN-US>1.2.4</SPAN>版本了，请不要拿着<SPAN lang=EN-US>1.0.2</SPAN>或是<SPAN lang=EN-US>1.0.3</SPAN>当成最新版本。官方下载地址为<SPAN lang=EN-US><A href="http://springide.org/updatesite/">http://springide.org/updatesite/</A></SPAN>。当然在使用之前请保证拥有<SPAN lang=EN-US>GEF</SPAN>插件注意应该是<SPAN lang=EN-US>GEF-runtime</SPAN>，而不是<SPAN lang=EN-US>SDK</SPAN>或其它，当然按我们的常规习惯是解压缩，然后使用<SPAN lang=EN-US>LINK</SPAN>或者放到<SPAN lang=EN-US>Eclipse</SPAN>下<SPAN lang=EN-US>features</SPAN>还有<SPAN lang=EN-US>plugins</SPAN>下，很不幸这次你错了，应该这样做：<SPAN lang=EN-US> </SPAN></SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">打开<SPAN lang=EN-US>eclipse </SPAN></SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">点击<SPAN lang=EN-US>Help-&gt;Software updates-&gt;find and install.. </SPAN></SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">选中<SPAN lang=EN-US> search for new feather to install </SPAN></SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">点击<SPAN lang=EN-US>New Local site.. </SPAN>导航到<SPAN lang=EN-US>updatesite_x.x.x</SPAN>的解压目录，全新的方法呀，以前还真的没用过的。嘿嘿终于见识了一下。<SPAN lang=EN-US></SPAN></SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">使用<SPAN lang=EN-US>spring IDE</SPAN>：点击菜单<SPAN lang=EN-US>window-&gt;show view -&gt;ohter... </SPAN>找到<SPAN lang=EN-US>spring ide</SPAN>。<SPAN lang=EN-US></SPAN></SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">可惜俺总是安装不成功，郁闷呀，一气之下又回到了<SPAN lang=EN-US>Struts</SPAN>，这个让俺恨极的家伙。首先找了点录像学习，结果发现世界真是好呀，什么都有，一个学习框架技术的录像的博客<SPAN lang=EN-US><A HREF="/oksonic/archive/2005/12/13/23680.html">http://www.blogjava.net/oksonic/archive/2005/12/13/23680.html</A></SPAN>绝对经典呀，受益匪浅呀。<SPAN lang=EN-US></SPAN></SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">当然开始还是恨困难的，就让我看看吧。这是例子<SPAN lang=EN-US><A href="http://blog.sina.com.cn/u/3fa10d83010000jq">http://blog.sina.com.cn/u/3fa10d83010000jq</A></SPAN></SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">不过还是先看看这个吧到现在我都不清楚是哪个国家的，不过恨不错的。<SPAN lang=EN-US><A href="http://www.laliluna.de/first-steps-using-struts-tutorial.html">http://www.laliluna.de/first-steps-using-struts-tutorial.html</A></SPAN>怎么样世界真的是太好了要什么有什么呀。唯一的最大的收获就是知道了<SPAN lang=EN-US>ath</SPAN>指示了 哪些<SPAN lang=EN-US>URL</SPAN>提交的<SPAN lang=EN-US>request</SPAN>应该由这个<SPAN lang=EN-US> Action</SPAN>来处理。<SPAN lang=EN-US> </SPAN></SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">比如说，<SPAN lang=EN-US> index.html</SPAN>里面有一个登陆的表单：<SPAN lang=EN-US> </SPAN></SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">&lt;form method="post" action="/login"&gt; </SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">&lt;input type="text" id="id" /&gt; </SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">&lt;input type="text" id="password" /&gt; </SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">&lt;input type="submit"&gt; </SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">&lt;/form&gt; </SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">那么当用户提交了这个表单以后，服务器收到<SPAN lang=EN-US>request</SPAN>后会检查<SPAN lang=EN-US>action</SPAN>属性。以上面的代码为例，得到<SPAN lang=EN-US></SPAN></SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">的是<SPAN lang=EN-US>"/login"</SPAN>。<SPAN lang=EN-US> </SPAN></SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">于是<SPAN lang=EN-US>ActionServlet</SPAN>（或者<SPAN lang=EN-US>RequestProcessor</SPAN>如果是<SPAN lang=EN-US>Struts </SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">就会检查<SPAN lang=EN-US>struts-config.xml</SPAN>里面有没有一个<SPAN lang=EN-US>Action</SPAN>的的<SPAN lang=EN-US>path</SPAN>属性是<SPAN lang=EN-US>"/login"</SPAN>，如果有，那它就会把提交来的数据存到<SPAN lang=EN-US>LogonForm</SPAN>里，然后由<SPAN lang=EN-US>LogonAction</SPAN>处理这个<SPAN lang=EN-US>LogonForm</SPAN>。不容易呀。<SPAN lang=EN-US></SPAN></SPAN></P>
<P dir=ltr style="BACKGROUND: #ebf0fa; MARGIN-RIGHT: 0px; TEXT-ALIGN: left" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体">每天进步一点点就好了。这次就到这里吧！<SPAN lang=EN-US></SPAN></SPAN></P><img src ="http://www.blogjava.net/deng947/aggbug/33507.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/deng947/" target="_blank">飞舞的幻想</a> 2006-03-03 17:19 <a href="http://www.blogjava.net/deng947/archive/2006/03/03/33507.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>