jetty hessian 整合
jetty hessian 整合
今天来找bug 发表于1年前
jetty hessian 整合
  • 发表于 1年前
  • 阅读 38
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: 将hessian的HessianServlet整合到jettyserver中,方便调用,原文参考连接:http://blog.csdn.net/shb_derek1/article/details/19153465

先写一个interface:

import com.alibaba.fastjson.JSONObject;

public interface Hello {

    String sayHello(String name);

    JSONObject findHero(String name);

}

写一个interface的实现类:

import com.alibaba.fastjson.JSONObject;
import com.caucho.hessian.server.HessianServlet;

public class HelloImpl extends HessianServlet implements Hello {

    private static final long serialVersionUID = 1464625224364842441L;

    @Override
    public String sayHello(String name) {
        return "Hello " + name;
    }

    @Override
    public JSONObject findHero(String name) {
        JSONObject hero = new JSONObject();
        hero.put("name", name);
        hero.put("age", "76");
        return hero;
    }
}

将这个实现类加到jettyserver中:

  1. import org.eclipse.jetty.server.Server;  
  2. import org.eclipse.jetty.servlet.ServletContextHandler;  
  3. import org.eclipse.jetty.servlet.ServletHolder;  
  4.   
  5. public class HessianTest {  
  6.   
  7. public static void main(String[] args) throws Exception {  
  8. Server server = new Server(3389);  
  9. ServletContextHandler context = new ServletContextHandler(  
  10. ServletContextHandler.SESSIONS);  
  11. server.setHandler(context);  
  12. ServletHolder servletHolder = new ServletHolder(new HelloImpl());  
  13. context.addServlet(servletHolder, "/hello");  
  14. server.start();  
  15. server.join();  
  16. }  
  17.   

运行HessianTest,此时,jettyserver就启动了,然后再写个测试的client:

public class TestApp {

    public static void main(String[] args) {
        try {
            HessianProxyFactory factory = new HessianProxyFactory();

            String url = "http://localhost:3389/hello";

            Hello us = (Hello)factory.create(Hello.class,url);
            String jsonObject = us.sayHello("123");
            System.out.println(jsonObject);
            JSONObject hero = us.findHero("张飞");
            System.out.println(hero);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

返回结果:

Hello 123
{"name":"张飞","age":"76"}

表示成功!!!

标签: Hessian Jetty
共有 人打赏支持
粉丝 6
博文 189
码字总数 34779
×
今天来找bug
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: