2008年10月8日水曜日

JSONICの"Web Service Servlet"を使ってみた

スズキです。

気分的にjQueryと通信するJavaの簡単な環境が欲しくなったので、
前々から試してみたいと思っていた、表記を実験してみました。

まずは、ダウンロードです。(http://jsonic.sourceforge.jp/)
必要なものは"jsonic-1.0.2.jar"のみです。
(今時めずらしく、他の依存JARはありません)

で、web.xmlを下記のように書いて、

-------- web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID"
version="2.5">
  <display-name>suz-example-jsonic</display-name>
  <servlet>
    <servlet-name>jsonic</servlet-name>
    <servlet-class>net.arnx.jsonic.web.WebServiceServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>
      {
        "debug" : true,
        "encoding": "UTF-8",
        "expire" : true,
        "mappings": {
          "/JSON/[class].json": "suz.example.jsonic.service.${class}Service"
        }
      }
      </param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>jsonic</servlet-name>
    <url-pattern>/JSON/*</url-pattern>
  </servlet-mapping>
</web-app>
--------

対応するクラスを下記のように作成して、

-------- suz.example.jsonic.service.MapService
package suz.example.jsonic.service;
import java.util.HashMap;
import java.util.Map;
public class MapService {
  public Map<String, String> find() {
    Map<String, String> map = new HashMap<String, String>();
    map.put("key", "value");
    return map;
  }
}
--------

下記URLにアクセスすると、

--------
http://localhost:8080/suz-example-jsonic/JSON/map.json
--------

下記のような結果(JSON)が取得できます。

-------- map.json
{"key": "value"}
--------

詳しくはドキュメントということで...
(本命の"jQuery plugin: Validation"試す時間がない...)

--
http://suz-lab.blogspot.com/

0 コメント: