﻿<?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-Web</title><link>http://www.blogjava.net/JetGeng/category/6368.html</link><description>我的Java天堂</description><language>zh-cn</language><lastBuildDate>Thu, 05 Apr 2007 13:12:07 GMT</lastBuildDate><pubDate>Thu, 05 Apr 2007 13:12:07 GMT</pubDate><ttl>60</ttl><item><title>Taglib 遭遇Resin</title><link>http://www.blogjava.net/JetGeng/archive/2007/04/05/108732.html</link><dc:creator>Jet Geng</dc:creator><author>Jet Geng</author><pubDate>Thu, 05 Apr 2007 08:36:00 GMT</pubDate><guid>http://www.blogjava.net/JetGeng/archive/2007/04/05/108732.html</guid><wfw:comment>http://www.blogjava.net/JetGeng/comments/108732.html</wfw:comment><comments>http://www.blogjava.net/JetGeng/archive/2007/04/05/108732.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/JetGeng/comments/commentRss/108732.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/JetGeng/services/trackbacks/108732.html</trackback:ping><description><![CDATA[<p class="MsoNormal"><span style="font-family: 宋体;">这几天在</span><span lang="EN-US">resin</span><span style="font-family: 宋体;">跑一个</span><span lang="EN-US">taglib</span><span style="font-family: 宋体;">（</span><span lang="EN-US">common-controls http://www.common-controls.com/en/index.php</span><span style="font-family: 宋体;">）库。发现很多东西不能用。下图中的菜单全部变成了&#8220;</span><span lang="EN-US">logout</span><span style="font-family: 宋体;">&#8221;。其他的全部没有了。</span></p>
<img alt=""  src="http://www.blogjava.net/images/blogjava_net/jetgeng/1.JPG" height="94" width="431"><br><span style="font-size: 10.5pt; font-family: 宋体;">这个页面在</span><span style="font-size: 10.5pt; font-family: &quot;times new roman&quot;;" lang="EN-US">tomcat</span><span style="font-size: 10.5pt; font-family: 宋体;">下跑起来的效果是：<br><img alt=""  src="http://www.blogjava.net/images/blogjava_net/jetgeng/2.JPG" height="112" width="498"><br></span>
<p class="MsoNormal"><span style="font-family: 宋体;">怎么会是这样。看上去是不是很奇怪啊。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">后来查看了一下</span><span lang="EN-US">cc-samples\WEB-INF\work\_jsp\_jsp\_template</span><span style="font-family: 宋体;">下的</span><span lang="EN-US">_header__jsp.java</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">发现</span></p>
<p class="MsoNormal"><span lang="EN-US">com.cc.framework.taglib.menu.MenuItemTag</span><span style="font-family: 宋体;">这个类只被创建了一次。而且在重复使用。</span></p>
<p class="MsoNormal"><span lang="EN-US">if (_jsp_MenuItemTag_3 == null) {</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>_jsp_MenuItemTag_3 = new com.cc.framework.taglib.menu.MenuItemTag();</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>_jsp_MenuItemTag_3.setPageContext(pageContext);</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>_jsp_MenuItemTag_3.setParent((javax.servlet.jsp.tagext.Tag)
_jsp_MenuTag_2);</span></p>
<p class="MsoNormal" style="text-indent: 32.25pt;"><span lang="EN-US">}</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">于是我就在猜想啊向</span><span lang="EN-US">com.cc.framework.taglib.menu.MenuTag</span><span style="font-family: 宋体;">这个类的实例中添加了那么多</span><span lang="EN-US">MenuItem</span><span style="font-family: 宋体;">肯定就只加了这么一个实例了。所以在最后显示的只显示出最后设置的参数了。</span></p>
<p class="MsoNormal"><span lang="EN-US"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">最后查看有一个仁兄也遭遇了类是的情况。也用</span><span lang="EN-US">blog</span><span style="font-family: 宋体;">记录下来了。下面的话就是他的结论：</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">于同名<class>标签，引用</class></span><span lang="EN-US">10</span><span style="font-family: 宋体;">次</span><span lang="EN-US">,Tomcat</span><span style="font-family: 宋体;">就会创建</span><span lang="EN-US">10</span><span style="font-family: 宋体;">个方法和标签对象来做对应的处理。而</span><span lang="EN-US">Resin</span><span style="font-family: 宋体;">只会创建</span><span lang="EN-US">1</span><span style="font-family: 宋体;">个对应的标签实例</span><span lang="EN-US">,</span><span style="font-family: 宋体;">如果后面再</span> <span style="font-family: 宋体;">引用，则不会创建新的，只操纵唯一的一个实例。所以在标签的逻辑处理中，要注意属性释放和还原的情况。我犯的错误就是因为其中的一个属性一直保存在该实例</span>
<span style="font-family: 宋体;">中并没有销毁，导致后面再处理的时候发生冲突。</span></p>
<p class="MsoNormal"><span lang="EN-US"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">http://b0r0j0.blogbus.com/logs/4028462.html</span></p>
<br><img src ="http://www.blogjava.net/JetGeng/aggbug/108732.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/JetGeng/" target="_blank">Jet Geng</a> 2007-04-05 16:36 <a href="http://www.blogjava.net/JetGeng/archive/2007/04/05/108732.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>今天使用了spring-mock来进行单元测试</title><link>http://www.blogjava.net/JetGeng/archive/2006/07/14/58234.html</link><dc:creator>Jet Geng</dc:creator><author>Jet Geng</author><pubDate>Fri, 14 Jul 2006 10:02:00 GMT</pubDate><guid>http://www.blogjava.net/JetGeng/archive/2006/07/14/58234.html</guid><wfw:comment>http://www.blogjava.net/JetGeng/comments/58234.html</wfw:comment><comments>http://www.blogjava.net/JetGeng/archive/2006/07/14/58234.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/JetGeng/comments/commentRss/58234.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/JetGeng/services/trackbacks/58234.html</trackback:ping><description><![CDATA[今天用了一下spring-mock来测试系统中的dao.感觉真的不错。这个很简单，记下来得原因是怕自己会忘。<br />你的测试用例必须从AbstractDependencyInjectionSpringContextTests继承。他会帮你创建beanfactory以及beans.但是你必须告诉他到那去找配置文件。这个工作就是通过getConfigLocations方法来完成。一般情况下，这个方法都很简单。<br />看看我的就知道他要干些什么了。<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">@Override<br />    </span><span style="color: rgb(0, 0, 255);">protected</span><span style="color: rgb(0, 0, 0);"> String[] getConfigLocations() {<br />        </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);"> TODO Auto-generated method stub</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">        </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> String[]{ </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">/springContext-hibernate.xml</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"> };<br />    }</span></div>好了，这样就配置完成了。下面的工作就是获取你要测试的对象，并对他测试了。<br /><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> ShipMasterDao getShipMasterDao() {<br />        </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">(shipMasterDao </span><span style="color: rgb(0, 0, 0);">==</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">null</span><span style="color: rgb(0, 0, 0);"> ){<br />            shipMasterDao </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> (ShipMasterDao)</span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">.applicationContext.getBean(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">shipMasterDao</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);<br />        }<br />        </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> shipMasterDao;<br />    }<br />    <br />    </span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"> testGetUser(){<br />        ShipMaster shipMaster </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">.getShipMasterDao().getShipMaster(</span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">);<br />        </span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">.assertEquals(shipMaster.getImono(), </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">imo01</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);<br />    }</span></div>嗯，很简单吧。但是很有用。<br />记下，怕自己忘掉。<br /><img src ="http://www.blogjava.net/JetGeng/aggbug/58234.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/JetGeng/" target="_blank">Jet Geng</a> 2006-07-14 18:02 <a href="http://www.blogjava.net/JetGeng/archive/2006/07/14/58234.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring 中 MVC-step-by-step</title><link>http://www.blogjava.net/JetGeng/archive/2005/12/27/25556.html</link><dc:creator>Jet Geng</dc:creator><author>Jet Geng</author><pubDate>Tue, 27 Dec 2005 04:19:00 GMT</pubDate><guid>http://www.blogjava.net/JetGeng/archive/2005/12/27/25556.html</guid><wfw:comment>http://www.blogjava.net/JetGeng/comments/25556.html</wfw:comment><comments>http://www.blogjava.net/JetGeng/archive/2005/12/27/25556.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/JetGeng/comments/commentRss/25556.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/JetGeng/services/trackbacks/25556.html</trackback:ping><description><![CDATA[昨天把spring文挡中的MVC-step-by-step看了一遍。感觉很爽。以前没有在web项目中使用spring的经验。通过昨天的学习，感觉挺方便的。想好好的看一下。<img src ="http://www.blogjava.net/JetGeng/aggbug/25556.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/JetGeng/" target="_blank">Jet Geng</a> 2005-12-27 12:19 <a href="http://www.blogjava.net/JetGeng/archive/2005/12/27/25556.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>