![](/fjava/javatips/images/_tips.gif) |
JSPの起動を高速化する
(2005/5/18) |
|
初回実行時の低速化を解消する「jsp_precompile」パラメータを紹介する。「jsp_precompile」パラメータを利用すると、JSPを実行前にコンパイルし、初回呼び出し時の処理を高速化できる |
![](/fjava/javatips/images/_tips.gif) |
式言語から静的メソッドを呼び出す (2005/3/30) |
|
JSP 2.0からは「Functions(関数)」という機能を利用することで、式言語(${〜})からJavaのpublic
staticメソッド(静的メソッド)を呼び出すことが可能だ |
![](/fjava/javatips/images/_tips.gif) |
モバイルにも対応したページを実現するには(2005/3/23) |
|
PCと携帯電話などのモバイル端末の両方に対応した「マルチデバイス対応」のページ作成の方法を紹介しましょう。 |
![](/fjava/javatips/images/_tips.gif) |
モバイルにも対応したページを実現するには(JSTL編)(2005/3/23) |
|
JSTLに含まれるXmlタグライブラリを利用することで、モバイルにも対応したページを実現できます。 |
![](/fjava/javatips/images/_tips.gif) |
既存のPDF文書にコンテンツを追記するには(2005/3/23) |
|
定型的な部分をあらかじめ「テンプレート」として用意しておき、動的なPDFの生成を部分的にとどめる方法が解決方法として考えられます。 |
![](/fjava/javatips/images/_tips.gif) |
クリッカブルなグラフを作成する(2005/2/23) |
|
JFreeChartで生成したグラフにクリッカブル・マップを追加して、グラフの各エリアから個々の詳細ページにリンクできるようにする |
![](/fjava/javatips/images/_tips.gif) |
JSTLを使って日付データを加工する
(2005/2/23) |
|
JSTLのi18nタグライブラリを利用して、日付データを加工する方法を紹介する |
![](/fjava/javatips/images/_tips.gif) |
JSTLを使って数値データを加工する (2005/2/15) |
|
JSTLのi18nタグライブラリを利用して、数値データを加工する方法を紹介する |
![](/fjava/javatips/images/_tips.gif) |
クッキー値の設定をスクリプトレスで実現 (2005/2/15) |
|
Jakarta TagLibsを用いて、クッキーの設定をスクリプトレスで実現する方法を紹介する |
![](/fjava/javatips/images/_tips.gif) |
PDF文書を生成する(PDFLib) (2005/2/8) |
|
PDF文書を生成するJavaのライブラリPDFLibを使ってPDF文書を生成する方法を紹介する。 |
![](/fjava/javatips/images/_tips.gif) |
クッキー値を取得(Jakarta
Taglibs+式言語) (2005/2/8) |
|
ページの値を簡単に取得する方法として、JSP
2.0の式言語とJakarta Taglibsを紹介する。 |
![](/fjava/javatips/images/_tips.gif)
|
多国語対応のサイトを構築する(JSTL編) (2005/2/1) |
|
JSTL(JSP Standard TagLibrary)のi18n(Internationalization)タグライブラリに用意された<fmt:message>タグを利用して、スクリプティング要素を使わずに国際化対応のJSPページを作成する方法を紹介する。 |
![](/fjava/javatips/images/_setup.gif) |
個別のJSPページでJSTL宣言を省略する (2005/2/1) |
|
ページごとに@taglibディレクティブを宣言することなく、JSTLを利用する方法を紹介する。 |
![](/fjava/javatips/images/_tips.gif) |
他サイトのRSSフィードを自サイトで利用する (2005/2/1) |
|
RSS4jを用い、RSSフィードを自サイトで利用する方法を紹介する。 |
![](/fjava/javatips/images/_tips.gif)
|
サーブレットでグラフを描く(JFreeChart活用) (2004/10/19) |
|
JFreeChartを利用すると、グラフの基となるデータセットを引き渡すだけで、棒グラフや円グラフ、バブルチャート、レーダチャート、株価チャートのようなさまざまなチャート図を、簡単に作成することができる。 |
![](/fjava/javatips/images/_tips.gif)
|
JSPページの処理時間を計測する(2004/10/19) |
|
JSPページの処理時間を計測するのに利用できるタグライブラリ「Benchmark」を使ってJSPページの処理時間を計測する方法を紹介。 |
![](/fjava/javatips/images/_tips.gif)
|
サーブレットでRSSフィードを配信する(2004/10/19) |
|
RSS4jを利用することで、複数のバージョンに対応したRSSフィードを簡単に配信することができ、また、開発者がRSSの構文を意識する必要がなくなる。 |
![](/fjava/javatips/images/_tips.gif)
|
Googleタグライブラリを利用する(2004/9/28) |
|
Googleタグライブラリは、Google
APIの機能をほとんどそのままタグライブラリ化したものだ。Googleタグライブラリを利用することで、これまでスクリプトレットなどで記述しなければならなかった検索処理を限りなくプログラムレスで記述できるようになる。本TIPSを読む前に「Googleの検索機能を利用する」「Googleの高度な検索機能を活用する」を参照してほしい。 |
![](/fjava/javatips/images/_tips.gif)
|
Googleの検索機能を利用する(2004/9/14) |
|
Googleが無償で提供するGoogle
APIを介して、Googleの検索データベースに直接にアクセスする方法を紹介する。Google APIを利用することで、Googleのデータベースをあたかも自前のものであるかのようにアクセスすることができ、取得したデータを加工したり、検索結果をより自由な形にレイアウトしたうえで見せることも可能になる。 |
![](/fjava/javatips/images/_tips.gif)
|
Googleの高度な検索機能を利用する(2004/9/14) |
|
Googleには単なるキーワード検索にとどまらず、関連サイト検索やキャッシュ活用など高度な機能が備わっており、これらを利用することでさらに目的のサイトを探しやすくなる。「Googleの検索機能を利用する」のサンプルをベースに、これらの機能を追加する方法を紹介する。 |
![](/fjava/javatips/images/_knowledge.gif) |
拡張パスの利用と注意(2004/8/3) |
|
「拡張パス」情報は、パスの一部であるかのようにパラメータ情報を記述できるという特長があるが、デプロイメント・ディスクリプタ(web.xml)の設定に注意が必要となる。 |
![](/fjava/javatips/images/_tips.gif)
|
サーブレットパスの構成要素を取得する(2004/7/27) |
|
HttpServletRequestクラスのメソッドを利用すれば、クライアントからリクエストされたパス(URL)の情報をさまざま形式で取得することができる。 |
![](/fjava/javatips/images/_knowledge.gif) |
リダイレクトとフォワードの違いを知る(2004/7/6) |
|
「リダイレクト」と「フォワード」は、ユーザーからは同じ動作のように見えるが、内部の挙動はまったく異なるものである。これらの違いを把握して、適切に使い分ける方法を説明する。 |
![](/fjava/javatips/images/_tips.gif)
|
バッチ処理でデータベースアクセスを効率化する(2004/6/22) |
|
いったんSQL命令をを蓄積しておき、まとめて実行することにより、処理前後のオーバヘッドを軽減し、単発的に命令を発行するのに比べ実行効率を向上することができる。 |
![](/fjava/javatips/images/_tips.gif)
|
データベースの内容をCSV形式でダウンロードする(2004/6/15) |
|
データベースベースアクセスの結果を、再利用が難しいHTML出力でなく、CSV形式のファイルとしてダウンロードさせることにより、加工や分析が容易に行えるようになる。 |
![](/fjava/javatips/images/_tips.gif)
|
ストアドプロシージャでDBアクセスを効率化する(2004/6/15) |
|
ストアドプロシージャは、「解析→コンパイル」という処理が不要なうえ、ネットワークによるボトルネックの発生を抑えることができるので、効率的なデータベースアクセスを行うことができる。 |
![](/fjava/javatips/images/_tips.gif)
|
リクエストデータからHTMLタグを取り除く(2004/6/8) |
|
掲示板などで入力されたデータ内にHTMLタグが混在していると、さまざまな攻撃を受ける可能性がある。このHTMLタグを、見栄えを変えずに無害なものに自動的に変換する。 |
![](/fjava/javatips/images/_knowledge.gif) |
Webアプリケーションをwarファイルでまとめる(2004/6/8) |
|
Webアプリケーションのアーカイブフォーマットとしてwarファイルを用いると、コンテナによる自動展開が行われるので、配布の際に便利に利用することができる。 |
![](/fjava/javatips/images/_tips.gif)
|
文字列中のURLに自動的にリンクを設定する(2004/6/1) |
|
J2SE
1.4から導入されたreplaceAllメソッドを利用すれば、掲示板などで書き込まれたURLやメールアドレスに自動的にハイパーリンクを設定できる。 |
![](/fjava/javatips/images/_tips.gif)
|
準備済みSQL命令でデータベースアクセスを効率化する(2004/5/18) |
|
パラメータだけが異なる同一のSQL命令を繰り返し実行する場合、準備済みSQL命令を利用することで処理効率を大幅に向上させることができる。 |
![](/fjava/javatips/images/_tips.gif)
|
Webアプリケーションの仮想パスを絶対パスに変換する(2004/5/11) |
|
JSPのapplication.getRealPathメソッドを利用すれば、仮想パスを絶対パスに変換することができるので、ファイルパスの指定の際に便利に利用することができる。 |
![](/fjava/javatips/images/_knowledge.gif) |
JSP2.0以降でのウェルカムページの設定(2004/4/27) |
|
JSP2.0/サーブレット2.4では、デフォルト・サーブレットの検索順が変更されたため、JSP1.2/サーブレット2.3からアプリケーションを移行させる際には注意が必要となる。 |
![](/fjava/javatips/images/_tips.gif)
|
拡張フォルダのパスを取得する(2004/2/10) |
|
JDKのバージョンの変更などが理由となり拡張フォルダのパスが変わっても、簡単なJavaプログラムを実行することでパスを取得できる。 |
![](/fjava/javatips/images/_tips.gif)
|
ウェルカムページを設定する(2004/2/10) |
|
URLにディレクトリ名が指定された際に、表示するJSPファイルを自動的に検索して表示するのがウェルカムページの機構だ。ウェルカムページの設定はweb.xmlファイルに記述して行う。 |
![](/fjava/javatips/images/_tips.gif)
|
テキストファイルの入出力でさまざまな文字コードを扱う(2003/12/16) |
|
FileReader/FileWriter(BufferedReader/BufferedWriter)クラスを用いたファイルの読み書きでは、システムデフォルトで定義されている文字コードしか扱えない。さまざまな文字コードを扱うには、FileInputStream/InputStreamReaderクラスを使う。 |
![](/fjava/javatips/images/_tips.gif)
|
バイナリファイルの入出力を行う(2003/12/16) |
|
バイナリファイルは「byte型のデータの連なり」だ。テキストファイルの読み書きの場合に文字、あるいは行で行ったのと同様、バイナリファイルを扱うにはbyte値の単位でデータを処理すればよい。 |
![](/fjava/javatips/images/_tips.gif)
|
テキストファイルへの同時書き込みを防ぐ(2003/12/16) |
|
複数のユーザーがテキストファイルの読み書きを行う際には、アプリケーション側で同時書き込みをロックするためのしくみが必要になる。 |
![](/fjava/javatips/images/_tips.gif)
|
文字コード宣言をフィルタで共有化する(2003/12/9) |
|
クエストデータに2バイト文字が含まれている場合に文字エンコーディングの指定が必要だ。しかし、これをファイル毎に行っていては効率が悪い。フィルタを使って文字エンコーディングの指定を複数のファイル間で共有する方法を紹介する。 |
![](/fjava/javatips/images/_tips.gif)
|
サーブレットでテキストファイルから読み込みを行う(2003/12/9) |
|
サーブレットでテキストファイルから読み込みを行う方法を解説する。ここでは、文字列をいったんバッファに保管してから読み込む方法を紹介する。 |
![](/fjava/javatips/images/_tips.gif)
|
サーブレットでテキストファイルに書き込みを行う(2003/12/9) |
|
サーブレットでテキストファイルに書き込みを行う方法を解説する。ここでは、文字列をいったんバッファに保管してから書き込む方法を紹介する。 |
![](/fjava/javatips/images/_trouble.gif) |
リソースファイルの内容が文字化けする場合には(2003/12/2) |
|
リソースファイルに日本語を含めると、サイトは見る影もなく文字化けしてしまう。これは、リソースファイルには2バイト文字は使用できない制限によるものだ。2バイト文字を使う場合は、native2asciiというコマンドでUnicodeにエスケープしておく必要がある。 |
![](/fjava/javatips/images/_knowledge.gif) |
サーブレット2.3における文字エンコーディングの指定(2003/12/2) |
|
リクエストデータに2バイト文字が含まれている場合には、必ず文字エンコーディングの指定を行う必要がある。サーブレット2.3におけるエンコーディングの方法を紹介する。 |
![](/fjava/javatips/images/_knowledge.gif) |
サーブレット2.2における文字エンコーディングの指定(2003/12/2) |
|
リクエストデータに2バイト文字が含まれている場合には、必ず文字エンコーディングの指定を行う必要がある。サーブレット2.2におけるエンコーディングの方法を紹介する。 |
![](/fjava/javatips/images/_tips.gif)
|
ユーザー権限でコンテンツへのアクセスを制限する(2003/11/18) |
|
ユーザーの役割ごとに個々のページに対するアクセスの可否を制御したい場合がある。たとえば帳票の作成は誰でもできるが、帳票の承認はマネージャの権限がなければできないというケースだ。ここでは、ロール単位でページの動作を制御する方法を紹介する。 |
![](/fjava/javatips/images/_tips.gif)
|
フィルタでサイト内のアクセス制限を制御する(2003/11/18) |
|
ユーザー毎のアクセス制限を個々のページ毎に記述するのは大変だ。「フィルタ」を用いるとアクセスログを記録するロジックを個々のページに記述していたのでは非常に効率が悪い。「フィルタ」を用いると、ロジックの記述を一元化できる。 |
![](/fjava/javatips/images/_tips.gif)
|
リソースファイルで多国後対応のサイトを構築する(2003/11/18) |
|
昨今ではサイトを2カ国語以上に対応させるケースも増えてきた。ページ毎に多国語対応の記述を行うのは効率が悪い。この場合はリソースファイルとこれを制御するResouceBundleクラスを利用することで、地域(言語)依存の部分を外部ファイルで一元管理することがきる。 |
![](/fjava/javatips/images/_tips.gif)
|
アクセスログ記録のロジックをフィルタで一元化する(2003/10/28) |
|
アクセスログを記録するロジックを個々のページに記述していたのでは非常に効率が悪い。そこで、「フィルタ」を用いてロジックの記述を一元化する方法がある。フィルタは、このようなサイト共通のロジックを一元化する場合に非常に有効な機能だ。 |
![](/fjava/javatips/images/_tips.gif)
|
アクセス制限をweb.xmlの記述だけで実現する(2003/10/28) |
|
アプリケーションに認証機能を追加したいと思った場合、もちろん、自分で認証機能を実装することも可能だ。しかし、コンテナ(Tomcat)にあらかじめ用意されている機能を利用することで、より簡便に(しかも確実に)認証機能を実現することができる。 |
![](/fjava/javatips/images/_tips.gif)
|
フォーム認証でログイン画面をカスタマイズする(2003/10/28) |
|
「アクセス制限をweb.xmlの記述だけで実現する」で説明した認証機能えは、ログイン画面に会社のロゴを入れたり、認証をナビゲートするメッセージを表示することができない。このような場合、フォーム認証機能を使ってログイン画面をカスタマイズすることができる。 |