﻿<?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-WaveSun</title><link>http://www.blogjava.net/wavesun/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 05:59:12 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 05:59:12 GMT</pubDate><ttl>60</ttl><item><title>JavaScript 仿Apple滑动条（拖动条）产品展示效果[转]</title><link>http://www.blogjava.net/wavesun/archive/2010/03/22/316172.html</link><dc:creator>WaveSun</dc:creator><author>WaveSun</author><pubDate>Mon, 22 Mar 2010 07:31:00 GMT</pubDate><guid>http://www.blogjava.net/wavesun/archive/2010/03/22/316172.html</guid><wfw:comment>http://www.blogjava.net/wavesun/comments/316172.html</wfw:comment><comments>http://www.blogjava.net/wavesun/archive/2010/03/22/316172.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wavesun/comments/commentRss/316172.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wavesun/services/trackbacks/316172.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这个滑动条（拖动条）效果，一开始是参考了BlueDestiny的slider和Apple产品展示的样式，做了程序的原型。在做了拖放效果之后，我想应该可以做一个更好的了，所以重做一遍，完善和扩展了一些功能。碍于时间没有做得很强大，都是一些基本功能，希望各位多提意见！效果预览 0){this._IsMin = false;}else{if(!this._IsMin)...&nbsp;&nbsp;<a href='http://www.blogjava.net/wavesun/archive/2010/03/22/316172.html'>阅读全文</a><img src ="http://www.blogjava.net/wavesun/aggbug/316172.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wavesun/" target="_blank">WaveSun</a> 2010-03-22 15:31 <a href="http://www.blogjava.net/wavesun/archive/2010/03/22/316172.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring入门【转】</title><link>http://www.blogjava.net/wavesun/archive/2010/03/09/314929.html</link><dc:creator>WaveSun</dc:creator><author>WaveSun</author><pubDate>Tue, 09 Mar 2010 05:00:00 GMT</pubDate><guid>http://www.blogjava.net/wavesun/archive/2010/03/09/314929.html</guid><wfw:comment>http://www.blogjava.net/wavesun/comments/314929.html</wfw:comment><comments>http://www.blogjava.net/wavesun/archive/2010/03/09/314929.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wavesun/comments/commentRss/314929.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wavesun/services/trackbacks/314929.html</trackback:ping><description><![CDATA[<h2 noprint=""><span><a href="http://www.jzwiki.com/article_1215945431010.shtml#">Spring入门</a>
</span>
</h2>
<div id="content">
<p>Spring是一个非常优秀的轻量级框架，通过Spring的IoC容器，我们的关注点便放到了需要实现的业务逻辑
上。对AOP的支持则能让我们动态增强业务方法。编写普通的业务逻辑Bean是非常容易而且易于测试的，因为它能脱离J2EE容器（如
Servlet，jsp环境）单独进行单元测试。最后的一步便是在Spring框架中将这些业务Bean以XML配置文件的方式组织起来，它们就按照我们
预定的目标正常工作了！非常容易！</p>
<p>本文将给出一个基本的Spring入门示例，并演示如何使用Spring的AOP将复杂的业务逻辑分离到每个方面中。</p>
<p>1．开发环境配置2．编写Bean接口及其实现3．在Spring中配置Bean并获得Bean的实例4．编写Advisor以增强
ServiceBean5．总结</p>
1．开发环境配置
<p>首先，需要正确配置Java环境。推荐安装JDK1.4.2，并正确配置环境变量：</p>
<p>JAVA_HOME=&lt;JDK安装目录&gt;CLASSPATH=.Path=%JAVA_HOME%"bin;&#8230;&#8230;</p>
<p>我们将使用免费的Eclipse 3.1作为IDE。新建一个Java
Project，将Spring的发布包spring.jar以及commons-logging-1.0.4.jar复制到Project目录下，并在
Project &gt; Properties中配置好Java Build Path：</p>
<p><img src="http://www.knowsky.com/UploadFiles/20071223/2007122311173829677801.jpg" alt="Spring入门（图一）" border="0" width="590" /> </p>
点击查看大图
2．编写Bean接口及其实现
<p>我们实现一个管理用户的业务Bean。首先定义一个ServiceBean接口，声明一些业务方法：</p>
<p>/**&nbsp;*
Copyright_2006, Liao Xuefeng&nbsp;* Created on 2006-3-9&nbsp;* For more
information, please visit: http://www.crackj2ee.com&nbsp;*/package
com.crackj2ee.example.spring;</p>
<p>/**&nbsp;* Interface of service facade.&nbsp;*
&nbsp;* @author Xuefeng&nbsp;*/public interface ServiceBean {&nbsp;&nbsp;&nbsp; void
addUser(String username, String passWord);&nbsp;&nbsp;&nbsp; void deleteUser(String
username);&nbsp;&nbsp;&nbsp; boolean findUser(String username);&nbsp;&nbsp;&nbsp; String
getPassword(String username);}
</p>
<p>然后在MyServiceBean中实现接口：</p>
<p>/**&nbsp;* Copyright_2006, Liao Xuefeng&nbsp;*
Created on 2006-3-9&nbsp;* &nbsp;* For more information, please visit:
http://www.crackj2ee.com&nbsp;*/package com.crackj2ee.example.spring;</p>
<p>import
java.util.*;</p>
<p>public class MyServiceBean implements ServiceBean {</p>
<p>&nbsp;&nbsp;&nbsp;
private String dir;&nbsp;&nbsp;&nbsp; private Map map = new HashMap();</p>
<p>&nbsp;&nbsp;&nbsp;
public void setUserDir(String dir) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.dir = dir;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
System.out.println("Set user dir to: " + dir);&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public
void addUser(String username, String password) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if(!map.containsKey(username))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.put(username,
password);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new RuntimeException("User
already exist.");&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public void deleteUser(String username)
{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(map.remove(username)==null)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new
RuntimeException("User not exist.");&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public boolean
findUser(String username) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return map.containsKey(username);&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;
public String getPassword(String username) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return
(String)map.get(username);&nbsp;&nbsp;&nbsp; }}
</p>
<p><br />
为了简化逻辑，我们使用一个Map保存用户名和口令。</p>
<p>现在，我们已经有了一个业务Bean。要测试它非常容易，因为到目前为止，我们还没有涉及到Spring容器，也没有涉及到任何Web容器（假定这
是一个Web应用程序关于用户管理的业务Bean）。完全可以直接进行Unit测试，或者，简单地写个main方法测试：</p>
<p>/**&nbsp;*
Copyright_2006, Liao Xuefeng&nbsp;* Created on 2006-3-9&nbsp;* For more
information, please visit: http://www.crackj2ee.com&nbsp;*/package
com.crackj2ee.example.spring;</p>
<p>public class Main {</p>
<p>&nbsp;&nbsp;&nbsp; public
static void main(String[] args) throws Exception {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServiceBean
service = new MyServiceBean();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; service.addUser("bill",
"hello");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; service.addUser("tom", "goodbye");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
service.addUser("tracy", "morning");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("tom's
password is: " + service.getPassword("tom"));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if(service.findUser("tom")) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
service.deleteUser("tom");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; }}
</p>
<p>执行结果：<img src="http://www.knowsky.com/UploadFiles/20071223/2007122311173837577802.jpg" alt="Spring入门（图二）" border="0" height="184" width="566" /></p>
3．在Spring中配置Bean并获得Bean的实例
<p>我们已经在一个main方法中实现了业务，不过，将对象的生命周期交给容器管理是更好的办法，我们就不必为初始化对象和销毁对象进行硬编码，从而获
得更大的灵活性和可测试性。</p>
<p>想要把ServiceBean交给Spring来管理，我们需要一个XML配置文件。新建一个beans.xml，放到src目录下，确保在
classpath中能找到此配置文件，输入以下内容：</p>
<p>&lt;?xml version="1.0"
encoding="UTF-8"?&gt;&lt;!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd"&gt;&lt;beans&gt;&nbsp;&nbsp;&nbsp;
&lt;bean id="service"
class="com.crackj2ee.example.spring.MyServiceBean" /&gt;&lt;/beans&gt;
</p>
<p>以上XML声明了一个id为service的Bean，默认地，Spring为每个声明的Bean仅创建一个实例，并通过id来引用这个
Bean。下面，我们修改main方法，让Spring来管理业务Bean：</p>
<p>/**&nbsp;* Copyright_2006, Liao
Xuefeng&nbsp;* Created on 2006-3-9&nbsp;* For more information, please visit:
http://www.crackj2ee.com&nbsp;*/package com.crackj2ee.example.spring;</p>
<p>import
org.springframework.beans.factory.xml.XmlBeanFactory;import
org.springframework.core.io.ClassPathResource;</p>
<p>public class Main {</p>
<p>&nbsp;&nbsp;&nbsp;
public static void main(String[] args) throws Exception {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
init factory:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlBeanFactory factory = new XmlBeanFactory(new
ClassPathResource("beans.xml"));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // use service bean:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ServiceBean service = (ServiceBean)factory.getBean("service");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
service.addUser("bill", "hello");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; service.addUser("tom",
"goodbye");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; service.addUser("tracy", "morning");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
System.out.println("tom's password is """ + service.getPassword("tom") +
"""");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(service.findUser("tom")) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
service.deleteUser("tom");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // close factory:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
factory.destroySingletons();&nbsp;&nbsp;&nbsp; }}
</p>
<p><br />
执行结果：&nbsp;<img src="http://www.knowsky.com/UploadFiles/20071223/2007122311173843777803.jpg" alt="Spring入门（图三）" border="0" height="183" width="566" /></p>
<p>由于我们要通过main方法启动Spring环境，因此，首先需要初始化一个BeanFactory。红色部分是初始化Spring的
BeanFactory的典型代码，只需要保证beans.xml文件位于classpath中。</p>
<p>然后，在BeanFactory中通过id查找，即可获得相应的Bean的实例，并将其适当转型为合适的接口。</p>
<p>接着，实现一系列业务操作，在应用程序结束前，让Spring销毁所有的Bean实例。</p>
<p>对比上一个版本的Main，可以看出，最大的变化是不需要自己管理Bean的生命周期。另一个好处是在不更改实现类的前提下，动态地为应用程序增加
功能。</p>
4．编写Advisor以增强ServiceBean
<p>所谓AOP即是将分散在各个方法处的公共代码提取到一处，并通过类似拦截器的机制实现代码的动态织入。可以简单地想象成，在某个方法的调用前、返回
前、调用后和抛出异常时，动态插入自己的代码。在弄清楚Pointcut、Advice之类的术语前，不如编写一个最简单的AOP应用来体验一下。</p>
<p>考虑一下通常的Web应用程序都会有日志记录，我们来编写一个LogAdvisor，对每个业务方法调用前都作一个记录：</p>
<p>/**&nbsp;*
Copyright_2006, Liao Xuefeng&nbsp;* Created on 2006-3-9&nbsp;* For more
information, please visit: http://www.crackj2ee.com&nbsp;*/package
com.crackj2ee.example.spring;</p>
<p>import
java.lang.reflect.Method;import
org.springframework.aop.MethodBeforeAdvice;</p>
<p>public class
LogAdvisor implements MethodBeforeAdvice {&nbsp;&nbsp;&nbsp; public void before(Method
m, Object[] args, Object target) throws Throwable {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
System.out.println("[Log] " + target.getClass().getName() + "." +
m.getName() + "()");&nbsp;&nbsp;&nbsp; }}
</p>
<p>然后，修改beans.xml：</p>
<p>&lt;?xml version="1.0"
encoding="UTF-8"?&gt;&lt;!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd"&gt;</p>
<p>&lt;beans&gt;&nbsp;&nbsp;&nbsp;
&lt;bean id="serviceTarget"
class="com.crackj2ee.example.spring.MyServiceBean" /&gt;</p>
<p>&nbsp;&nbsp;&nbsp;
&lt;bean id="logAdvisor" class="com.crackj2ee.example.spring.LogAdvisor"
/&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;bean id="service"
class="org.springframework.aop.framework.ProxyFactoryBean"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;property
name="proxyInterfaces"&gt;&lt;value&gt;com.crackj2ee.example.spring.ServiceBean&lt;/value&gt;&lt;/property&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;property name="target"&gt;&lt;ref
local="serviceTarget"/&gt;&lt;/property&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property
name="interceptorNames"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;list&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;value&gt;logAdvisor&lt;/value&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/list&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/property&gt;&nbsp;&nbsp;&nbsp; &lt;/bean&gt;&lt;/beans&gt;
</p>
<p>注意观察修改后的配置文件，我们使用了一个ProxyFactoryBean作为service来与客户端打交道，而真正的业务Bean即
MyServiceBean被声明为serviceTarget并作为参数对象传递给ProxyFactoryBean，proxyInterfaces
指定了返回的接口类型。对于客户端而言，将感觉不出任何变化，但却动态加入了LogAdvisor，关系如下：&nbsp;<img src="http://www.knowsky.com/UploadFiles/20071223/2007122311173850077804.jpg" alt="Spring入门（图四）" border="0" height="106" width="382" /></p>
<p><br />
运行结果如下，可以很容易看到调用了哪些方法：&nbsp;<img src="http://www.knowsky.com/UploadFiles/20071223/2007122311173856277805.jpg" alt="Spring入门（图五）" border="0" height="330" width="566" /></p>
<p>要截获指定的某些方法也是可以的。下面的例子将修改getPassword()方法的返回值：</p>
<p>/**&nbsp;*
Copyright_2006, Liao Xuefeng&nbsp;* Created on 2006-3-9&nbsp;* For more
information, please visit: http://www.crackj2ee.com&nbsp;*/package
com.crackj2ee.example.spring;</p>
<p>import
org.aopalliance.intercept.MethodInterceptor;import
org.aopalliance.intercept.MethodInvocation;</p>
<p>public class
PasswordAdvisor implements MethodInterceptor {&nbsp;&nbsp;&nbsp; public Object
invoke(MethodInvocation invocation) throws Throwable {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Object ret
= invocation.proceed();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(ret==null)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return
null;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String password = (String)ret;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StringBuffer encrypt =
new StringBuffer(password.length());&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int i=0;
i&lt;password.length(); i++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; encrypt.append('*');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return encrypt.toString();&nbsp;&nbsp;&nbsp; }}
</p>
<p>这个PasswordAdvisor将截获ServiceBean的getPassword()方法的返回值，并将其改为"***"。继续
修改beans.xml：</p>
<p>&lt;?xml version="1.0"
encoding="UTF-8"?&gt;&lt;!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd"&gt;&lt;beans&gt;&nbsp;&nbsp;&nbsp;
&lt;bean id="serviceTarget"
class="com.crackj2ee.example.spring.MyServiceBean" /&gt;</p>
<p>&nbsp;&nbsp;&nbsp;
&lt;bean id="logAdvisor" class="com.crackj2ee.example.spring.LogAdvisor"
/&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;bean id="passwordAdvisorTarget"
class="com.crackj2ee.example.spring.PasswordAdvisor" /&gt;</p>
<p>&nbsp;&nbsp;&nbsp;
&lt;bean id="passwordAdvisor"
class="org.springframework.aop.support.RegeXPMethodPointcutAdvisor"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;property name="advice"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ref
local="passwordAdvisorTarget"/&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;property name="patterns"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;list&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;value&gt;.*getPassword&lt;/value&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/list&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/property&gt;&nbsp;&nbsp;&nbsp; &lt;/bean&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;bean id="service"
class="org.springframework.aop.framework.ProxyFactoryBean"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;property
name="proxyInterfaces"&gt;&lt;value&gt;com.crackj2ee.example.spring.ServiceBean&lt;/value&gt;&lt;/property&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;property name="target"&gt;&lt;ref
local="serviceTarget"/&gt;&lt;/property&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property
name="interceptorNames"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;list&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;value&gt;logAdvisor&lt;/value&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;value&gt;passwordAdvisor&lt;/value&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/list&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;&nbsp;&nbsp;&nbsp; &lt;/bean&gt;&lt;/beans&gt;
</p>
<p><br />
利用Spring提供的一个RegexMethodPointcutAdvisor可以非常容易地指定要截获的方法。运行结果如下，可以看到返回结果变
为"******"：&nbsp;<img src="http://www.knowsky.com/UploadFiles/20071223/2007122311173864077806.jpg" alt="Spring入门（图六）" border="0" height="343" width="566" /></p>
<p>还需要继续增强ServiceBean？我们编写一个ExceptionAdvisor，在业务方法抛出异常时能做一些处理：</p>
<p>/**&nbsp;*
Copyright_2006, Liao Xuefeng&nbsp;* Created on 2006-3-9&nbsp;* For more
information, please visit: http://www.crackj2ee.com&nbsp;*/package
com.crackj2ee.example.spring;</p>
<p>import
org.springframework.aop.ThrowsAdvice;</p>
<p>public class
ExceptionAdvisor implements ThrowsAdvice {&nbsp;&nbsp;&nbsp; public void
afterThrowing(RuntimeException re) throws Throwable {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
System.out.println("[Exception] " + re.getMessage());&nbsp;&nbsp;&nbsp; }}
</p>
<p>将此Advice添加到beans.xml中，然后在业务Bean中删除一个不存在的用户，故意抛出异常：</p>
<p>service.deleteUser("not-exist");
</p>
<p>再次运行，注意到ExceptionAdvisor记录下了异常：&nbsp;<img src="http://www.knowsky.com/UploadFiles/20071223/2007122311173871877807.jpg" alt="Spring入门（图七）" border="0" height="223" width="566" /></p>
5．总结
<p>利用Spring非常强大的IoC容器和AOP功能，我们能实现非常灵活的应用，让Spring容器管理业务对象的生命周期，利用AOP增强功能，
却不影响业务接口，从而避免更改客户端代码。</p>
<p>为了实现这一目标，必须始终牢记：面向接口编程。而Spring默认的AOP代理也是通过Java的代理接口实现的。虽然Spring也可以用
CGLIB实现对普通类的代理，但是，业务对象只要没有接口，就会变得难以扩展、维护和测试。</p>
<p>欢迎来信与作者交流：asklxf@163.com</p>
<p>可以从此处下载完整的Eclipse工程：</p>
<p>springbasic.rar</p>
<p>（出处：http://www.jzwiki.com/article_1215945431010.shtml#）</p>
</div>
<img src ="http://www.blogjava.net/wavesun/aggbug/314929.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wavesun/" target="_blank">WaveSun</a> 2010-03-09 13:00 <a href="http://www.blogjava.net/wavesun/archive/2010/03/09/314929.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>去除JSP页面自动生成的空行 [转]</title><link>http://www.blogjava.net/wavesun/archive/2010/03/09/314911.html</link><dc:creator>WaveSun</dc:creator><author>WaveSun</author><pubDate>Tue, 09 Mar 2010 02:08:00 GMT</pubDate><guid>http://www.blogjava.net/wavesun/archive/2010/03/09/314911.html</guid><wfw:comment>http://www.blogjava.net/wavesun/comments/314911.html</wfw:comment><comments>http://www.blogjava.net/wavesun/archive/2010/03/09/314911.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wavesun/comments/commentRss/314911.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wavesun/services/trackbacks/314911.html</trackback:ping><description><![CDATA[<h1><br />
<cite><a href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(saveit=window.open('http://wz.csdn.net/storeit.aspx?t='+escape(d.title)+'&amp;u='+escape(d.location.href)+'&amp;c='+escape(t),'saveit','scrollbars=no,width=590,height=300,left=75,top=20,status=no,resizable=yes'));saveit.focus();" class="fav_csdnstylebykimi" title="收藏到我的网摘中，并分享给我的朋友"></a> </cite>
</h1>
<div>
<script type="text/javascript">
document.body.oncopy = function() {
if (window.clipboardData) {
setTimeout(function() {
var text = clipboardData.getData("text");
if (text && text.length > 300) {
text = text + ""r"n"n本文来自CSDN博客，转载请标明出处：" + location.href;
clipboardData.setData("text", text);
}
}, 100);
}
}
</script>
<script type="text/javascript">                        function StorePage() { d = document; t = d.selection ? (d.selection.type != 'None' ? d.selection.createRange().text : '') : (d.getSelection ? d.getSelection() : ''); void (keyit = window.open('http://www.365key.com/storeit.aspx?t=' + escape(d.title) + '&u=' + escape(d.location.href) + '&c=' + escape(t), 'keyit', 'scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes')); keyit.focus(); }</script>
<div c07="" content="" id="blogtext_fks!084070092084081067082084087095092086085069092094080071">
<p>当你在客户端用view
source看JSP生成的代码时，会发现有很多空行，他们是由&lt;%...%&gt;后的回车换行而生成的，也就是说每一行
由&lt;%...%&gt;包含的JSP代码到客户端都变成一个空行，虽然不影响浏览，但还是希望能把他们删掉</p>
<p>办法如下：（网上收集整理）</p>
<p>1. 支持JSP 2.1+ ，在每个要去空行的页面里包含下面代码：</p>
<p><font color="#3366ff"><strong>&nbsp;</strong></font>&nbsp;</p>
<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: none repeat scroll 0% 0% #e6e6e6; width: 95%;">
<div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: #000000;">&lt;%</span><span style="color: #000000;">@&nbsp;page&nbsp;trimDirectiveWhitespaces</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">true</span><span style="color: #000000;">"</span>&nbsp;<span style="color: #000000;">%&gt;</span></div>
</div>
<p><font color="#ff0000"><strong>在 Tomcat 6.0.14下测试成功</strong></font></p>
<p><br />
2. 支持servlet 2.5+, 即 web.xml的 XSD版本为2.5，在web.xml中加入如下代码</p>
<p><font color="#3366ff"><strong>&nbsp;</strong></font>&nbsp;</p>
<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: none repeat scroll 0% 0% #e6e6e6; width: 95%;">
<div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: #000000;">&lt;</span><span style="color: #000000;">jsp</span><span style="color: #000000;">-</span><span style="color: #000000;">config</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">jsp</span><span style="color: #000000;">-</span><span style="color: #000000;">property</span><span style="color: #000000;">-</span><span style="color: #000000;">group</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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;">.jsp</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 />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">trim</span><span style="color: #000000;">-</span><span style="color: #000000;">directive</span><span style="color: #000000;">-</span><span style="color: #000000;">whitespaces</span><span style="color: #000000;">&gt;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">trim</span><span style="color: #000000;">-</span><span style="color: #000000;">directive</span><span style="color: #000000;">-</span><span style="color: #000000;">whitespaces</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">jsp</span><span style="color: #000000;">-</span><span style="color: #000000;">property</span><span style="color: #000000;">-</span><span style="color: #000000;">group</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">jsp</span><span style="color: #000000;">-</span><span style="color: #000000;">config</span><span style="color: #000000;">&gt;</span></div>
</div>
<p><strong><font color="#ff0000">在tomcat 6.0.14下测试成功</font></strong></p>
<p><br />
3. Tomcat
5.5.x+，在Tomcat安装目录/conf/web.xml中找到名叫"jsp"的servlet，添加下面一段代码：</p>
<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: none repeat scroll 0% 0% #e6e6e6; width: 95%;">
<div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><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;"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;">name</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">trimSpaces</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;"><br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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: #0000ff;">true</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 />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&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></div>
</div>
<p><br />
&nbsp;</p>
<p>本人没测过，不过tomcat中web.xml文件的帮助这么说的</p>
<p>trimSpaces&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Should white spaces in template text
between&nbsp;&nbsp;actions or directives be trimmed?&nbsp; [false]</p>
<p>所以应该可行&nbsp;<img alt="" src="http://st.blog.163.com/style/common/htmlEditor/portrait/face/preview/face0.gif" /></p>
</div>
<p articalinfo="">
发表于 @
2008年05月23日　11:40:00&nbsp;| <a id="a_comment" href="http://blog.csdn.net/xuhaiyang/archive/2008/05/23/2472591.aspx#FeedBack" title="评论">评论( <span id="FeedbackCount_2472591">3</span>
<script type="text/javascript">
AddFeedbackCountStack("2472591")
</script>
) </a>|  <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#119;&#101;&#98;&#109;&#97;&#115;&#116;&#101;&#114;&#64;&#99;&#115;&#100;&#110;&#46;&#110;&#101;&#116;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#65;&#114;&#116;&#105;&#99;&#108;&#101;&#37;&#50;&#48;&#82;&#101;&#112;&#111;&#114;&#116;&#37;&#50;&#49;&#37;&#50;&#49;&#37;&#50;&#49;&#38;&#97;&#109;&#112;&#59;&#98;&#111;&#100;&#121;&#61;&#65;&#117;&#116;&#104;&#111;&#114;&#58;&#120;&#117;&#104;&#97;&#105;&#121;&#97;&#110;&#103;&#37;&#48;&#68;&#37;&#48;&#65;&#85;&#82;&#76;&#58;&#104;&#116;&#116;&#112;&#58;&#47;&#47;&#98;&#108;&#111;&#103;&#46;&#99;&#115;&#100;&#110;&#46;&#110;&#101;&#116;&#47;&#65;&#114;&#116;&#105;&#99;&#108;&#101;&#67;&#111;&#110;&#116;&#101;&#110;&#116;&#46;&#97;&#115;&#112;&#120;&#63;&#85;&#115;&#101;&#114;&#78;&#97;&#109;&#101;&#61;&#120;&#117;&#104;&#97;&#105;&#121;&#97;&#110;&#103;&#38;&#97;&#109;&#112;&#59;&#69;&#110;&#116;&#114;&#121;&#105;&#100;&#61;&#50;&#52;&#55;&#50;&#53;&#57;&#49;">
举报</a>| <cite><a href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(saveit=window.open('http://wz.csdn.net/storeit.aspx?t='+escape(d.title)+'&amp;u='+escape(d.location.href)+'&amp;c='+escape(t),'saveit','scrollbars=no,width=590,height=300,left=75,top=20,status=no,resizable=yes'));saveit.focus();" class="fav_csdnstylebykimi" title="收藏到我的网摘中，并分享给我的朋友">收藏</a> </cite>
</p>
<div>
<dl><dt><a onclick="LogClickCount(this,215)" target="_blank" href="http://blog.csdn.net/">查看最新精华文章 请访问博客首页</a>相关文章</dt></dl>
</div>
</div>
<script type="text/javascript">
var CurrentEntryId = '2472591';
var CurArticleTitle = '去除JSP页面自动生成的空行';
var AllowComment = 'True';
var AllowAnonymousComment = /^true$/i.test('True');
</script>
<div id="commentslist">
<dl><dt><a href="http://hi.csdn.net/mcoldice" target="_blank" rel="nofollow">mcoldice</a>&nbsp;发
表于2009年2月23日 16:56:39&nbsp;&nbsp;<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#119;&#101;&#98;&#109;&#97;&#115;&#116;&#101;&#114;&#64;&#99;&#115;&#100;&#110;&#46;&#110;&#101;&#116;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#67;&#111;&#109;&#109;&#101;&#110;&#116;&#37;&#50;&#48;&#82;&#101;&#112;&#111;&#114;&#116;&#37;&#50;&#49;&#37;&#50;&#49;&#37;&#50;&#49;&#38;&#97;&#109;&#112;&#59;&#98;&#111;&#100;&#121;&#61;&#65;&#117;&#116;&#104;&#111;&#114;&#58;&#109;&#99;&#111;&#108;&#100;&#105;&#99;&#101;&#37;&#50;&#48;&#85;&#82;&#76;&#58;&#104;&#116;&#116;&#112;&#58;&#47;&#47;&#98;&#108;&#111;&#103;&#46;&#99;&#115;&#100;&#110;&#46;&#110;&#101;&#116;&#47;&#120;&#117;&#104;&#97;&#105;&#121;&#97;&#110;&#103;&#47;&#97;&#114;&#99;&#104;&#105;&#118;&#101;&#47;&#50;&#48;&#48;&#56;&#47;&#48;&#53;&#47;&#50;&#51;&#47;&#50;&#52;&#55;&#50;&#53;&#57;&#49;&#46;&#97;&#115;&#112;&#120;">举
报</a><a href="javascript:Reply(1050926,'mcoldice')">回复</a></dt><dd><img alt="" src="http://avatar.csdn.net/p/mcoldice/2" height="40px" width="40px" /></dd><dd>关于第三条：<br />
1 确实有效<br />
2
5.0也同样有效，所以不时必须要5.5.x+</dd></dl><dl><dt><a href="http://hi.csdn.net/mcoldice" target="_blank" rel="nofollow">mcoldice</a>&nbsp;发
表于2009年2月23日 16:56:53&nbsp;&nbsp;<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#119;&#101;&#98;&#109;&#97;&#115;&#116;&#101;&#114;&#64;&#99;&#115;&#100;&#110;&#46;&#110;&#101;&#116;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#67;&#111;&#109;&#109;&#101;&#110;&#116;&#37;&#50;&#48;&#82;&#101;&#112;&#111;&#114;&#116;&#37;&#50;&#49;&#37;&#50;&#49;&#37;&#50;&#49;&#38;&#97;&#109;&#112;&#59;&#98;&#111;&#100;&#121;&#61;&#65;&#117;&#116;&#104;&#111;&#114;&#58;&#109;&#99;&#111;&#108;&#100;&#105;&#99;&#101;&#37;&#50;&#48;&#85;&#82;&#76;&#58;&#104;&#116;&#116;&#112;&#58;&#47;&#47;&#98;&#108;&#111;&#103;&#46;&#99;&#115;&#100;&#110;&#46;&#110;&#101;&#116;&#47;&#120;&#117;&#104;&#97;&#105;&#121;&#97;&#110;&#103;&#47;&#97;&#114;&#99;&#104;&#105;&#118;&#101;&#47;&#50;&#48;&#48;&#56;&#47;&#48;&#53;&#47;&#50;&#51;&#47;&#50;&#52;&#55;&#50;&#53;&#57;&#49;&#46;&#97;&#115;&#112;&#120;">举
报</a><a href="javascript:Reply(1050927,'mcoldice')">回复</a></dt><dd><img alt="" src="http://avatar.csdn.net/p/mcoldice/2" height="40px" width="40px" /></dd><dd>关于第三条：<br />
1 确实有效<br />
2
5.0也同样有效，所以不时必须要5.5.x+</dd></dl><dl><dt><a href="http://hi.csdn.net/xuhaiyang" target="_blank" rel="nofollow">xuhaiyang</a>&nbsp;发
表于2009年2月23日 17:55:25&nbsp;&nbsp;<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#119;&#101;&#98;&#109;&#97;&#115;&#116;&#101;&#114;&#64;&#99;&#115;&#100;&#110;&#46;&#110;&#101;&#116;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#67;&#111;&#109;&#109;&#101;&#110;&#116;&#37;&#50;&#48;&#82;&#101;&#112;&#111;&#114;&#116;&#37;&#50;&#49;&#37;&#50;&#49;&#37;&#50;&#49;&#38;&#97;&#109;&#112;&#59;&#98;&#111;&#100;&#121;&#61;&#65;&#117;&#116;&#104;&#111;&#114;&#58;&#120;&#117;&#104;&#97;&#105;&#121;&#97;&#110;&#103;&#37;&#50;&#48;&#85;&#82;&#76;&#58;&#104;&#116;&#116;&#112;&#58;&#47;&#47;&#98;&#108;&#111;&#103;&#46;&#99;&#115;&#100;&#110;&#46;&#110;&#101;&#116;&#47;&#120;&#117;&#104;&#97;&#105;&#121;&#97;&#110;&#103;&#47;&#97;&#114;&#99;&#104;&#105;&#118;&#101;&#47;&#50;&#48;&#48;&#56;&#47;&#48;&#53;&#47;&#50;&#51;&#47;&#50;&#52;&#55;&#50;&#53;&#57;&#49;&#46;&#97;&#115;&#112;&#120;">举
报</a><a href="javascript:Reply(1050963,'xuhaiyang')">回复</a></dt><dd><img alt="" src="http://avatar.csdn.net/p/xuhaiyang/2" height="40px" width="40px" /></dd><dd>因
为没用5.0测过，所以就没写出来。<br />
谢谢你的补测。</dd></dl></div>
<script type="text/javascript">
function ChangeIdentifyingCode() {
var url = $('#imgValidationCode').attr('src');
if (!(/&d=["d".]+$/).test(url)) url += "&d=1";
url = url.replace(/&d=["d".]+$/, "&d=" + Math.random());
$('#imgValidationCode').attr('src', url);
}
function OpenLoginDialog() {
element = document.getElementById("loginBtn");
var position = absolutePoint(element);
var dialogTop = position.y - 400;
var dialogLeft = position.x - 220;
var dialogWidth = 435;
var dialogHeight = 420;
showWindow({ url: 'http://passport.csdn.net/UserLogin.aspx?show=replyLogin&from=http%3a%2f%2fblog.csdn.net%2f!tools%2fLoginSussess.aspx'
, title: '登录'
, top: dialogTop
, left: dialogLeft
, width: dialogWidth
, height: dialogHeight
});
}
function closeDialog(needRefresh) {
closeWindow();
if (needRefresh) {
var url = location.href;
if ((/"?/g).test(url))
url = url.replace(/"?.*$/g, ("?" + Math.random()).replace(/"./g, ""));
else url += ("?" + Math.random()).replace(/"./g, "");
location.href = url;
}
$("#SubmitFeedback").unbind("click");
$("#SubmitFeedback").bind("click", PostContent);
}
function absolutePoint(element) {
var result = { x: element.offsetLeft, y: element.offsetTop };
element = element.offsetParent;
while (element) {
result.x += element.offsetLeft;
result.y += element.offsetTop;
element = element.offsetParent;
}
return result;
}
</script>
<div>
原文地址：http://blog.csdn.net/xuhaiyang/archive/2008/05/23/2472591.aspx</div>
<img src ="http://www.blogjava.net/wavesun/aggbug/314911.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wavesun/" target="_blank">WaveSun</a> 2010-03-09 10:08 <a href="http://www.blogjava.net/wavesun/archive/2010/03/09/314911.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP web.xml &lt;jsp-config&gt;标签使用详解[转]</title><link>http://www.blogjava.net/wavesun/archive/2010/03/09/314909.html</link><dc:creator>WaveSun</dc:creator><author>WaveSun</author><pubDate>Tue, 09 Mar 2010 01:51:00 GMT</pubDate><guid>http://www.blogjava.net/wavesun/archive/2010/03/09/314909.html</guid><wfw:comment>http://www.blogjava.net/wavesun/comments/314909.html</wfw:comment><comments>http://www.blogjava.net/wavesun/archive/2010/03/09/314909.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wavesun/comments/commentRss/314909.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wavesun/services/trackbacks/314909.html</trackback:ping><description><![CDATA[关键字: jsp &lt;<span class="hilite1">jsp-config</span>&gt;
<div class="dp-highlighter"><span style="font-family: arial,helvetica,sans-serif; font-size: small;"><strong>&lt;<span class="hilite1">jsp-config</span>&gt;</strong>
<span style="font-family: 宋体;">包括</span>
<span style="color: #0000ff;">&lt;taglib&gt;</span>
<span style="font-family: 宋体;">和</span>
<span style="color: #0000ff;">&lt;jsp-property-group&gt;</span>
<span style="font-family: 宋体;">两个子元素。其中<span style="font-family: arial,helvetica,sans-serif;">&lt;taglib&gt;</span>
元素在<span style="font-family: arial,helvetica,sans-serif;">JSP 1.2</span>
时就已经存在；而<span style="font-family: arial,helvetica,sans-serif;">&lt;jsp-property-group&gt;</span>
是<span style="font-family: arial,helvetica,sans-serif;">JSP 2.0</span>
新增的元素。<span style="font-family: arial,helvetica,sans-serif;">&lt;jsp-property-group&gt;</span>
元素主要有八个子元素，它们分别为：</span>
<br />
1.&lt;description&gt;：<span style="font-family: 宋体;">设定的说明</span>
<br />
2.&lt;display-name&gt;：<span style="font-family: 宋体;">设定名称</span>
<br />
3.&lt;url-pattern&gt;：<span style="font-family: 宋体;">设定值所影响的范围，如：</span>
/CH2 <span style="font-family: 宋体;">或</span>
/*.jsp<br />
4.&lt;el-ignored&gt;：<span style="font-family: 宋体;">若为</span>
true，<span style="font-family: 宋体;">表示不支持</span>
EL <span style="font-family: 宋体;">语法</span>
<br />
5.&lt;scripting-invalid&gt;：<span style="font-family: 宋体;">若为</span>
true<span style="font-family: 宋体;">，表示不支持</span>
&lt;% scripting %&gt;<span style="font-family: 宋体;">语法</span>
<br />
6.&lt;page-encoding&gt;：<span style="font-family: 宋体;">设定</span>
JSP <span style="font-family: 宋体;">网页的编码</span>
<br />
7.&lt;include-prelude&gt;：<span style="font-family: 宋体;">设置</span>
JSP <span style="font-family: 宋体;">网页的抬头，扩展名为</span>
.jspf<br />
8.&lt;include-coda&gt;：<span style="font-family: 宋体;">设置</span>
JSP <span style="font-family: 宋体;">网页的结尾，扩展名为</span>
.jspf</span>
</div>
<div class="dp-highlighter"><br />
</div>
<div class="dp-highlighter"><span style="font-family: 宋体; font-size: small;">一个简单的<span style="font-family: arial,helvetica,sans-serif;">&lt;<span class="hilite1">jsp-config</span>&gt;</span>
元素完整配置：</span>
<br />
</div>
<div class="dp-highlighter"><br />
</div>
<div class="dp-highlighter">
<div class="dp-highlighter">
<div class="bar">
<div class="tools">Xml代码 <embed src="http://janwer.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" flashvars="clipboard=%3Cjsp-config%3E%20%20%20%0A%20%20%3Ctaglib%3E%20%20%20%0A%20%20%20%20%3Ctaglib-uri%3ETaglib%3C%2Ftaglib-uri%3E%20%20%20%0A%20%20%20%20%3Ctaglib-location%3E%2FWEB-INF%2Ftlds%2FMyTaglib.tld%3C%2Ftaglib-location%3E%20%20%20%0A%20%20%3C%2Ftaglib%3E%20%20%20%0A%20%20%3Cjsp-property-group%3E%20%20%20%0A%20%20%20%20%3Cdescription%3ESpecial%20property%20group%20for%20JSP%20Configuration%20JSP%20example.%3C%2Fdescription%3E%20%20%20%0A%20%20%20%20%3Cdisplay-name%3EJSPConfiguration%3C%2Fdisplay-name%3E%20%20%20%0A%20%20%20%20%3Curl-pattern%3E%2Fjsp%2F*%20%3C%2Furl-pattern%3E%20%20%20%0A%20%20%20%20%3Cel-ignored%3Etrue%3C%2Fel-ignored%3E%20%20%20%0A%20%20%20%20%3Cpage-encoding%3EGB2312%3C%2Fpage-encoding%3E%20%20%20%0A%20%20%20%20%3Cscripting-invalid%3Etrue%3C%2Fscripting-invalid%3E%20%20%20%0A%20%20%20%20%3Cinclude-prelude%3E%2Finclude%2Fprelude.jspf%3C%2Finclude-prelude%3E%20%20%20%0A%20%20%20%20%3Cinclude-coda%3E%2Finclude%2Fcoda.jspf%3C%2Finclude-coda%3E%20%20%20%0A%20%20%3C%2Fjsp-property-group%3E%20%20%20%0A%3C%2Fjsp-config%3E" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" height="15" width="14"></div>
</div>
<ol class="dp-xml" start="1">
    <li><span><span class="tag">&lt;</span><span class="tag-name"><span class="hilite1">jsp-config</span></span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">taglib</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">taglib-uri</span><span class="tag">&gt;</span><span>Taglib</span><span class="tag">&lt;/</span><span class="tag-name">taglib-uri</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">taglib-location</span><span class="tag">&gt;</span><span>/WEB-INF/tlds/MyTaglib.tld</span><span class="tag">&lt;/</span><span class="tag-name">taglib-location</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">taglib</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">jsp-property-group</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">description</span><span class="tag">&gt;</span><span>Special&nbsp;property&nbsp;group&nbsp;for&nbsp;JSP&nbsp;Configuration&nbsp;JSP&nbsp;example.</span><span class="tag">&lt;/</span><span class="tag-name">description</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">display-name</span><span class="tag">&gt;</span><span>JSPConfiguration</span><span class="tag">&lt;/</span><span class="tag-name">display-name</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">url-pattern</span><span class="tag">&gt;</span><span>/jsp/*&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">url-pattern</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">el-ignored</span><span class="tag">&gt;</span><span>true</span><span class="tag">&lt;/</span><span class="tag-name">el-ignored</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">page-encoding</span><span class="tag">&gt;</span><span>GB2312</span><span class="tag">&lt;/</span><span class="tag-name">page-encoding</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">scripting-invalid</span><span class="tag">&gt;</span><span>true</span><span class="tag">&lt;/</span><span class="tag-name">scripting-invalid</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">include-prelude</span><span class="tag">&gt;</span><span>/include/prelude.jspf</span><span class="tag">&lt;/</span><span class="tag-name">include-prelude</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">include-coda</span><span class="tag">&gt;</span><span>/include/coda.jspf</span><span class="tag">&lt;/</span><span class="tag-name">include-coda</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">jsp-property-group</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="tag">&lt;/</span><span class="tag-name"><span class="hilite1">jsp-config</span></span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<pre style="display: none;" name="code" class="xml">&lt;<span class="hilite1">jsp-config</span>&gt;
&lt;taglib&gt;
&lt;taglib-uri&gt;Taglib&lt;/taglib-uri&gt;
&lt;taglib-location&gt;/WEB-INF/tlds/MyTaglib.tld&lt;/taglib-location&gt;
&lt;/taglib&gt;
&lt;jsp-property-group&gt;
&lt;description&gt;Special property group for JSP Configuration JSP example.&lt;/description&gt;
&lt;display-name&gt;JSPConfiguration&lt;/display-name&gt;
&lt;url-pattern&gt;/jsp/* &lt;/url-pattern&gt;
&lt;el-ignored&gt;true&lt;/el-ignored&gt;
&lt;page-encoding&gt;GB2312&lt;/page-encoding&gt;
&lt;scripting-invalid&gt;true&lt;/scripting-invalid&gt;
&lt;include-prelude&gt;/include/prelude.jspf&lt;/include-prelude&gt;
&lt;include-coda&gt;/include/coda.jspf&lt;/include-coda&gt;
&lt;/jsp-property-group&gt;
&lt;/<span class="hilite1">jsp-config</span>&gt;</pre>
</div>
<div class="dp-highlighter">&nbsp;</div>
<div class="dp-highlighter"><span style="font-family: 宋体; font-size: small;">对于<span style="font-family: arial,helvetica,sans-serif;">Web</span>
应用程式来说，<span style="font-family: arial,helvetica,sans-serif;">Scriptlet</span>
是个不乐意被见到的东西，因为它会使得<span style="font-family: arial,helvetica,sans-serif;">HTML</span>
与<span style="font-family: arial,helvetica,sans-serif;">Java</span>
程式码交相混杂，对于程式的维护来说相当的麻烦，必要的时候，您可以在<span style="font-family: arial,helvetica,sans-serif;">web.xml</span>
中加上<span style="font-family: arial,helvetica,sans-serif;">&lt;script-invalid&gt;</span>
标签，设定所有的<span style="font-family: arial,helvetica,sans-serif;">JSP</span>
网页都不可以使用<span style="font-family: arial,helvetica,sans-serif;">Scriptlet</span>
，例如：</span>
</div>
<div class="dp-highlighter">
<div class="dp-highlighter">
<div class="bar">
<div class="tools">Xml代码 <embed src="http://janwer.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" flashvars="clipboard=%3Cweb-app%20..%3E%0A%20%20%20%20....%0A%20%20%20%20%3Cjsp-config%3E%0A%20%20%20%20%20%20%20%20%3Cjsp-property-group%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Curl-pattern%3E*.jsp%3C%2Furl-pattern%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cscript-invalid%3Etrue%3C%2Fscript-invalid%3E%0A%20%20%20%20%20%20%20%20%3C%2Fjsp-property-group%3E%0A%20%20%20%20%3C%2Fjsp-config%3E%0A....%0A%3C%2Fweb-app%3E" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" height="15" width="14"></div>
</div>
<ol class="dp-xml" start="1">
    <li><span><span class="tag">&lt;</span><span class="tag-name">web-app</span><span>&nbsp;..</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;....&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name"><span class="hilite1">jsp-config</span></span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">jsp-property-group</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">url-pattern</span><span class="tag">&gt;</span><span>*.jsp</span><span class="tag">&lt;/</span><span class="tag-name">url-pattern</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">script-invalid</span><span class="tag">&gt;</span><span>true</span><span class="tag">&lt;/</span><span class="tag-name">script-invalid</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">jsp-property-group</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name"><span class="hilite1">jsp-config</span></span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>....&nbsp;&nbsp;</span></li>
    <li><span><span class="tag">&lt;/</span><span class="tag-name">web-app</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<pre style="display: none;" name="code" class="xml">&lt;web-app ..&gt;
....
&lt;<span class="hilite1">jsp-config</span>&gt;
&lt;jsp-property-group&gt;
&lt;url-pattern&gt;*.jsp&lt;/url-pattern&gt;
&lt;script-invalid&gt;true&lt;/script-invalid&gt;
&lt;/jsp-property-group&gt;
&lt;/<span class="hilite1">jsp-config</span>&gt;
....
&lt;/web-app&gt;</pre>
</div>
<div class="dp-highlighter">&nbsp;</div>
<div class="dp-highlighter">原文地址：http://janwer.javaeye.com/blog/150217
</div>
<img src ="http://www.blogjava.net/wavesun/aggbug/314909.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wavesun/" target="_blank">WaveSun</a> 2010-03-09 09:51 <a href="http://www.blogjava.net/wavesun/archive/2010/03/09/314909.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ajax在门户网中的应用【转】</title><link>http://www.blogjava.net/wavesun/archive/2009/06/16/282563.html</link><dc:creator>WaveSun</dc:creator><author>WaveSun</author><pubDate>Tue, 16 Jun 2009 04:02:00 GMT</pubDate><guid>http://www.blogjava.net/wavesun/archive/2009/06/16/282563.html</guid><wfw:comment>http://www.blogjava.net/wavesun/comments/282563.html</wfw:comment><comments>http://www.blogjava.net/wavesun/archive/2009/06/16/282563.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wavesun/comments/commentRss/282563.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wavesun/services/trackbacks/282563.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/wavesun/archive/2009/06/16/282563.html'>阅读全文</a><img src ="http://www.blogjava.net/wavesun/aggbug/282563.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wavesun/" target="_blank">WaveSun</a> 2009-06-16 12:02 <a href="http://www.blogjava.net/wavesun/archive/2009/06/16/282563.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>系分论文12篇[转载]</title><link>http://www.blogjava.net/wavesun/archive/2009/06/16/282559.html</link><dc:creator>WaveSun</dc:creator><author>WaveSun</author><pubDate>Tue, 16 Jun 2009 03:54:00 GMT</pubDate><guid>http://www.blogjava.net/wavesun/archive/2009/06/16/282559.html</guid><wfw:comment>http://www.blogjava.net/wavesun/comments/282559.html</wfw:comment><comments>http://www.blogjava.net/wavesun/archive/2009/06/16/282559.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wavesun/comments/commentRss/282559.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wavesun/services/trackbacks/282559.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/wavesun/archive/2009/06/16/282559.html'>阅读全文</a><img src ="http://www.blogjava.net/wavesun/aggbug/282559.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wavesun/" target="_blank">WaveSun</a> 2009-06-16 11:54 <a href="http://www.blogjava.net/wavesun/archive/2009/06/16/282559.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用Editplus的曲折</title><link>http://www.blogjava.net/wavesun/archive/2009/06/09/280996.html</link><dc:creator>WaveSun</dc:creator><author>WaveSun</author><pubDate>Tue, 09 Jun 2009 10:38:00 GMT</pubDate><guid>http://www.blogjava.net/wavesun/archive/2009/06/09/280996.html</guid><wfw:comment>http://www.blogjava.net/wavesun/comments/280996.html</wfw:comment><comments>http://www.blogjava.net/wavesun/archive/2009/06/09/280996.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wavesun/comments/commentRss/280996.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wavesun/services/trackbacks/280996.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/wavesun/archive/2009/06/09/280996.html'>阅读全文</a><img src ="http://www.blogjava.net/wavesun/aggbug/280996.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wavesun/" target="_blank">WaveSun</a> 2009-06-09 18:38 <a href="http://www.blogjava.net/wavesun/archive/2009/06/09/280996.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>两个考试的大纲</title><link>http://www.blogjava.net/wavesun/archive/2009/06/09/280811.html</link><dc:creator>WaveSun</dc:creator><author>WaveSun</author><pubDate>Tue, 09 Jun 2009 03:22:00 GMT</pubDate><guid>http://www.blogjava.net/wavesun/archive/2009/06/09/280811.html</guid><wfw:comment>http://www.blogjava.net/wavesun/comments/280811.html</wfw:comment><comments>http://www.blogjava.net/wavesun/archive/2009/06/09/280811.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wavesun/comments/commentRss/280811.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wavesun/services/trackbacks/280811.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/wavesun/archive/2009/06/09/280811.html'>阅读全文</a><img src ="http://www.blogjava.net/wavesun/aggbug/280811.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wavesun/" target="_blank">WaveSun</a> 2009-06-09 11:22 <a href="http://www.blogjava.net/wavesun/archive/2009/06/09/280811.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>心里访谈-应聘视频</title><link>http://www.blogjava.net/wavesun/archive/2009/06/08/280682.html</link><dc:creator>WaveSun</dc:creator><author>WaveSun</author><pubDate>Mon, 08 Jun 2009 08:44:00 GMT</pubDate><guid>http://www.blogjava.net/wavesun/archive/2009/06/08/280682.html</guid><wfw:comment>http://www.blogjava.net/wavesun/comments/280682.html</wfw:comment><comments>http://www.blogjava.net/wavesun/archive/2009/06/08/280682.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wavesun/comments/commentRss/280682.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wavesun/services/trackbacks/280682.html</trackback:ping><description><![CDATA[<br />
<br />
<embed style="width: 420px; height: 364px" src="http://www.tudou.com/v/liGRzHPhFEA" width="420" height="364" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="opaque"></embed> 
 <img src ="http://www.blogjava.net/wavesun/aggbug/280682.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wavesun/" target="_blank">WaveSun</a> 2009-06-08 16:44 <a href="http://www.blogjava.net/wavesun/archive/2009/06/08/280682.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《struts2权威指南》光盘源码【转】</title><link>http://www.blogjava.net/wavesun/archive/2009/06/08/280579.html</link><dc:creator>WaveSun</dc:creator><author>WaveSun</author><pubDate>Mon, 08 Jun 2009 02:56:00 GMT</pubDate><guid>http://www.blogjava.net/wavesun/archive/2009/06/08/280579.html</guid><wfw:comment>http://www.blogjava.net/wavesun/comments/280579.html</wfw:comment><comments>http://www.blogjava.net/wavesun/archive/2009/06/08/280579.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wavesun/comments/commentRss/280579.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wavesun/services/trackbacks/280579.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/wavesun/archive/2009/06/08/280579.html'>阅读全文</a><img src ="http://www.blogjava.net/wavesun/aggbug/280579.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wavesun/" target="_blank">WaveSun</a> 2009-06-08 10:56 <a href="http://www.blogjava.net/wavesun/archive/2009/06/08/280579.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>