はじめてのサーバサイドJava
第1回:Are you ready for Server Java ?
著者:山田 祥寛
サーバサイドJavaはWeb上で動作する技術
サーバサイドJavaについて説明する前に、まずはサーバサイドJavaが動くベースとなるWebについて、簡単に紹介しておくことにしましょう。Webの世界では大きく分けて、「クライアント」と「サーバ」という概念が存在します。クライアントとは多くの場合、Internet ExplorerやFirefox、Operaのような製品に代表されるブラウザのことを指します。Webにおいては、ブラウザ上でインターネット上のコンテンツの位置を指定することで、その位置に格納されているコンテンツを取得してくることができます。
クライアント/サーバサイド技術の違い
ユーザの操作や条件に応じて動的な効果を実現するといった意味では、クライアントサイド技術とサーバサイド技術とはよく似ています。しかしこれら両者の間には、決定的な違いがあります。それは、クライアントサイド技術がデータを維持するための手段を持たないということです。言い換えれば、クライアントサイド技術ではユーザが入力したデータなどをデータベースやファイルシステムなどに保存しておくことができません(クライアント側のデータが勝手に書き換えられたら大変ですから、これは当然です)。
クライアントサイド技術が実現する「動的」とは、あくまであらかじめサイト管理者によって提供されたコンテンツを「手を変え品を変え見せ方を変え」ているにすぎず、コンテンツ(データ)そのものは不変(静的)であるのです。
JDeveloperで学ぶJSF入門
第1回:JSFの特長
著者:WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、小泉守義
監修:山田祥寛
はじめに
JavaアプリケーションがEoDへと向かうなか、Webアプリケーションフレームワークの標準仕様として策定されたのがJSF(Java Server Faces)です。JSFは、Strutsの次を担うWebアプリケーションフレームワークとして注目を浴びています。JSFは、果たしてこれまで指摘されてきたWebアプリケーション開発の問題に一石を投じるものなのでしょうか。
本稿では、2005年10月から無償提供が開始され、話題になっているOracle社のIDE(Integrated Development Environment)ツール「JDeveloper10g」を使ってサンプルを作成しました。本稿で、IDEによるJSFを用いたWebアプリケーション開発の魅力を感じ取っていただければと思います。
JSF登場以前の問題点
これまでStruts、Turbine、Tapestryなど、さまざまなWebアプリケーションフレームワークが登場してきました。しかし、その一方で現在もWebアプリケーション開発は複雑で難しいと言われ続けています。それはなぜでしょうか。Webアプリケーション開発における問題点として次のような点を挙げることができます。
Strutsを利用したWebアプリケーションでは、このActionServletが唯一のServletとなります。ActionServletはコントローラにあたるコンポーネントで、すべてのリクエストはこのActionServletが窓口となって受け付けます。ActionServletの役割は、Webアプリケーションの初期化と、受け取ったリクエストに応じて適切なRequestProcessorに処理を渡すことです。
JSF以前のWebアプリケーションフレームワークは、GUIツールとの親和性が考慮されておらず、設定ファイルの作成やJSPタグの配置などをテキストエディタで行うのが当たり前でした。テキストベースの開発にも利点はありますが、記法を覚えるまでに学習が必要、全体の見通しが良くない、記述ミスを検出するのが難しいなどの欠点もあり、開発の敷居を高くしていました。
徹底攻略Java 2プログラマ問題集 Platform 1.4対応
第1回:クラス定義とアクセス制御
著者:八木裕乃/明壁敦子
監修者:須澤秀人 編者:ソキウス・ジャパン
問題
この記事では、「徹底攻略Java 2プログラマ問題集 Platform 1.4対応」(インプレス刊)の中から各章ごとに問題を抜き出して掲載しています。
- 選択問題は該当する項目のラジオボタンをクリックしてください
- 複数選択の問題は該当する項目すべてにチェックを付けてください
解答を入力して「解答する」ボタンをクリックすると、正解/不正解のメッセージが表示されます。また、詳しい解説については2ページ目に掲載しています。
第1問
配列の宣言方法として正しくないものを選びなさい。(3つ選択)
第2問
配列の宣言方法として正しいものを選びなさい。(2つ選択)
第3問
同じパッケージ内のクラスからアクセスできるようにするための、最も制限的なアクセス修飾子を選びなさい。(1つ選択)