﻿<?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-少年阿宾-随笔分类-hession</title><link>http://www.blogjava.net/stevenjohn/category/52531.html</link><description>那些青春的岁月</description><language>zh-cn</language><lastBuildDate>Sun, 02 Sep 2012 11:20:28 GMT</lastBuildDate><pubDate>Sun, 02 Sep 2012 11:20:28 GMT</pubDate><ttl>60</ttl><item><title>java hession入门实例</title><link>http://www.blogjava.net/stevenjohn/archive/2012/09/02/386809.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Sun, 02 Sep 2012 11:11:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2012/09/02/386809.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/386809.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2012/09/02/386809.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/386809.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/386809.html</trackback:ping><description><![CDATA[1、去官网下载hession的java架包：<br />官网地址：http://hessian.caucho.com/<br />我这里下载的是hessian-4.0.7.jar<br /><br /><br />2、编写接口：<br /><div>package com.abin.lee.hession;</div><div></div><div>public interface IBasicSource {</div><div><span style="white-space:pre">	</span>public String getMessage(String name);</div><div><span style="white-space:pre">	</span>public UserBean getUserBean();</div><div>}<br /><br />3、编写接口实现类：<br /><div>package com.abin.lee.hession;</div><div></div><div>public class BasicSource implements IBasicSource{</div><div></div><div><span style="white-space:pre">	</span>public String getMessage(String name) {</div><div><span style="white-space:pre">		</span></div><div><span style="white-space:pre">		</span>return "hello,"+name;</div><div><span style="white-space:pre">	</span>}</div><div></div><div><span style="white-space:pre">	</span>public UserBean getUserBean() {</div><div><span style="white-space:pre">		</span>UserBean userBean=new UserBean();</div><div><span style="white-space:pre">		</span>userBean.setId(1);</div><div><span style="white-space:pre">		</span>userBean.setAddress("liangcheng");</div><div><span style="white-space:pre">		</span>userBean.setName("lee");</div><div><span style="white-space:pre">		</span>return userBean;</div><div><span style="white-space:pre">	</span>}</div><div><span style="white-space:pre">	</span></div><div>}</div><div></div>4、实体类，这里需要注意一下，这里必须的实现序列化接口Serializable，因为是需要网络传输的<br /><br /><div>package com.abin.lee.hession;</div><div></div><div>import java.io.Serializable;</div><div></div><div>public class UserBean implements Serializable{</div><div><span style="white-space:pre">	</span>private static final long serialVersionUID = -8931696839145847364L;</div><div><span style="white-space:pre">	</span>private int id;</div><div><span style="white-space:pre">	</span>private String name;</div><div><span style="white-space:pre">	</span>private String address;</div><div><span style="white-space:pre">	</span></div><div><span style="white-space:pre">	</span></div><div><span style="white-space:pre">	</span>public int getId() {</div><div><span style="white-space:pre">		</span>return id;</div><div><span style="white-space:pre">	</span>}</div><div><span style="white-space:pre">	</span>public void setId(int id) {</div><div><span style="white-space:pre">		</span>this.id = id;</div><div><span style="white-space:pre">	</span>}</div><div><span style="white-space:pre">	</span>public String getName() {</div><div><span style="white-space:pre">		</span>return name;</div><div><span style="white-space:pre">	</span>}</div><div><span style="white-space:pre">	</span>public void setName(String name) {</div><div><span style="white-space:pre">		</span>this.name = name;</div><div><span style="white-space:pre">	</span>}</div><div><span style="white-space:pre">	</span>public String getAddress() {</div><div><span style="white-space:pre">		</span>return address;</div><div><span style="white-space:pre">	</span>}</div><div><span style="white-space:pre">	</span>public void setAddress(String address) {</div><div><span style="white-space:pre">		</span>this.address = address;</div><div><span style="white-space:pre">	</span>}</div><div><span style="white-space:pre">	</span></div><div>}</div><div></div><br />5、配置web.xml</div><div><div>&lt;!--下面是Hession的配置--&gt;</div><div><span style="white-space:pre">	</span>&lt;servlet&gt;</div><div><span style="white-space:pre">		</span>&lt;servlet-name&gt;hessianServlet&lt;/servlet-name&gt;</div><div><span style="white-space:pre">		</span>&lt;servlet-class&gt;com.caucho.hessian.server.HessianServlet&lt;/servlet-class&gt;</div><div><span style="white-space:pre">		</span>&lt;init-param&gt; &nbsp;</div><div><span style="white-space:pre">			</span>&lt;param-name&gt;home-class&lt;/param-name&gt;</div><div><span style="white-space:pre">			</span>&lt;param-value&gt;com.abin.lee.hession.BasicSource&lt;/param-value&gt;</div><div><span style="white-space:pre">		</span>&lt;/init-param&gt;</div><div><span style="white-space:pre">		</span>&lt;init-param&gt;</div><div><span style="white-space:pre">			</span>&lt;param-name&gt;home-api&lt;/param-name&gt;</div><div><span style="white-space:pre">			</span>&lt;param-value&gt;com.abin.lee.hession.IBasicSource&lt;/param-value&gt;</div><div><span style="white-space:pre">		</span>&lt;/init-param&gt;</div><div><span style="white-space:pre">	</span>&lt;/servlet&gt;</div><div><span style="white-space:pre">	</span>&lt;servlet-mapping&gt;</div><div><span style="white-space:pre">		</span>&lt;servlet-name&gt;hessianServlet&lt;/servlet-name&gt;</div><div><span style="white-space:pre">		</span>&lt;url-pattern&gt;/hessianServlet&lt;/url-pattern&gt;</div><div><span style="white-space:pre">	</span>&lt;/servlet-mapping&gt;</div><div>	<br /><br /><br /><span style="white-space: pre;">6、编写测试类：</span><br /><br /><div>package com.abin.lee.hession.test;</div><div></div><div>import java.net.MalformedURLException;</div><div></div><div>import junit.framework.TestCase;</div><div></div><div>import com.abin.lee.hession.IBasicSource;</div><div>import com.abin.lee.hession.UserBean;</div><div>import com.caucho.hessian.client.HessianProxyFactory;</div><div></div><div>public class TestHession extends TestCase{</div><div><span style="white-space:pre">	</span>private static final String HESSION_URL="http://localhost:8081/universal/hessianServlet";</div><div><span style="white-space:pre">	</span>public void testHession() throws MalformedURLException{</div><div><span style="white-space:pre">		</span>HessianProxyFactory factory=new HessianProxyFactory();&nbsp;</div><div><span style="white-space:pre">		</span>IBasicSource basic=(IBasicSource)factory.create(IBasicSource.class, HESSION_URL);</div><div><span style="white-space:pre">		</span>String result=basic.getMessage("abin");</div><div><span style="white-space:pre">		</span>System.out.println("result="+result);</div><div><span style="white-space:pre">		</span>UserBean user=basic.getUserBean();</div><div><span style="white-space:pre">		</span>System.out.println("ID="+user.getId()+",NAME="+user.getName()+",ADDRESS="+user.getAddress());</div><div><span style="white-space:pre">		</span></div><div><span style="white-space:pre">	</span>}</div><div>}</div><div></div><br /><br />测试结果：<br /><div>result=hello,abin</div><div>ID=1,NAME=lee,ADDRESS=liangcheng<br /><br /></div>到了这里就成功了。</div></div><img src ="http://www.blogjava.net/stevenjohn/aggbug/386809.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2012-09-02 19:11 <a href="http://www.blogjava.net/stevenjohn/archive/2012/09/02/386809.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>