SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Javaで軽快に使える「軽量フレームワーク」特集

Javaで軽快に使える「軽量フレームワーク」特集
~リッチなGUIを構築する「Vaadin」(3)

第12回

  • このエントリーをはてなブックマークに追加

 注目の軽量フレームワークをフットワーク軽く取り上げていく本連載。連載第12回目となる今回は、「Vaadin」の第3回目として、データの扱いを中心に紹介していきます。

  • このエントリーをはてなブックマークに追加

はじめに

 JavaScriptと連携した開発では、クライアントとサーバ間のデータのやり取りもAjaxを使い、ページ遷移することなく行われます。Vaadinではさらに一歩進められ、Javaのアプリケーションの中でやり取りする感覚でデータを扱うことができます。

 もちろん、従来から行われているような「サーブレットにアクセスしてデータを取ってくる」というような方法も可能です。しかしそれよりも、データをモデルとして用意し、オブジェクティブに扱う方法がよりVaadinらしいスタイルと言えるでしょう。

対象読者

  • Javaで手ごろなフレームワークを探している技術者
  • 最近のフレームワークをごくざっと理解しておきたい方
  • Web開発の手法がどうも気に入らない、と常々考えているJavaプログラマ

外部からのデータ取得

 まずは、コンテナへの表示を外部から取得してみましょう。コンテナを多用するようになってくると、そこに表示する内容をどのように取得するかも重要な課題となってきます。特に、多量のデータを取得し表示するような場合、外部から必要な情報を取得して表示する仕組みが必要となります。

 誰もが考えるのは「特定のアドレスにアクセスして必要なデータをテキストとして取得し表示する」という方法でしょう。実は、Vaadinには、そのための専用の便利な機能はありません。ストリームを使って必要な情報を取り出して利用することになります。

 実際に、簡単なサンプルを作ってみましょう。まず、テキストを出力する簡単なサーブレットを用意してみます。ここでは「DataServlet」という名前で次のように作成をしておきます。

package com.example.myvaadin;

import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DataServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    public DataServlet() {
        super();
    }

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response)
			throws ServletException, IOException {
		response.setCharacterEncoding("sjis");
		response.setContentType("text/plain");
		PrintWriter out = response.getWriter();
		out.write("<h2>外部からのデータ</h2><p>これは、外部から取得したテキストです。</p>");
	}
}

 ここでは、doGetでテキストを出力するシンプルな処理を用意してあります。これはweb.xmlで次のように登録します。

<servlet>
	<description></description>
	<display-name>DataServlet</display-name>
	<servlet-name>DataServlet</servlet-name>
	<servlet-class>com.example.myvaadin.DataServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>DataServlet</servlet-name>
	<url-pattern>/data</url-pattern>
</servlet-mapping>

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
サーブレットからテキストを取得しPanelに表示

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Javaで軽快に使える「軽量フレームワーク」特集連載記事一覧

もっと読む

この記事の著者

掌田 津耶乃(ショウダ ツヤノ)

三文ライター&三流プログラマ。主にビギナーに向けたプログラミング関連の執筆を中心に活動している。※現在、入門ドキュメントサイト「libro」、カード型学習サイト「CARD.tuyano.com」を公開...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4943 2010/03/18 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング