佳丽斯 加厚双人/单人秋冬被子暖冬 羊毛被芯羊毛柔丝被特价包邮 忧忧鱼冬外穿打底裤女秋冬厚长裤女裤加绒加厚高腰弹力铅笔裤靴裤 韩国代购2013新款 韩版秋冬休闲女时尚磨破口袋卫衣韩版学生装 潮

有时,退一步,能一口气进几步,只是这先退一步需要勇气和自信。

用心爱你,努力工作。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  70 随笔 :: 1 文章 :: 33 评论 :: 0 Trackbacks

#

之前的例子比较简单,打算了解一下Spring的基本用法。Spring的依赖注入有三种实现方式,常用是setter和construct方式。对于像数组和集合对象注入,注入前必须填充一些对象到集合中,然后再把集合注入到Bean,采用setter方式来完成。
通过一个例子来说明。
导入Spring所需的包:commons-logging.jar,spring.jar 。(日志包和Spring包)
包下载地址:
http://www.ziddu.com/download/3555993/Spring.rar.html
(1)创建ObjectSet类
package com.set;

public class ObjectSet {
 private String name;

 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String toString()
 {
  return name;
 }
}
(2)创建SomeBean类
package com.set;

import java.util.List;
import java.util.Map;

public class SomeBean {
 private String[] someStrArray;
 private ObjectSet[] someObjArray;
 private List someList;
 private Map someMap;
 public SomeBean()
 {}
 public List getSomeList() {
  return someList;
 }
 public void setSomeList(List someList) {
  this.someList = someList;
 }
 public Map getSomeMap() {
  return someMap;
 }
 public void setSomeMap(Map someMap) {
  this.someMap = someMap;
 }
 public ObjectSet[] getSomeObjArray() {
  return someObjArray;
 }
 public void setSomeObjArray(ObjectSet[] someObjArray) {
  this.someObjArray = someObjArray;
 }
 public String[] getSomeStrArray() {
  return someStrArray;
 }
 public void setSomeStrArray(String[] someStrArray) {
  this.someStrArray = someStrArray;
 }
}
(3)在类路径下,创建set-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="first_object" class="com.set.ObjectSet" >
 <property name="name">
    <value>ducklyl</value>
 </property>
</bean>
<bean id="second_object" class="com.set.ObjectSet" >
 <property name="name">
    <value>wangsp</value>
 </property>
</bean>

<bean id="someBean" class="com.set.SomeBean" >
 <property name="someStrArray">
    <list>
     <value>Hello</value>
     <value>Welcome</value>
    </list>
 </property>
 <property name="someObjArray">
  <list>
   <ref bean="first_object"/>
   <ref bean="second_object"/>
  </list>
 </property>
 <property name="someList">
  <list>
   <value>ListTest</value>
   <ref bean="first_object"/>
   <ref bean="second_object"/>
  </list>
 </property>
 <property name="someMap">
  <map>
   <entry key="first">
    <value>Hello,ducklyl!</value>
   </entry>
   <entry key="second">
    <ref bean="first_object"/>
   </entry>
  </map>
 </property>
</bean>
</beans>
(4)创建测试类SpringTest

package com.set;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import java.util.*;

public class SpringTest {
 public static void main(String[] args)
 {
 //读取配置文件
 ApplicationContext context=new FileSystemXmlApplicationContext("set-config.xml");
 //获取id="setBean"对象
 SomeBean someBean=(SomeBean)context.getBean("someBean");
 
    //获取someStrArray,someObjArray
 String[] strs=someBean.getSomeStrArray();
 ObjectSet[] some=someBean.getSomeObjArray();
 
 for(int i=0;i<strs.length;i++)
 System.out.println(strs[i]+","+some[i]);
 
    //获取someList
 List someList=(List)someBean.getSomeList();
 for(int i=0;i<someList.size();i++)
  System.out.println(someList.get(i));
 
 //获取someMap
 Map someMap=someBean.getSomeMap();
 System.out.println(someMap);
 
}
}

如果以上配置正确,运行测试程序,结果如下:
Hello,ducklyl
Welcome,wangsp
ListTest
ducklyl
wangsp
{first=Hello,ducklyl!, second=ducklyl}

posted @ 2007-10-22 16:40 王生生 阅读(1304) | 评论 (5)编辑 收藏

最近项目中涉及到外网平台调远程接口数据的问题,本来是用soap方式实现的,今天听人介绍了Hessian,想不到它的实现更加简单,代码写起来也比较少。
下面这个例子我是从Hessian官方上,稍微改了点。
创建一个名为Hessian的web工程,测试服务器为tomcat5.0,lib目录下必须包含hessian-3.0.20.jar包,下载地址:
http://www.ziddu.com/download/3556057/hessian-3.0.20.jar.rar.html
(1)接口Basic

package example;

public interface Basic {
   public String hello(); //与服务端的hello方法对应
}
(2)服务端实现类

package example;

public class BasicService implements Basic {
  private String _greeting = "Hello,ducklyl!";

  public void setGreeting(String greeting)
  {
    _greeting = greeting;
  }

  public String hello()
  {
    return _greeting;
  }
}

(3)客户端实现类

package example;

import com.caucho.hessian.client.HessianProxyFactory;
/**  
 * <p>Title: hessian实现远程调用</p>  
 * <p>Copyright: Copyright (c) 2007</p>  
 * @author ducklyl  
 * @version 1.0  
 */  
public class BasicClient {
  public static void main(String []args)
    throws Exception
  {
    String url = "http://127.0.0.1:8080/Hessian/ducklyl";
    //创建factory实例
    HessianProxyFactory factory = new HessianProxyFactory();
    //客户端需实现Basic接口
    Basic basic = (Basic) factory.create(Basic.class, url);

    System.out.println("Hessian: " + basic.hello());
  }
}

(4) web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
 <web-app>
  <servlet>
   <servlet-name>ducklyl</servlet-name>
   <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
    <init-param>
      <param-name>home-class</param-name>
      <param-value>example.BasicService</param-value>
    </init-param>
    <init-param>
      <param-name>home-api</param-name>
      <param-value>example.Basic</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
 <servlet-name>ducklyl</servlet-name>
    <url-pattern>/ducklyl</url-pattern>
  </servlet-mapping>
</web-app>

 运行客户端程序BasicClient ,如果以下配置没问题,输出结果为:

Hessian: Hello,ducklyl!
posted @ 2007-10-21 20:20 王生生 阅读(8212) | 评论 (4)编辑 收藏

计划用一个月时间来学习Spring,在这里把自己的学习过程记录下来,方便想学习Spring的人,也为自己日后复习有个参考。以下通过一个简单的例子来先了解下Spring的用法。
(1)创建一个java工程,建立如下类:HelloBean

package com.ducklyl;

public class HelloBean {
 private String helloWord;

 public String getHelloWord() {
  return helloWord;
 }

 public void setHelloWord(String helloWord) {
  this.helloWord = helloWord;
 }


}


(2)创建Spring配置文件:beans-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
<bean id="helloBean" class="com.ducklyl.HelloBean">
 <property name="helloWord">
    <value>Hello,ducklyl!</value>
 </property>
</bean>

</beans>

(3)导入Spring所需的包:commons-logging.jar,spring.jar 。(日志包和Spring包)
包下载地址:
http://www.ziddu.com/download/3555993/Spring.rar.html
(4)创建测试类:SpringDemo.java

package com.ducklyl;

import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.*;


public class SpringDemo{
 public static void main(String[] args)
 {
  //读取配置文件
  Resource rs=new FileSystemResource("beans-config.xml");
  //实例化Bean工厂
  BeanFactory factory=new XmlBeanFactory(rs);
  
  //获取id="helloBean"对象
  HelloBean hello=(HelloBean)factory.getBean("helloBean");
  //调用helloBean对象getHelloWord()方法
  System.out.println(hello.getHelloWord());
 }

}

如果以上配置正确的话,运行SpringDemo.java,可以看到输出结果:Hello,ducklyl!



    

posted @ 2007-10-21 13:26 王生生 阅读(2122) | 评论 (12)编辑 收藏

开始之前,我想就本文即将讨论的主题和读者需要具备的起点知识做一些必需的描叙。本文的主题是讨论SOAP技术,我们将尽可能的讲得通俗易懂一些,所以,我们引入了一个普通的“Hello World”范例来给读者说明它们是怎么运作的,让读者知道它们的运作方式。我认为,如果光看官方文档是很难开始学习这门新技术的,官方文档中包含大量的范例,并解释了所有的特性和优点,但是没解释它们的运作方式。

 在这篇文章中,我不打算只肤浅的解释SOAP技术的定义,我们假设读者熟悉JAVA语言,Web技术,具有XML语言,XML Namespaces,XML Schema的基础。在这种情况下,理解本文将不存在任何困难。然而,即使没有这些知识,你也不必担心,我们将尽可能的解释得简单,但是当你开始做自己的SOAP应用程序时会遇到一些问题和麻烦。因此,花费一定时间来学习上面的知识是很有必要的。

  从技术的角度来说,有必要提一下我们的调试环境。我们使用的是Windows XP操作系统,安装有JAVA 2 SDK 1.4.1,Apache SOAP 2.3.1,JAF 1.0.2,JAVAMAIL 1.3.1和Xerces 2.6.0。上面所提及的都能在Tcomcat 4.1.29 JSP/Servlet容器中正常运行。所有的软件都是免费自由软件,因此你能够很容易的下载它们并自己在任何你喜欢的平台如Windows或UNIX上安装它们。Java SDK,JAF和JAVAMAIL位于SUN的官方网站(http://java.sun.com),其他的软件在Jakarta项目组的官方网站(http://jakarta.apache.org)上有down的。

  可能你在看到我们需要这么多不同的包(package)时已经有点担心和不安了,但是实际上你不应该担心这些的。一旦你懂了基础,那么对你将相当容易。安装不是一件很难的事情,你只需要在设置环境变量的时候仔细些,比如CATALINA_HOME, CLASSPATH, JAVA_HOME 等等,所有这些步骤都是手工的。由于我仅仅是想将你的注意力再次集中到它们身上,所以你能很快的就完成以上配置过程。我只是添加下面的一些字符串到Tomcat的bin/setclasspath.bat文件中:


set CATALINA_HOME
=C:\Tomcat4.1.29
set CLASSPATH
=%JAVA_HOME%\lib\tools.jar
set CLASSPATH
=%JAVA_HOME%\soap-2.3.1\lib\soap.jar
set CLASSPATH
=%CLASSPATH%;%JAVA_HOME%\javamail-1.3.1\mail.jar
set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\jaf-1.0.2\activation.jar
set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\xerces-2_6_0\xercesImpl.jar
set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\xerces-2_6_0\xercesSamples.jar
set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\xerces-2_6_0\xml-apis.jar
set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\xerces-2_6_0\xmlParserAPIs.jar
set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\common\lib\servlet.jar
set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\common\lib\tools.jar
 

 

      如果你的安装路径(installation paths)和上面使用的不同,你需要更正它们,然后关闭和重启Tomcat以使它们生效。这样,你就有为运行SOAP作好了准备。但是现在,我要忘记有关的技术部分,来学一点理论知识。

  SOAP意思是简单对象访问协议(Simple Object Access Protocol)。的确如它的名字一样,SOAP是很简单的。它是一个基于XML的协议,允许程序组件和应用程序彼此使用一种标准的Internet协议--HTTP来通讯。SOAP是一种独立的平台,它不依赖程序语言,它是简单的,弹性的,很容易扩展的。目前,应用程序能够彼此使用一种基于DCOM和CORBA技术的远程过程调用(RPC)来进行相互通讯,但HTTP不被设计为这个目的。RPC在Internet上应用是非常困难的,它们会出现许多兼容性和安全性的问题,因为防火墙和代理服务器通常都会阻断(block)这些类型的流量。应用程序之间最好的通讯方式是通过HTTP协议,因为HTTP是支持所有Internet浏览器和服务器的。基于这个目的,SOAP协议被创建出来。
那么,它们是如何运作的呢?比如,一个应用程序(A)需要和另一个应用程序(B)在SOAP的帮助下进行彼此通讯。它们将使用下面的框架图来完成这个过程:

  这个SOAP信封(SOAP envelope)是一个包含以下内容的XML文档:

  

  正如你看到的,它是非常简单的。它看起来确实就象一个普通的信封或者你的email。你想看看它们是如何动作的吗?下面跟我们一起来吧。其实我们有很多方法是不用SOAP来在创建和运行我们自己的“Hello World”应用程序的,但是因为我们要保持它的简单性,我会给你一个它运作方式的框架图(scheme)。

  我们的“Hello World”范例会包含一个SOAP Service。我们的SOAP Client将发送它们的名字到该SOAP Service,并试图得到一些答复或响应。这个SOAP Service需要部署到一个SOAP Admin的工具,以至重定位所有请求的SOAP(Proxy) RPC Router能够知道它们应该使用哪种服务来运作。总而言之,这个是以下面的方式来运作的:

点击放大此图片
现在,我们来一步步的看看到底发生了什么。在Step 1里,HelloWorldClient将连接一个SOAP RPC Router,请求我们的SOAP Service并将包含我们名字的一个字符串传递给它。该SOAP RPC Router会检查是否它已经部署了这个SOAP Service。如果它被发现是被部署的,那么它将传递数据到这个SOAP Service并调用特定的方法,这个是Step 2。然后SOAP Service方法会被执行,将返回某个字符串值(该值就是SOAP Client的答复或者响应)(Step 3)。在Step4中,SOAP RPC Router将仅仅只是重定向这个数据到SOAP Client。所有在Step1和Step4里传输的数据是通过SOAP Envelope来完成的。正如你所看到的,算法是相当简单的,因此我们只准备关心实际的代码。

  首先,我们要创建一个SOAP Service。下面是它的代码,请不要忘记将它放入HelloWorld/ 目录中(必须被包含在你的CLASSPATH中):

// SOAPService.java 
  package HelloWorld; 
  
public class SOAPService 
      
public String sayHi(String x) 
      
return("Hello my friend, " + x + "! Glad to see you!"); 
  }
 
  }

      添加任何注释也是很容易的。要编译它,只需要用下列命令:javac SOAPService.java

        第二步,一旦我们准备好了SOAP Service,我们需要用SOAP Service Manager来部署它。这个可以通过很多方式来实现,但是为了能让初学SOAP的读者更容易理解SOAP,我提供了一个最容易的方式。我们假设你的Web Server(Tomcat或其他)已经正常运行,并且你已经正确安装了SOAP。那么当浏览器访问http://localhost:8080/soap/,你会看见Apache SOAP的欢迎页面。点击Run the admin client ,然后 Deploy。你会得到一个屏幕显示,在那里你需要填入ID,Scope,Method,Provider Type和JAVA Provider的信息到表单域中。你能忽略其他所有的表单域,除非你真的需要它们的信息。我们的“HelloWorld”例子不需要它们,所以,我们填的下面的值:
  •   ID: urn:HelloWorld_SOAPService
  •         Scope: Application
  •   Methods: sayHi
  •   Provider Type: java
  •   Java Provider - Provider Class: HelloWorld.SOAPService
  •   Java Provider - Static? No

    一些注释:ID是我们要从SOAP Client标识我们的SOAP Service的唯一名字。Method包含SOAP Service提供的一系列方法。JAVA Provider-Provider Class是SOAP Service Java类的名字。

      现在,点击Deploy 按钮,那么你的服务会被部署。再次强调,请注意正确设置CLASSPATH环境变量。然后,你的HelloWorld.SOAPService类能够被找到,并且所有必需的jar包也能被找到。这是个几乎每个人都会犯的普通错误。现在,你能够点击 List ,将会看见你的服务已经被部署进来。恭喜!

      最后,让我们来创建一个SOAP Client。代码看起来有点复杂,但是在现实中不会只有这么点长。

    1// HelloWorldClient.java 
      2import java.io.*
      
    3import java.net.*
      
    4import java.util.*
      
    5import org.apache.soap.*
      
    6import org.apache.soap.rpc.*
      
    7public class HelloWorldClient 
      
    8public static void main(String[] arg) throws Exception 
      
    9: Call c = null
      
    10: URL url = null
      
    11: Vector params = null
      
    12: Response rep = null
      
    13: String ourName = "Superman"
      
    14: String ourUrn = "urn:HelloWorld_SOAPService"
      
    15: String ourMethod = "sayHi"
      
    16: url = new URL("http://localhost:8080/soap/servlet/ 
      rpcrouter"); 
      17: System.out.println("Passing to our deployed "+ourUrn+" 
      our name ("+ourName+"): "); 
      18: c = new Call(); 
      
    19: c.setTargetObjectURI(ourUrn); 
      
    20: c.setMethodName(ourMethod); 
      
    21: c.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC); 
      
    22: params = new Vector(); 
      
    23: params.addElement(new Parameter("ourName", String.class
      ourName, 
    null)); 
      
    24: c.setParams(params); 
      
    25: System.out.print("and its answer is: "); 
      
    26: rep = c.invoke(url, ""); 
      
    27if (rep.generatedFault()) 
      
    28: Fault fault = rep.getFault(); 
      
    29: System.out.println("\nCall failed!"); 
      
    30: System.out.println("Code = " + fault.getFaultCode()); 
      
    31: System.out.println("String = " + fault.getFaultString()); 
      
    32: }
     else 
      
    33: Parameter result = rep.getReturnValue(); 
      
    34: System.out.print(result.getValue()); 
      
    35: System.out.println(); 
      
    36: }
     
      
    37: }
     
      
    38:}


    下面我要做一些解释。在第13行,我们设置了我们的名字,这个名字将会传递给SOAP Service。在第14行,我们设置了我们将要调用的服务的ID(service ID),和第15行里设置的服务方法(service method)。有了这个ID,服务能够被部署到SOAP服务管理器(SOAP Service Manager)中。我们没有设置任何其他值,仅仅只用刚才那些基础值就可以正常运作了。你能从SOAP的官方文档上得到相关信息,该文档来自SOAP包中,它们的解释超出了本文的范围。

      用以下方式编译这个SOAP Client:

      javac HelloWorldClient.java

      为了圆满完成它,让我们检查一下针对我们的测试,是否所有事情都准备就绪。Tomcat正在运行,所有的环境变量都正确,SOAP Service被编译和部署,SOAP Client被成功编译。OK,让我们运行它,你将看到这个屏幕:
    点击放大此图片

      正如你所看到的,我们的SOAP Client使用SOAP协议成功发送它的名字和接收了一个答复。正如前面所说的,SOAP Service发送和接收的是SOAP envelope。这个是SOAP envelope的源代码。

      被发送到SOAP Service的SOAP Envelope

    <?xml version=1.0 encoding=UTF-8?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/
    soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/
    XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <SOAP-ENV:Body>
    <ns1:sayHi xmlns:ns1="urn:HelloWorld_SOAPService"
    SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/
    soap/encoding/">
    <ourName xsi:type="xsd:string">Superman</ourName>
    </ns1:sayHi>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>: 

    从SOAP Service接收的SOAP Envelope
    <?xml version=1.0 encoding=UTF-8?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/
    soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/
    XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <SOAP-ENV:Body>
    <ns1:sayHiResponse xmlns:ns1="urn:HelloWorld_SOAPService"
    SOAP-ENV:encodingStyle="http://schemas.xmlsoap.
    org/soap/encoding/">
    <return xsi:type="xsd:string">Hello my friend, Superman!
    Glad to see you!</return>
    </ns1:sayHiResponse>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope> 
          
          要理解SOAP Envelope中的所有标签的含义,我建议你花一点时间阅读 http://www.w3.org/2001/06/soap-envelope 命名空间规范。

      我希望本文能够在你理解SOAP技术上有一定帮助。这个技术是简单的,有趣的,强大的,弹性的。它被用在许多Web应用中,这些应用的数量也在不断增加。学习SOAP是值得的,至少你要知道它是什么和它是怎么运作的。

  • posted @ 2007-10-20 14:59 王生生 阅读(399) | 评论 (1)编辑 收藏

             从前,有一座圆音寺,每天都有许多人上香拜佛,香火很旺。在圆音寺庙前的横梁上有个蜘蛛结了张网,由于每天都受到香火和虔诚的祭拜的熏托,蛛蛛便有了佛性。经过了一千多年的修炼,蛛蛛佛性增加了不少。 

    忽然有一天,佛光临了圆音寺,看见这里香火甚旺,十分高兴。离开寺庙的时候,不经意间抬头看见了横梁上的蛛蛛。佛停下来,问这只蜘蛛:“你我相见总算是 有缘,我来问你个问题,看你修炼了这一千多年来,有什么真知 灼见。怎么样?”蜘蛛遇见佛很是高兴,连忙答应了。佛问到:“世间什么才是最珍贵的?”蜘蛛 想了想,回答到:“世间最珍贵的是‘得不到’和‘已失去’。”佛点了点头,离开了。  

    就这样又过了一千年的光景,蜘蛛依旧在圆 音寺的横梁上修炼,它的佛性大增。一日,佛又来到寺前,对蜘蛛说道:“你可还好,一千年前的那个问题,你可有什么更深的认识吗?”蜘蛛说:“我觉得世间最 珍贵的是‘得不到’和‘已失去’。”佛说:“你再好好想想,我会再来找你的。”  

    又过了一千年,有一天,刮起了大风,风将一滴 甘露吹到了蜘蛛网上。蜘蛛望着甘露,见它晶莹透亮,很漂亮,顿生喜爱之意。蜘蛛每天看着甘露很开心,它觉得这是三千年来最开心的几天。突然,又刮起了一阵 大风,将甘露吹走了。蜘蛛一下子觉得失去了什么,感到很寂寞和难过。这时佛又来了,问蜘蛛:“蜘蛛这一千年,你可好好想过这个问题:世间什么才是最珍贵 的?”蜘蛛想到了甘露,对佛说:“世间最珍贵的是‘得不到’和‘已失去’。”佛说:“好,既然你有这样的认识,我让你到人间走一 遭吧。”  

    就这样,蜘蛛投胎到了一个官宦家庭,成了一个富家小姐,父母为她取了个名字叫蛛儿。一晃,蛛儿到了十六岁了,已经成了个婀娜多姿的少女,长的十分漂亮,楚楚动人。 

    这一日,皇帝决定在后花园为新科状元郎甘鹿举行庆功宴席。来了许多妙龄少女,包括蛛儿,还有皇帝的小公主长风公主。状元郎在席间表演诗词歌赋,大献才艺,在场的少女无一不被他折 服。但蛛儿一点也不紧张和吃醋,因为她知道,这是佛赐予她的姻缘。 

    过了些日子,说来很巧,蛛儿陪同母亲上香拜佛的时候,正好甘鹿也陪同母亲而来。上完香拜过佛,二位长者在一边说上了话。蛛儿和甘鹿便来到走廊上聊天,蛛 儿很开心,终于可以和喜欢的人在一起了,但是甘鹿并没有表现出对她的喜爱。蛛儿对甘鹿说:“你难道不曾记得十六年前,圆音寺的蜘蛛网上的事情了吗?”甘鹿 很诧异,说:“蛛儿姑娘,你漂亮,也很讨人喜欢,但你想象力未免 太丰富了一点吧。”说罢,和母亲离开了。 

    蛛儿回到家,心想,佛既然安排了这场姻缘,为何不让他记得那件事,甘鹿为何对我没有一点的感觉? 

    几天后,皇帝下召,命新科状元甘鹿和长风公主完婚;蛛儿和太子芝草完婚。这一消息对蛛儿如同晴空霹雳,她怎么也想不通,佛竟然这样对她。几日来,她不吃 不喝,穷究急思,灵魂就将出壳,生命危在旦夕。太子芝草知道了,急忙赶来,扑倒在床边,对奄奄一息的蛛儿说道:“那日,在后花园众姑娘中,我对你一见钟 情,我苦求父皇,他才答应。如果你死了,那么我也就不活了。”说着就拿起了宝剑准备自刎。 

    就在这时,佛来了,他对快要出壳的蛛 儿灵魂说:“蜘蛛,你可曾想过,甘露(甘鹿)是由谁带到你这里来的呢?是风(长风公主)带来的,最后也是风将它带走的。甘鹿是属于长风公主的,他对你不过 是生命中的一段插曲。而太子芝草是当年圆音寺门前的一棵小草,他看了你三千年,爱慕了你三千年,但你却从没有低下头看过它。蜘蛛,我再来问你,世间什么才 是最珍贵的?”蜘蛛听了这些真相之后,好象一下子大彻大悟了,她对佛说:“世间最珍贵的不是‘得不到’和‘已失去’,而是现在能把握的幸福。”刚说完,佛 就离开了,蛛儿的灵魂也回位了,睁开眼睛,看到正要自刎的太子芝草,她马上打落宝剑,和太子深深的抱在一起……

    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1194645
    posted @ 2007-10-19 17:56 王生生 阅读(343) | 评论 (1)编辑 收藏

        出差来武汉的第四天了,一直想写点东西。前几天事情比较多,没什么时间写。现在手头上有点时间,就想记录下一些东西。呵呵。。。
        今天解决了利用soap取接口数据的问题,早上还查不出来,老报错。。。吃过午饭,明显有了精神。。
    原来是编码的问题。。。
        由于之前都做内网管理平台,所以外网这块比较弱。关于webservice 也是不太清楚。。。
    安排工作时候,我还有点担心。。。怕自己影响项目进度。。做下来,发现也很简单。。
    难怪名字取‘soap‘。。。
        事情有时候看起来很难,会吓倒你,关键看你自己敢不敢承担下来,过了这一关,接下来都不是问题了。所以有句话说,风雨过后,天空总是很美的。。。
     
    posted @ 2007-10-19 16:46 王生生 阅读(236) | 评论 (2)编辑 收藏

    仅列出标题
    共7页: 上一页 1 2 3 4 5 6 7 
    森露2013新款豹纹打底衫 高领 女 长袖 修身长袖t恤女 加绒加厚冬 2013春秋新款女装 潮修身大码长袖小西装外套女 韩版中长款小西装 忧忧鱼2013秋冬新款直筒裤女显瘦长裤加绒黑色休闲裤修身西裤女裤