jabsorb笔记
来源:互联网 发布:break java 编辑:程序博客网 时间:2024/06/05 16:59
研究了一下 jabsorb,写了几个简单的例子,基本上覆盖了大部分用法,希望能够帮助菜鸟快速入门。
首先引用jabsorb-1.2.2.jar,slf4j-api-1.4.2.jar,slf4j-jdk14-1.4.2.jar,jsonrpc.js
类文件:
- package com.test;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.LinkedList;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- public class TestJabsorb {
- public String getMessage(String s) {
- return "你好: " + s;
- }
- public String getMessage() {
- return "无参数";
- }
- public String getMessage(List al) {
- String res="list参数:";
- for(Iterator it = al.iterator();it.hasNext();){
- Object next = it.next();
- res+=next+",";
- }
- return res;
- }
- public String getMessage(String[] array) {
- String res="数组参数:";
- for(int i=0;i<array.length;i++){
- res+=array[i]+",";
- }
- return res;
- }
- public String getMessage(Map map) {
- String res="map参数:";
- Set entrySet = map.entrySet();
- for(Iterator it = entrySet.iterator();it.hasNext();){
- Object next = it.next();
- res+=next+",";
- }
- return res;
- }
- public String getMessage(Test2 t2) {
- String res="Test2(bean)参数:";
- res+=t2.p1+",";
- res+=t2.p2+",";
- return res;
- }
- public String getMessage(Test3 t2) {
- String res="Test3(bean)参数:";
- res+=t2.p1+",";
- res+=t2.p2+",";
- return res;
- }
- public Test2 getMessage2() {
- Test2 res=new Test2();
- res.p1="11";
- res.p2="22";
- return res;
- }
- public Test3 getMessage3() {
- Test3 res=new Test3();
- res.p1="11";
- res.p2="22";
- return res;
- }
- public List getList()
- {
- List list = new LinkedList();
- list.add("中国");
- list.add(1234);
- return list;
- }
- public Map getMap()
- {
- Map map = new HashMap();
- map.put("bird", "鸟");
- map.put("human", "人类");
- return map;
- }
- }
- package com.test;
- public class Test2{
- public String p1;
- public String p2;
- public String getP1() {
- return p1;
- }
- public void setP1(String p1) {
- this.p1 = p1;
- }
- public String getP2() {
- return p2;
- }
- public void setP2(String p2) {
- this.p2 = p2;
- }
- }
- package com.test;
- public class Test3{
- public String p1;
- public String p2;
- public String p3;
- public String getP1() {
- return p1;
- }
- public void setP1(String p1) {
- this.p1 = p1;
- }
- public String getP2() {
- return p2;
- }
- public void setP2(String p2) {
- this.p2 = p2;
- }
- public String getP3() {
- return p3;
- }
- public void setP3(String p3) {
- this.p3 = p3;
- }
- }
jsp文件:
- <%@ page contentType="text/html;charset=gb2312" %>
- <jsp:useBean id="JSONRPCBridge" scope="session" class="org.jabsorb.JSONRPCBridge" />
- <jsp:useBean id="testJabsorb" scope="session" class="com.test.TestJabsorb" />
- <%
- JSONRPCBridge.registerObject("testJabsorb", testJabsorb);
- %>
- <script type="text/javascript" src="<%= request.getContextPath() %>/scripts/jsonrpc.js"></script>
- <script>
- jsonrpc = new JSONRpcClient("JSON-RPC")
- //字符串参数
- var result = jsonrpc.testJabsorb.getMessage('ray2')
- document.write(result+'<br>')
- //无参数
- var result = jsonrpc.testJabsorb.getMessage()
- document.write(result+'<br>')
- //list参数
- var result = jsonrpc.testJabsorb.getMessage({"javaClass":"java.util.ArrayList",'list':['h1','h2','h3']})
- document.write(result+'<br>')
- //数组参数
- var result = jsonrpc.testJabsorb.getMessage(['h1','h2','h3'])
- document.write(result+'<br>')
- //bean参数
- var result = jsonrpc.testJabsorb.getMessage({'javaClass':"com.test.Test3",p1:11,p2:22,p3:33})
- document.write(result+'<br>')
- //bean参数
- var result = jsonrpc.testJabsorb.getMessage({'javaClass':"com.test.Test2",p1:1,p2:2})
- document.write(result+'<br>')
- //bean返回值
- var res = jsonrpc.testJabsorb.getMessage2()
- printProperty(res)
- //bean返回值
- var res = jsonrpc.testJabsorb.getMessage3()
- printProperty(res)
- //list返回值
- var res = jsonrpc.testJabsorb.getList().list
- printProperty(res)
- //map返回值
- var res = jsonrpc.testJabsorb.getMap().map
- printProperty(res)
- function printProperty(ele){
- for(var p in ele){
- document.write(p+':'+ele[p]+',')
- }
- document.write('<br>')
- }
- //异步调用
- function callback(result,exception){
- if(exception==null){
- //alert(result)
- }
- }
- var result = jsonrpc.testJabsorb.getMessage(callback,'ray2')
- </script>
web.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE web-app
- PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
- "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
- <web-app>
- <servlet>
- <servlet-name>JSONRPCServlet</servlet-name>
- <servlet-class>org.jabsorb.JSONRPCServlet</servlet-class>
- <init-param>
- <param-name>gzip_threshold</param-name>
- <param-value>0</param-value>
- </init-param>
- </servlet>
- <servlet-mapping>
- <servlet-name>JSONRPCServlet</servlet-name>
- <url-pattern>/JSON-RPC</url-pattern>
- </servlet-mapping>
- </web-app>
- jabsorb笔记
- jabsorb
- jabsorb应用的第一个案例
- 用jabsorb(json) for java编写AJAX应用程序
- 用jabsorb(json) for java编写AJAX应用程序
- 用jabsorb(json) for java编写AJAX应用程序
- 用jabsorb(json) for java编写AJAX应用程序
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- Javascript 常用代码
- C# 获得当前的路径
- Javascript+CSS实现Flash动态新闻效果(pp原创)
- (转)eclipse常用快捷方式
- PHP - XML - Modifying Node and Attribute Values
- jabsorb笔记
- 怎样写一个拼写检查器
- Blizzcon今晚开幕 开放《Diablo 3》试玩
- Beginning CSS: Cascading Style Sheets for Web Design
- 三十岁前你大可不要去在乎的18件事
- Using XML with Legacy Business Applications
- Formal Software Development
- java面试提
- PHP - XML - Recursively process an XML document.